pax_global_header00006660000000000000000000000064137574734230014531gustar00rootroot0000000000000052 comment=54b015371c944f23a4c49f30ef914fd658ff0c94 python-fedora-1.1.1/000077500000000000000000000000001375747342300143105ustar00rootroot00000000000000python-fedora-1.1.1/.bzrignore000066400000000000000000000000171375747342300163100ustar00rootroot00000000000000build-doc dist python-fedora-1.1.1/.cico.pipeline000066400000000000000000000000231375747342300170250ustar00rootroot00000000000000fedoraInfraTox { } python-fedora-1.1.1/.gitignore000066400000000000000000000000521375747342300162750ustar00rootroot00000000000000*.pyc *.egg* build locale .tox dist *rst~ python-fedora-1.1.1/.tx/000077500000000000000000000000001375747342300150215ustar00rootroot00000000000000python-fedora-1.1.1/.tx/config000066400000000000000000000002551375747342300162130ustar00rootroot00000000000000[main] host = https://www.transifex.com [python-fedora.python-fedorapot] file_filter = translations/.po source_file = translations/python-fedora.pot source_lang = en python-fedora-1.1.1/AUTHORS000066400000000000000000000013521375747342300153610ustar00rootroot00000000000000The following people are major contributors to the code in this package: * Ionuț Arțăriși * Ralph Bean * Adam M Dutko * Paul W. Frields * Stephen Gallagher * Dmitry Kolesov * Toshio Kuratomi * Luke Macken * Mike Mcgrath * Jef Spaleta * Ignacio Vazquez-Abrams * Ricky Zhou * Ian Weller * Frank Chiulli * Xavier Lamien * Patrick Uiterwijk python-fedora-1.1.1/COPYING000066400000000000000000000431161375747342300153500ustar00rootroot00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 51 Franklin Street, Suite 500, Boston, MA 02110-1335 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 Library 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, Suite 500, Boston, MA 02110-1335, 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 Library General Public License instead of this License. python-fedora-1.1.1/COPYING.LESSER000066400000000000000000000635021375747342300163450ustar00rootroot00000000000000 GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 Copyright (C) 1991, 1999 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. [This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.] Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. When we speak of free software, we are referring to freedom of use, 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 and use pieces of it in new free programs; and that you are informed that you can do these things. To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights. We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run. GNU LESSER GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you". A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) "Source code" for a work means the preferred form of the work for making modifications to it. For a library, 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 library. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. 1. You may copy and distribute verbatim copies of the Library's complete 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 distribute a copy of this License along with the Library. 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 Library or any portion of it, thus forming a work based on the Library, 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) The modified work must itself be a software library. b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, 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 Library, 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 Library. In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. This option is useful when you wish to copy part of the code of the Library into a program that is not a library. 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you 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. If distribution of 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 satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. 6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be 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. It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library 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. 9. 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 Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. 10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library 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 with this License. 11. 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 Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library 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 Library. 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. 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library 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. 13. The Free Software Foundation may publish revised and/or new versions of the Lesser 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 Library 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 Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, 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 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "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 LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. 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 LIBRARY 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 LIBRARY (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 LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), 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 Libraries If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License). To apply these terms, attach the following notices to the library. 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 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; 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. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the library `Frob' (a library for tweaking knobs) written by James Random Hacker. , 1 April 1990 Ty Coon, President of Vice That's all there is to it! python-fedora-1.1.1/MANIFEST.in000066400000000000000000000005251375747342300160500ustar00rootroot00000000000000include setup.py include releaseutils.py include *.spec include COPYING AUTHORS NEWS README.rst recursive-include doc * include fedora/tg/templates/genshi/*.html include fedora/tg2/templates/mako/*.mak include fedora/tg2/templates/genshi/*.html include translations/*.pot include translations/*.po include .tx/config include locale/*/*/*.mo python-fedora-1.1.1/NEWS000066400000000000000000000656431375747342300150250ustar00rootroot00000000000000==== NEWS ==== :Authors: Toshio Kuratomi, Luke Macken, Ricky Elrod, Patrick Uiterwijk, Ralph Bean :Version: 1.1.1 ------ 1.1.1 ------ Bugfixes: * Membership of the "signed_fpca" group was not always requested. * Handle the requested group list being passed as a set (wink wink Pagure). ------ 1.1.0 ------ New features: * Support for the new AAA system, which adds users who have signed agreement "foobar" to the ``signed_foobar`` group. Make use of this to set the ``cla_done`` key. ------ 1.0.0 ------ Backwards incompatible: * Removed fedora.client.bodhi. * Drop support for Django * Drop support for TurboGears1 * Drop support for TurboGears2 * Drop support for flask_fas New features: * OpenIDCBaseClient now supports a client_secret argument * Add support for PUT and DELETE requests to OpenIdBaseClient 'send_request' method. * Make flask_fas_openid compatible with flask >= 1.0 Bugfixes * OpenIdBaseClient The encoding arg of json.loads() is ignored and deprecated ------ 0.10.0 ------ * Seperate init_app in flask_fas_openid * Some py3 compatibility * Harden url() function ----- 0.9.0 ----- * Deprecated fedora.client.bodhi in favor of bodhi.client.bindings. * Added OpenID Connect client * Added file permission checks on openidbaseclient cookies ----- 0.8.0 ----- * Removed python 2.5 compatibility code * Various python 3 fixes * Documentation fixes * OpenID endpoint check * Cookie clearing on login in openidbaseclient * Removed flask_fas backwards compatibility module ----- 0.7.1 ----- * Fix a regression in BodhiClient config parsing introduced in 0.7.0. ----- 0.7.0 ----- * Removed the pkgdb1 client. The server has been gone for over a year now. * Removed the flask_fas server component in favor of flask_fas_openid. * Updated flask_fas_openid to forward along ssh and gpg public key information. * Python3 compat enhancements from Craig Rodrigues and Ville Skyttä. ----- 0.6.4 ----- * Bodhi2Client query: document new _before query params * Also perform request retries for failed POST requests. ----- 0.6.3 ----- * Adjust download URL for pypi. ----- 0.6.2 ----- * Force the Bodhi2 url in the BodhiClient shim (for /usr/bin/bodhi). ----- 0.6.1 ----- * Fix a bug in the BodhiClient where the Bodhi2Client would try to use the old Bodhi1 base url. * Raise an AuthError if no username or password is provided to the openid login function. ----- 0.6.0 ----- * Cache session cookies between use for clients using OpenID. * Retry failed requests for clients using OpenID * Remove Bodhi server version detection code. * Python3 support for the BodhiClient. * Drop support for python-requests-1.x ----- 0.5.6 ----- * Python2.6 fix for string formatting in the BodhiClient. ----- 0.5.5 ----- * Consistent exception handling in the Bodhi2Client. * More adjustments to bodhi server version detection. ----- 0.5.4 ----- * Adjust usage of python-six to be compatible with older versions on rhel7. * More updates to detection of the bodhi server version. ----- 0.5.3 ----- * Better bodhi compatibility with 'fedpkg update'. ----- 0.5.2 ----- * Better version checking against the bodhi server. ----- 0.5.1 ----- * Typofix in the BodhiClient ----- 0.5.0 ----- * Bodhi2 compatibility! * Ensure that the OpenIdBaseClient returns a munch object like the old BaseClient did. * Minor fixes to some python3 compatibility. ----- 0.4.0 ----- * Port most modules to a python2/python3 compatible codebase! Hooray! * Deprecate the wiki client (it will be removed in the next major release). * Switch over to using zanata for translations. ------ 0.3.37 ------ * Make the fedora_session file unhidden * Instead of returning the JSON returned by fedoauth/ipsilon we return the response from the application when we sent to it the data returned by fedoauth/ipsilon. * Update OpenIdProxyClient to allow specifying headers when sending a request * Update bugzilla exception list. ------ 0.3.36 ------ * Fix the OpenId BaseClient NullHandler for logging ------ 0.3.35 ------ * Add Openid BaseClient for talking to our new web services that are using openid to auth. * flask_fas_openid can return the json data from the openid request instead of the html page if requested. * Add a requirement on urllib3 in setup.py so that pip will install it. ------ 0.3.34 ------ * **SECURITY** Fix the jsglobals.html template to escape usernames and human names to fix potential XSS flaw. * **SECURITY** Make flask-fas-openid check that the page it is returning the user to after authentication is from within the application. * Updated libravatar lookups to use the user's openid identifier instead of their email address. ------ 0.3.33 ------ * Minimum version of python is now 2.6. Some things may work on older python but this is not guaranteed. Patches to make it work may or may not be accepted. * Added flask_fas_openid for the migration to OpenID This adds the requirements for python-openid, python-openid-teams and python-openid-cla. * Rename the FAS_HTTPS_REQUIRED config variable in the flask_fas auth adapter to FAS_FLASK_COOKIE_REQUIRES_HTTPS. The longer name is more cumbersome but the previous name was too often mistaken to be setting whether we needed to connect to the fas server with https when it really was about whether the session cookie should require https to be returned to the server (the cookie's secure flag). * Change the groups attribute of the flask_fas and flask_fas_openid auth adapters to be a frozenset instead of a list * Set a configurable timeout on how long a client request will wait for the server to setup a connection in BaseClient and ProxyClient. * Fix instance-wide default retries in BaseClient (and subclasses) being overridden by the default value of retries in BaseClient.send_request() * Fix a performance bug in the client modules when the server returns large json strings. python-requests defaults to trying to detect the charset of response strings. This takes a very long time on large return values. Since we know that all responses from the services we're talking to will be utf-8, we can skip this detection step. * No longer use paver for building. We just need setuptools now * Deprecated AccountSystem's gravatar_url method in favor of a new avatar_url method. This defaults to using the free libravatar service but still allows API users to fall back on the proprietary gravatar service if they prefer. python-pylibravatar must be installed for the default to work. If it isn't found on the user's system, then gravatar.com is made the new default. -------- 0.3.32.3 -------- * Fix BodhiClient's knowledge of koji tags -------- 0.3.32.2 -------- * Stop setting cookie attributes on the cookie we generate client-side as those aren't sent to the server and it provokes bugs in python-requests -------- 0.3.32.1 -------- * Update documentation on fasproxy.FasProxyClient.login() ------ 0.3.32 ------ * Replace pyCurl with python-requests in ProxyClient (ralph). This was in order to fix bugs we were seeing with curl/nss in some contexts. ------ 0.3.31 ------ * Fix a problem getting encodings in the soprovidercsrf tg1 identity provider * Fix for login template issuing a traceback when viewed as a localized page (lmacken) ------ 0.3.30 ------ * Added a lookup_email parameter to fedora.client.AccountSystem.gravatar_url() to allow generating gravaar urls without looking up email addresses in fas. * Fixed a bug in fedora.tg.utils.tg_absolute_url() where it was still appending the csrf_token. * Add an auth adapter for flask web apps to authenticate to FAS * New minimum version of python: requires python-2.5 or higher * Fix localization of login templates (laxathom) --------- 0.3.29 --------- * Added a create_group method to AccountSystem to allow for creating FAS groups. --------- 0.3.28.90 --------- To finish --------- * For the faswho repoze.who plugin, allow TG1-style authentication -- ie: if all of the following are set on any URL, authenticate the user prior to loading the web page:: login=Login&user_name=$FAS_USERNAME&password=$FAS_PASSWORD -------- 0.3.28.1 -------- * Previous fix for curl/apache interaction was incomplete. Apache returns a 417 error even if the request would have completed okay (for our case, even if the request is unauthenticated). Have to apply the workaround unconditionally. ------ 0.3.28 ------ * Fix Django auth provider with Django-1.2.x or less. These versions of Django do not have the API necessary to do httponly cookies so we need to not use httponly if that's the version of Django that we're using. * Fix for a bad curl-apache < 2.2.18 interaction. Apache < 2.2.18 has a bug in processing Expect: 100-continue headers if there's data in the body that the client expects apache to process. Curl is a client that does just that. This workaround clears the Expect: header so that we do not have those issues. ------ 0.3.27 ------ * Fix problem with tg_paginate_limit no longer being available in TG-1.1.x. Use FOO_tg_limit instead in various client libraries. ------ 0.3.26 ------ * Fix the AccountSystem() class's verify_password() method so that verification of server SSL certificates may be disabled by setting insecure=True. * Fixed AccountSystem.people_by_key() to return a list with both people who have signed the CLA and have not * Fix the tg2.utils.url handling with TG-2.0.x * Fix a deprecation warning in fedora.tg.controllers * Fix issue in proxyclient where unicode passwords might be encoded to the wrong byte sequence depending on the locale of the process running it. * Fix jsonfasprovider2's group handling to not traceback when assigning groups if there is no record for a given username. * Fix a traceback in jsonfasprovider2's user_id handling. * Fix comparison of passwords in jsonfasprovider when unicode passwords are used. However, this method is actually not invoked under normal use as the password comparison is done on the server. * Fix faswho plugin to handle unicode passwords and usernames. Note that this is a different bug than affected the TG1 auth provider. * Fix faswho auth plugin to set session cookies as secure and httponly * Set the Django session cookies httponly * Add a genshi login template for TG2 * For faswho repoze.who plugin, remove caching during authentication (as caching does not pick up on logout of a different app invalidating the session and password changes). We could use caching again if retrieving the full information about a user took more time than validating their username and password. * Simplify implementation of the faswho plugin. Should save on per-request memory and cache. * Add AccountSystem.gravatar_url() method that will return a url to a gravatar for a person. -------- 0.3.25.1 -------- * Update bugzilla email mapping ------ 0.3.25 ------ * Modify caching of User data in the tg1 identity provider, jsonfas2provider so that anonymous page requests don't call fas excessively. * Make :func:`fedora.tg.tg2utils.enable_csrf` a public function so that TG2 users can use it without using faswho * Make :func:`fedora.tg.tg2utils.url` work with other repoze.who plugins other than faswho. * Allow using a test fas server with :func:`make_faswho_middleware` * Update faswho metadata to be compatible with the default TG2 identity metadata for portability * Allow recovering authenticated state from lack of csrf_token when using the TG2 csrf protecting middleware * Split the TG1 and TG2 code into two separate directories so packagers can split the dependencies even more * Add login and jsglobals template for TG2-mako * Modify fedora_template for TG2 -- now defaults to mako templates and returns a dotted_lookup string by default. This matches with the templates we have and the default template lookup strategy in TG2. ------ 0.3.24 ------ * Fix tg.tg2utils._enable_csrf so that redirect() appends the CSRF token in TG2. * Fix an example in the documentation * Fix a proxyclient error with new pycurl and cookies * Use transifex.net for translations ------ 0.3.23 ------ * Get BodhiClient.comment() working with older version of bodhi ------ 0.3.22 ------ * Bodhi.comment() adds an email parameter to control whether to send email for a comment * Fix ProxyClient issue when using unicode type for a URL * Fix for AccountSystem.group_members() bug with the Bunch port ------ 0.3.21 ------ * Add support for uploading files in BaseClient and ProxyClient. * Add retry capability to BaseClient and ProxyClient. * Have identity and visit managers retry 3 times. * Fix some errors in the wsgi csrf middleware. * Fix wsgi csrf middleware to work with webob >= 1.0 * Fix how we're using data from FasProxy.group_list() in the django auth provider * New PackageDB() methods, :meth:`~fedora.client.PackageDB.add_comaintainers` and :meth:`~fedora.client.PackageDB.change_owner` Internal Cleanups ================= * Port to kitchen for things that have moved there. * Port from DictContainer to python-bunch * Add code to fallback to the stdlib json library so that simplejson is no longer required ------ 0.3.20 ------ * Fix Django auth provider so it times out when the auth provider is used in a django + djblets app. ------ 0.3.19 ------ * Fix DJango Auth Provider to use a cookie shared with the TG apps * Fix DJango Auth Provider to timeout with the fas session * Optimize group lookup in DJango auth provider for ReviewBoard * Add absolute_url() and tg_absolute_url() functions to tg1utils * Attempt to stop tracebacks in tg.visit code * Don't crash DJango auth if the user is hiding their Real Name. ------ 0.3.18 ------ * Fixes for Django auth provider tracebacks and session not being cleared between users. * Revert the connection pool for ProxyClient. It was part of the reason that Django auth (and the other auth providers although no one noticed) were failing. ------ 0.3.17 ------ * Add a connection pool to ProxyClient. Reusing the curl objects from the pool speeds up requests that go to the same server. * New class FasProxyClient that is used to implement thread-safe communication with the Fedora Account System. Our authentication plugins that talk to FAS have been ported to use this internally. * For all clients, remove tg_format=json from the requests that are sent. The Accept header that we send has been serving this purpose for a long time. * New PackageDB methods - get_collection_list() that returns the list of collections that are registered in the pkgdb. - orphan_packages() that returns the list of packages orphaned in non-EOL releases. - get_critpath_pkgs(): Return the packages marked for the critical path - set_critpath(): Mark pkgs as critical path * In fedora.client.pkgdb, Wherever a collection is asked for, have the API take params named collctn_* for consistency. Using the old names as keyword arguments will yield a deprecation warning. * fedora.client.PackageDB now works with pkgdb server 0.5.x rather than 0.4.x * fedora.client.wiki: add ignore_wikibot and callback kwargs to Wiki.fetch_all_revisions() and minor bug fixes * New functions: - fedora.iterutils.isiterable(): Can tell whether an object is an iterable. Can also exclude strings if desired. - fedora.urlutils.update_qs(): Updates a http query string. - fedora.textutils.to_unicode(): Converts a byte string to unicode string. - fedora.textutils.to_bytes(): Converts a unicode string into a byte string. * Fix fedora.tg.tg1utils.request_format() to return a symbolic name for the data format requested whether using the Accept header or tg_format query parameter. * fedora.tg.tg2utils module added with some of the functions from fedora.tg.tg1utils ported to TG2. * faswho and csrf middleware that allow TG2 apps to authenticate against FAS * Documentation on how to use faswho and CSRF in a TG2 app. * Fix some bugs in the Django auth layer. ------ 0.3.16 ------ * Update paver-minilib.zip to pull in more of paver. Fixes a bug when used with easy_install * Fix a bug in fedora.tg.util.url that was creating more than one _csrf_token entry. ------ 0.3.15 ------ * Relicense to LGPLv2+ * Fix user_gencert URL ------ 0.3.14 ------ * Save the original tg.url() function as fedora.tg.tg_url(). That allows us to change the url to have the base_url without adding the csrf token. * Update fedora.client.AccountSystem for compatibility with the next FAS server update (backwards compatible). * Add fedora.client.PackageDB.user_packages() method that retrieves the packages that a particular user owns. * Add a function for fetching all revisions of the wiki (fetch_all_revisions) * Add a function for seeing if we have the wiki API high limits right (check_api_limits) * Add an identity provider, sqlobjectcsrf, to implement csrf_token protection for applications that use sqlobject for database interaction and don't want to use FAS for auth. -------- 0.3.13.1 -------- * Merge the 0.3.13 and 0.3.12.1 release together. * Bugfix for Django Auth provider and new fas server. ------ 0.3.13 ------ * Add new pkgdb methods: add_package() to add a new package and edit_package() to edit an existing one. add_edit_package() was removed. * More translations. * Change from 401 response code to 403. 401 was causing problems for konqueror and webkit and our usage wasn't http spec compliant. * New fedora.compat25 that has python-2.5 features for older releases. - fedora.compat25.defaultdict a defaultdict implementation for older python releases. -------- 0.3.12.1 -------- * Add people_query method * Rename group_by_id and person_by_id request parameters * Add force_refresh parameter to group_data ------ 0.3.12 ------ * Bugfix to django auth to allow login * Bugfix to jsonfas2 that allows login when using json calls with Cherrypy 2.3+ * Get i18n infrastructure ready and take translations from transifex * Include a setup.py so easy_install works * Update build to work with paver 1.0 and somewhat with 0.8 * Add remove_user() to pkgdb client module. -------- 0.3.11.1 -------- * Fix a bug with django auth and redirects ------ 0.3.11 ------ Re-add the old jsonfasprovider and jsonfasvisit plugins until we get everything ported over to CSRF protection. To use the new providers, change your app.cfg:: -visit.manager="jsonfas" -identity.provider="jsonfas" +visit.manager="jsonfas2" +identity.provider="jsonfas2" ------ 0.3.10 ------ CSRF ==== CSRF is a vulnerability that can allow malicious web sites to execute server methods on behalf of an authenticated user. This update has some methods to help deal with that: * Added helpers for enabling CSRF protection to services. For information on adding support to your app, read doc/CSRF.rst or the html version: https://fedorahosted.org/releases/p/y/python-fedora/doc/CSRF.html * Update client code to use CSRF tokens when needed. Other Feature Changes ===================== * Add Django Authentication provider. * Undeprecate AccountSystem.people_by_id() for now -- we need a fas server update before we can use people_by_key(). * Correct loggers to show messages originate from jsonfasprovider and jsonfasvisit. * Add parameter to client classes to allow not checking server certificates. This is **only** intended for use when running test servers with bad certs. Bugfixes ======== * python-2.4 compatibility fix when an http error is received in ProxyClient * Fix fedora.client.ServerError to print information about the error in the traceback. 0.3.9.1 ------- * Fix to the mediawiki client for python-2.4 compatibility. ----- 0.3.9 ----- * Minor fix for traceback when the session file is unreadable. * Fix so that ProxyClient follows redirects. * Fix a bug where fas2.py::AccountSystem::verify_password() always returns True. * Add task to publish documentation to the website. Publish documentation to the website at: https://fedorahosted.org/releases/p/y/python-fedora/doc/ ----- 0.3.8 ----- * Port the client module to use pycurl instead of urllib2. This prepares the way for SSL authentication and fixes a problem with https proxying. * Fix bug in BodhiClient.testable() * Update proxyclient to accept either 403 or 401 as http status codes raising AuthErrors. * New client.fas2.AccountSystem methods to make fasClient more efficient: - group_data(): returns mapping group names to group type and the userids of the administrator, sponsors, and users of the group. - user_data(): returns mapping of userids to a username, password hash, SSH pub key, email address, and status. * Fix AppError exception on python-2.4 ----- 0.3.7 ----- * Update to bugzilla email addresses. * Add documentation for working with translations. * add username argument for BodhiClient. * Update PackageDB.clone_branch() command for new server method. * Allow exceptions passed back by the server to contain extra information. * New fedora.tg.util.json_or_redirect() decorator that allows server methods to either return a dict per normal or redirect to another URL. ----- 0.3.6 ----- * fedora.client.pkgdb merge with pkgdb-client from Mike Watters and Toshio Kuratomi. * Generate documentation for json and util modules. * Delay import of koji, yum, and iniparse in the bodhi client libraries so they're not strict dependencies for now. ----- 0.3.5 ----- * Fix client.AccountSystem.person_by_username() to not traceback when given an unknown username. * Deprecate cookie auth in favor of session_id auth (but maintain compatibility) * Internally, use session_id instead of cookie. * Change the session file from ~/.fedora_session to ~/.fedora/.fedora_session * Switch from using setuptools to build the package to paver_. * Generate html documentation using sphinx_. * Bodhi update template parsing improvements, thanks to Ricky. .. _paver:: http://www.blueskyonmars.com/projects/paver/ .. _sphix:: http://sphinx.pocoo.org/ ----- 0.3.4 ----- * Fix to proxyclient allow sending sequence types via send_request(). * New fedora.client.fas2.AccountSystem method people_by_groupname() ----- 0.3.3 ----- * Allow json_props in SABase to follow class inheritance. * Remove 0.2 compatibility variable jsonProps. This was broken and everything that was using it has been ported to use json_props instead. * Misc bugfixes with the jsonfas provider. ----- 0.3.2 ----- * Bodhi API parameter 'type' renamed to 'type_' * Added BodhiClient.latest_builds method * New FAS group_members() method to return people's status in a group. * Fixed the default fas.url value in the jsonfas visit manager * Creation of a new FedoraClientError base Exception class * Better i18n support * Added all clients to the base of the fedora.client module * Various other bugfixes ----- 0.3.1 ----- * Fix an unported portion of the jsonfasvisit manager. * Make validation errors set a flash message for both html and json * Create a function to jsonify sets. * Make sure we don't log a user's password. * Bugfixes in the bodhi update template parsing code --- 0.3 --- * New fedora.client.bodhi API * Lots of bugfixes * New fedora.client.ProxyClient class that can be used for writing proxies and lower level clients that talk to Fedora Services. - BaseClient rewritten to run on top of ProxyClient. * Rearranging of many modules. The old names should still work but issue a DeprecationWarning and the new location to import the module from. * Documentation on how to build a Fedora Service that will work well with BaseClient and documentation on building apps with BaseClient. - Note that present Fedora Services (Bodhi, PackageDB, MirrorManager, FAS2) will need to be updated to conform to this spec. Until that happens, not everything (notably, error handling) will work 100% correctly. Incompatibilities ================= * Removal of camelCase. Rename keyword arguments and public instance variables: * client.BaseClient *Note* that changes to this class propagate out to the same variable in derived classes like fas2.AccountSystem and the BaseClient used in JsonFasIdentity. * __init__(): baseURL => base_url * _sessionCookie => _session_cookie: this is a private variable but some users use this anyway. For users needing to access this, there's now a more appropriate class for doing so (ProxyClient). * accounts.fas2.AccountSystem * group_by_id(): groupId => group_id * person_by_id(): personId => person_id * tg.widgets * All widgets had widgetId => widget_id * Also means accessing the variable is done via self.widget_id * tg.json.SABase * self.jsonProps => self.json_props *Note*: jsonProps will still work but is Deprecated. Please update your code as we will be removing jsonProps in 0.4.x. * The input keyword argument to BaseClient.send_request has been deprecated in favor of req_params. *Note*: Using input will still work in 0.3. Please update your code as we will be removing input in 0.4.x. * Restructuring of Exceptions in BaseClient * New base exception is FedoraServiceError if you want to catch that. * Movement of fedora.tg.client to fedora.client * Movement of fedora.accounts.fas2 to fedora.client.fas2 * Rename fedora.client.fas2.AccountSystem.authenticate() to verify_password() ----------- 0.2.99.11.1 ----------- Brown paper bag the previous release. Fix a crasher bug. --------- 0.2.99.11 --------- Hopefully the last in this line of API. * Fix handling of tg_format=json asa query param when the server uses tg.util.request_format() * Add a default jsonify method for SA ResultProxys * Don't traceback if there's a corrupted session file * Set permissions on the session file so only the user can read it. * Add a default BaseURL for fas2.AccountSystem --------- 0.2.99.10 --------- * Minor update that: 1) Adds bugzilla email to the return from people_by_id(). 2) Adds several more users whose bugzilla address don't match their fas email. -------- 0.2.99.9 -------- * This is what 0.2.99.9 was supposed to be. The last release compatible with 0.2.99.7 and less. Unfortunately, some incompatibilities snuck in. Reverting those changes here. -------- 0.2.99.8 -------- * Fix a bug involving bugzilla_email addresses. * Fix a bug where an expired session cookie will cause send_request to complete successfully but report failure. -------- 0.2.99.7 -------- * Fixes to json.py for JSON output with SA-0.4 * Add bugzila_email to output of fas2 methods * Add people_by_id() method to fas2.AccountSystem that returns a dict of people indexed by ID. The people structure contains username, email, and human_name... what we need for most of our lookups. -------- 0.2.99.6 -------- Remove fas1 code. Document how BaseClient interacts with a server Move client code. Change BaseClient to work with Accept headers. -------- 0.2.99.5 -------- fas2.py shim to connect to fas2 via json for certain information. BaseClient bugfixes. -------- 0.2.99.4 -------- Enhancement to jsonfasprovider to provide both user.human_name and user['human_name']. -------- 0.2.99.3 -------- Bugfixes to BaseClient -------- 0.2.99.2 -------- Integrate a first working json fas identity provider and visit manager. -------- 0.2.99.0 -------- This release is the first to offer TG-1.0.4 and SA-0.4 compatibility. When this is considered stable we will release as 0.3. python-fedora-1.1.1/README.rst000066400000000000000000000241361375747342300160050ustar00rootroot00000000000000==================== Python Fedora Module ==================== :Author: Patrick Uiterwijk :Date: 21 April 2016 :Version: 0.8.x The Fedora module provides a python API for building `Fedora Services`_ and clients that connect to them. It has functions and classes that help to build TurboGears_ applications and classes to make building clients of those services much easier. .. _`Fedora Services`: doc/service.html .. _TurboGears: http://www.turbogears.org .. contents:: ------- License ------- This python module is distributed under the terms of the GNU Lesser General Public License Version 2 or later. ------------ Dependencies ------------ ``python-fedora`` requires the ``munch``, ``kitchen``, and ``requests`` python modules. It used to use ``pycurl``, but was updated to use ``requests`` as of version ``0.3.32``. The ``flask_fas_openid`` module requires the ``python-openid`` and ``python-openid-teams`` modules. ---------- Installing ---------- ``python-fedora`` is found in rpm form in Fedora proper. Sometimes a new version will be placed in the Fedora Infrastructure ``yum`` repository for testing within Infrastructure before being released to the general public. Installing from the yum repository should be as easy as:: $ yum install python-fedora If you want to install from a checkout of the development branch, follow these procedures:: $ git clone https://github.com/fedora-infra/python-fedora.git $ cd python-fedora $ ./setup.py install See the configuration notes in each section for information on configuring your application after install. ----------------------- Development Environment ----------------------- 1) Create and Activate a virtual environment:: python3 -m venv .venv source .venv/bin/activate 2) Upgrade pip and install Dependencies:: pip install --upgrade pip pip install -r requirements.txt pip install -r test_requirements.txt 3) Run the unit tests:: tox test --------------------------- Fedora Accounts Integration --------------------------- We provide several modules that make connecting to the `Fedora Account System`_ easier. .. _`Fedora Account System`: https://fedorahosted.org/fas General Purpose API =================== The ``fedora.client.fas2`` module allows code to integrate with the `Fedora Account System`_. It uses the JSON interface provided by the Account System servre to retrieve information about users. Note: This API is not feature complete. If you'd like to help add methods, document the existing methods, or otherwise aid in development of this API please contact us on the infrastructure list: infrastructure@lists.fedoraproject.org or on IRC: lmacken, abadger1999, and ricky in ``#fedora-admin``, ``irc.freenode.net`` Using the general API requires instantiating an ``AccountSystem`` object. You then use methods on the ``AccountSystem`` to get and set information on the people in the account system. At the moment, there are only a few methods implemented. Full documentation on these methods is available from the ``AccountSystem``'s docstrings from the interpreter or, for instance, by running:: $ pydoc fedora.client.fas2.AccountSystem Here's an example of using the ``AccountSystem``:: from fedora.client.fas2 import AccountSystem from fedora.client import AuthError # Get an AccountSystem object. All AccountSystem methods need to be # authenticated so you might as well give username and password here. fas = AccountSystem(username='foo', password='bar') people = fas.people_by_id() TurboGears Interface ==================== The TurboGears_ interface also uses the JSON interface to the account system. It provides a TurboGears_ ``visit`` and ``identity`` plugin so a TurboGears_ application can authorize via FAS. Since the plugin operates over JSON, it is possible to use these plugins on hosts outside of Fedora Infrastructure as well as within. Remember, however, that entering your Fedora password on a third party website requires you to trust that website. So doing things this way is more useful for developers wanting to work on their apps outside of Fedora Infrastructure than a general purpose solution for allowing Fedora Users to access your web app. (SSL client certificates and OpenID are better solutions to this problem but they are still being implemented in the FAS2 server.) Configuring ----------- To configure your TurboGears_ application, you need to set the following variables in your pkgname/config/app.cfg file:: fas.url='https://admin.fedoraproject.org/accounts/' visit.on=True visit.manager="jsonfas" identity.on="True" identity.failure_url="/login" identity.provider="jsonfas" --------------- Fedora Services --------------- ``python-fedora`` provides several helper classes and functions for building a TurboGears_ application that works well with other `Fedora Services`_. the `Fedora Services`_ documentation is the best place to learn more about these. ----------------- TurboGears Client ----------------- There is a module to make writing a client for our TurboGears services very easy. Please see the `client documentation`_ for more details .. _`client documentation`: doc/client.rst ----------------- Building the docs ----------------- You'll need to install python-sphinx for this:: yum install python-sphinx Then run this command:: python setup.py build_sphinx ------------ Translations ------------ The strings in python-fedora has mainly error messages. These are translated so we should make sure that translators are able to translate them when necessary. You will need babel, setuptools, and zanata-client to run these commands:: yum install babel setuptools zanata-client Much information about using zanata for translations can be found in the `zanata user's guide`_. The information in this section is largely from experimenting with the information in the `zanata client documentation`_ .. _`zanata user's guide`: http://zanata.readthedocs.org .. _`zanata client documentation`: http://zanata-client.readthedocs.org/en/latest/ Updating the POT File ===================== When you make changes that change the translatable strings in the package, you should update the POT file. Use the following distutils command (provided by python-babel) to do that:: ./setup.py extract_messages -o translations/python-fedora.pot zanata-cli push Then commit your changes to source control. Updating the PO Files ===================== `fedora.zanata.org `_ will merge the strings inside the pot file with the already translated strings. To merge these, we just need to pull revised versions of the po files:: zanata-cli pull Then commit the changes to source control (look for any brand new PO files that zanata may have created). Creating a new PO File ====================== The easiest way to create a new po file for a new language is in 's web UI. * Visit `this `_ Compiling Message Catalogs ========================== Message catalogs can be compiled for testing and should always be compiled just prior to release. Do this with the following script:: python releaseutils.py build_catalogs Compiled message catalogs should not be committed to source control. Installing Message Catalogs =========================== ``python releaseutils.py install_catalogs`` will install the catalogs. This command may be customized through the use of environment variables. See ``python releaseutils.py --help`` for details. ------- Release ------- 0) Commit all features, hotfixes, etc that you want in the release into the develop branch. 1) Checkout a copy of the repository and setup git flow:: git clone https://github.com/fedora-infra/python-fedora.git cd python-fedora git flow init 2) Create a release branch for all of our work:: git flow release start $VERSION 3) Download new translations and verify they are valid by compiling them:: zanata-cli pull python releaseutils.py build_catalogs # If everything checks out git commit -m 'Merge new translations from fedora.zanata.org' 4) Make sure that the NEWS file is accurate (use ``git log`` if needed). 5) Update python-fedora.spec and fedora/release.py with the new version information.:: # Make edits to python-fedora.spec and release.py git commit 6) Make sure the docs are proper and publish them:: # Build docs and check for errors python setup.py build_sphinx # pypi python setup.py upload_docs 7) Push the release branch to the server:: # Update files git flow release publish $VERSION 8) Go to a temporary directory and checkout a copy of the release:: cd .. git clone https://github.com/fedora-infra/python-fedora.git release cd release git checkout release/$VERSION 9) Create the tarball in this clean checkout:: python setup.py sdist 10) copy the dist/python-fedora-VERSION.tar.gz and python-fedora.spec files to where you build Fedora RPMS. Do a test build:: cp dist/python-fedora-*.tar.gz python-fedora.spec /srv/git/python-fedora/ pushd /srv/git/python-fedora/ fedpkg switch-branch master make mockbuild 11) Make sure the build completes. Run rpmlint on the results. Install and test the new packages:: rpmlint *rpm sudo rpm -Uvh *noarch.rpm [test] 12) When satisfied that the build works, create a fresh tarball and upload to pypi:: popd # Back to the release directory python setup.py sdist upload --sign 13) copy the same tarball to fedorahosted. The directory to upload to is slightly different for fedorahosted admins vs normal fedorahosted users: Admin:: scp dist/python-fedora*tar.gz* fedorahosted.org:/srv/web/releases/p/y/python-fedora/ Normal contributor:: scp dist/python-fedora*tar.gz* fedorahosted.org:python-fedora 14) mark the release as finished in git:: cd ../python-fedora git flow release finish $VERSION git push --all git push --tags 15) Finish building and pushing packages for Fedora. python-fedora-1.1.1/doc/000077500000000000000000000000001375747342300150555ustar00rootroot00000000000000python-fedora-1.1.1/doc/api.rst000066400000000000000000000026561375747342300163710ustar00rootroot00000000000000================= API Documentation ================= This API Documentation is currently a catch-all. We're going to merge the API docs into the hand created docs as we have time to integrate them. .. toctree:: :maxdepth: 2 ------ Client ------ .. automodule:: fedora.client :members: FedoraServiceError, ServerError, AuthError, AppError, FedoraClientError, FASError, CLAError, BodhiClientException, DictContainer Generic Clients =============== BaseClient ---------- .. autoclass:: fedora.client.BaseClient :members: :undoc-members: ProxyClient ----------- .. autoclass:: fedora.client.ProxyClient :members: :undoc-members: OpenIdBaseClient ---------------- .. autoclass:: fedora.client.OpenIdBaseClient :members: :undoc-members: .. autofunction:: fedora.client.openidbaseclient.requires_login OpenIdProxyClient ----------------- .. autoclass:: fedora.client.OpenIdProxyClient :members: :undoc-members: Clients for Specific Services ============================= Wiki ---- .. autoclass:: fedora.client.Wiki :members: :undoc-members: ------- Service ------- Transforming SQLAlchemy Objects into JSON ========================================= .. automodule:: fedora.tg.json :members: jsonify_sa_select_results, jsonify_salist, jsonify_saresult, jsonify_set :undoc-members: .. autoclass:: fedora.tg.json.SABase :members: __json__ :undoc-members: python-fedora-1.1.1/doc/auth.rst000066400000000000000000000076051375747342300165600ustar00rootroot00000000000000===================== Authentication to FAS ===================== The :ref:`Fedora-Account-System` has a :term:`JSON` interface that we make use of to authenticate users in our web apps. Currently, there are two modes of operation. Some web apps have :term:`single sign-on` capability with :ref:`FAS`. These are the :term:`TurboGears` applications that use the :mod:`~fedora.tg.identity.jsonfasprovider`. Other apps do not have :term:`single sign-on` but they do connect to :ref:`FAS` to verify the username and password so changing the password in :ref:`FAS` changes it everywhere. .. _jsonfas2: TurboGears Identity Provider 2 ============================== An identity provider with :term:`CSRF` protection. This will install as a TurboGears identity plugin. To use it, set the following in your :file:`APPNAME/config/app.cfg` file:: identity.provider='jsonfas2' visit.manager='jsonfas2' .. seealso:: :ref:`CSRF-Protection` .. automodule:: fedora.tg.identity.jsonfasprovider2 :members: JsonFasIdentity, JsonFasIdentityProvider :undoc-members: .. automodule:: fedora.tg.visit.jsonfasvisit2 :members: JsonFasVisitManager :undoc-members: .. _jsonfas1: Turbogears Identity Provider 1 ============================== These methods are **deprecated** because they do not provide the :term:`CSRF` protection of :ref:`jsonfas2`. Please use that identity provider instead. .. automodule:: fedora.tg.identity.jsonfasprovider1 :members: JsonFasIdentity, JsonFasIdentityProvider :undoc-members: :deprecated: .. automodule:: fedora.tg.visit.jsonfasvisit1 :members: JsonFasVisitManager :undoc-members: :deprecated: .. _djangoauth: Django Authentication Backend ============================= .. toctree:: :maxdepth: 2 django .. _flask_fas: Flask Auth Plugin ================= .. toctree:: :maxdepth: 2 flask_fas .. _flaskopenid: Flask FAS OpenId Auth Plugin ============================ The flask_openid provider is an alternative to the flask_fas auth plugin. It leverages our FAS-OpenID server to do authn and authz (group memberships). Note that not every feature is available with a generic OpenID provider -- the plugin depends on the OpenID provider having certain extensions in order to provide more than basic OpenID auth. * Any compliant OpenID server should allow you to use the basic authn features of OpenID OpenID authentication core: http://openid.net/specs/openid-authentication-2_0.html * Retrieving simple information about the user such as username, human name, email is done with sreg: http://openid.net/specs/openid-simple-registration-extension-1_0.html which is an extension supported by many providers. * Advanced security features such as requiring a user to re-login to the OpenID provider or specifying that the user login with a hardware token requires the PAPE extension: http://openid.net/specs/openid-provider-authentication-policy-extension-1_0.html * To get groups information, the provider must implement the https://dev.launchpad.net/OpenIDTeams extension. * We have extended the teams extension so you can request a team name of ``_FAS_ALL_GROUPS_`` to retrieve all the groups that a user belongs to. Without this addition to the teams extension you will need to manually configure which groups you are interested in knowing about. See the documentation for how to do so. * Retrieving information about whether a user has signed a CLA (For Fedora, this is the Fedora Project Contributor Agreement). http://fedoraproject.org/specs/open_id/cla If the provider you use does not support one of these extensions, the plugin should still work but naturally, it will return empty values for the information that the extension would have provided. .. toctree:: :maxdepth: 2 flask_fas_openid .. _faswho: FAS Who Plugin for TurboGears2 ============================== .. toctree:: :maxdepth: 2 faswho python-fedora-1.1.1/doc/client.rst000066400000000000000000000313621375747342300170720ustar00rootroot00000000000000============= Fedora Client ============= :Authors: Toshio Kuratomi Luke Macken :Date: 28 May 2008 :For Version: 0.3.x The client module allows you to easily code an application that talks to a `Fedora Service`_. It handles the details of decoding the data sent from the Service into a python data structure and raises an Exception_ if an error is encountered. .. _`Fedora Service`: service.html .. _Exception: Exceptions_ .. toctree:: ---------- BaseClient ---------- The :class:`~fedora.client.BaseClient` class is the basis of all your interactions with the server. It is flexible enough to be used as is for talking with a service but is really meant to be subclassed and have methods written for it that do the things you specifically need to interact with the `Fedora Service`_ you care about. Authors of a `Fedora Service`_ are encouraged to provide their own subclasses of :class:`~fedora.client.BaseClient` that make it easier for other people to use a particular Service out of the box. Using Standalone ================ If you don't want to subclass, you can use :class:`~fedora.client.BaseClient` as a utility class to talk to any `Fedora Service`_. There's three steps to this. First you import the :class:`~fedora.client.BaseClient` and Exceptions_ from the ``fedora.client`` module. Then you create a new :class:`~fedora.client.BaseClient` with the URL that points to the root of the `Fedora Service`_ you're interacting with. Finally, you retrieve data from a method on the server. Here's some code that illustrates the process:: from fedora.client import BaseClient, AppError, ServerError client = BaseClient('https://admin.fedoraproject.org/pkgdb') try: collectionData = client.send_request('/collections', auth=False) except ServerError as e: print('%s' % e) except AppError as e: print('%s: %s' % (e.name, e.message)) for collection in collectionData['collections']: print('%s %s' % (collection['name'], collection['version']) BaseClient Constructor ~~~~~~~~~~~~~~~~~~~~~~ In our example we only provide ``BaseClient()`` with the URL fragment it uses as the base of all requests. There are several more optional parameters that can be helpful. If you need to make an authenticated request you can specify the username and password to use when you construct your :class:`~fedora.client.BaseClient` using the ``username`` and ``password`` keyword arguments. If you do not use these, authenticated requests will try to connect via a cookie that was saved from previous runs of :class:`~fedora.client.BaseClient`. If that fails as well, :class:`~fedora.client.BaseClient` will throw an Exception_ which you can catch in order to prompt for a new username and password:: from fedora.client import BaseClient, AuthError import getpass MAX_RETRIES = 5 client = BaseClient('https://admin.fedoraproject.org/pkgdb', username='foo', password='bar') # Note this is simplistic. It only prompts once for another password. # Your application may want to loop through this several times. while (count < MAX_RETRIES): try: collectionData = client.send_request('/collections', auth=True) except AuthError as e: client.password = getpass.getpass('Retype password for %s: ' % username) else: # data retrieved or we had an error unrelated to username/password break count = count + 1 .. warning:: Note that although you can set the ``username`` and ``password`` as shown above you do have to be careful in cases where your application is multithreaded or simply processes requests for more than one user with the same :class:`~fedora.client.BaseClient`. In those cases, you can accidentally overwrite the ``username`` and ``password`` between two requests. To avoid this, make sure you instantiate a separate :class:`~fedora.client.BaseClient` for every thread of control or for every request you handle or use :class:`~fedora.client.ProxyClient` instead. The ``useragent`` parameter is useful for identifying in log files that your script is calling the server rather than another. The default value is ``Fedora BaseClient/VERSION`` where VERSION is the version of the :class:`~fedora.client.BaseClient` module. If you want to override this just give another string to this:: client = BaseClient('https://admin.fedoraproject.org/pkgdb', useragent='Package Database Client/1.0') The ``debug`` parameter turns on a little extra output when running the program. Set it to true if you're having trouble and want to figure out what is happening inside of the :class:`~fedora.client.BaseClient` code. send_request() ~~~~~~~~~~~~~~ ``send_request()`` is what does the heavy lifting of making a request of the server, receiving the reply, and turning that into a python dictionary. The usage is pretty straightforward. The first argument to ``send_request()`` is ``method``. It contains the name of the method on the server. It also has any of the positional parameters that the method expects (extra path information interpreted by the server for those building non-`TurboGears`_ applications). The ``auth`` keyword argument is a boolean. If True, the session cookie for the user is sent to the server. If this fails, the ``username`` and ``password`` are sent. If that fails, an Exception_ is raised that you can handle in your code. ``req_params`` contains a dictionary of additional keyword arguments for the server method. These would be the names and values returned via a form if it was a CGI. Note that parameters passed as extra path information should be added to the ``method`` argument instead. An example:: import BaseClient client = BaseClient('https://admin.fedoraproject.org/pkgdb/') client.send_request('/package/name/python-fedora', auth=False, req_params={'collectionVersion': '9', 'collectionName': 'Fedora'}) In this particular example, knowing how the server works, ``/packages/name/`` defines the method that the server is going to invoke. ``python-fedora`` is a positional parameter for the name of the package we're looking up. ``auth=False`` means that we'll try to look at this method without having to authenticate. The ``req_params`` sends two additional keyword arguments: ``collectionName`` which specifies whether to filter on a single distro or include Fedora, Fedora EPEL, Fedora OLPC, and Red Hat Linux in the output and ``collectionVersion`` which specifies which version of the distribution to output for. The URL constructed by :class:`~fedora.client.BaseClient` to the server could be expressed as[#]_:: https://admin.fedoraproject.org/pkgdb/package/name/python-fedora/?collectionName=Fedora&collectionVersion=9 In previous releases of python-fedora, there would be one further query parameter: ``tg_format=json``. That parameter instructed the server to return the information as JSON data instead of HTML. Although this is usually still supported in the server, :class:`~fedora.client.BaseClient` has deprecated this method. Servers should be configured to use an ``Accept`` header to get this information instead. See the `JSON output`_ section of the `Fedora Service`_ documentation for more information about the server side. .. _`TurboGears`: http://www.turbogears.org/ .. _`JSON output`: service.html#selecting-json-output .. _[#]: Note that the ``req_params`` are actually sent via ``POST`` request rather than ``GET``. Among other things, this means that values in ``req_params`` won't show up in apache logs. Subclassing =========== Building a client using subclassing builds on the information you've already seen inside of :class:`~fedora.client.BaseClient`. You might want to use this if you want to provide a module for third parties to access a particular `Fedora Service`_. A subclass can provide a set of standard methods for calling the server instead of forcing the user to remember the URLs used to access the server directly. Here's an example that turns the previous calls into the basis of a python API to the `Fedora Package Database`_:: import getpass import sys from fedora.client import BaseClient, AuthError class MyClient(BaseClient): def __init__(self, baseURL='https://admin.fedoraproject.org/pkgdb', username=None, password=None, useragent='Package Database Client/1.0', debug=None): super(BaseClient, self).__init__(baseURL, username, password, useragent, debug) def collection_list(self): '''Return a list of collections.''' return client.send_request('/collection') def package_owners(self, package, collectionName=None, collectionVersion=None): '''Return a mapping of release to owner for this package.''' pkgData = client.send_request('/packages/name/%s' % (package), {'collectionName': collectionName, 'collectionVersion': collectionVersion}) ownerMap = {} for listing in pkgData['packageListings']: ownerMap['-'.join(listing['collection']['name'], listing['collection']['version'])] = \ listing['owneruser'] return ownerMap A few things to note: 1) In our constructor we list a default ``baseURL`` and ``useragent``. This is usually a good idea as we know the URL of the `Fedora Service`_ we're connecting to and we want to know that people are using our specific API. 2) Sometimes we'll want methods that are thin shells around the server methods like ``collection_list()``. Other times we'll want to do more post processing to get specific results as ``package_owners()`` does. Both types of methods are valid if they fit the needs of your API. If you find yourself writing more of the latter, though, you may want to consider getting a new method implemented in the server that can return results more appropriate to your needs as it could save processing on the server and bandwidth downloading the data to get information that more closely matches what you need. See ``pydoc fedora.client.fas2`` for a module that implements a standard client API for the `Fedora Account System`_ .. _`Fedora Package Database`: https://fedorahosted.org/packagedb .. _`Fedora Account System`: https://fedorahosted.org/fas/ --------------- Handling Errors --------------- :class:`~fedora.client.BaseClient` will throw a variety of errors that can be caught to tell you what kind of error was generated. Exceptions ========== :``FedoraServiceError``: The base of all exceptions raised by :class:`~fedora.client.BaseClient`. If your code needs to catch any of the listed errors then you can catch that to do so. :``ServerError``: Raised if there's a problem communicating with the service. For instance, if we receive an HTML response instead of JSON. :``AuthError``: If something happens during authentication, like an invalid usernsme or password, ``AuthError`` will be raised. You can catch this to prompt the user for a new usernsme. :``AppError``: If there is a `server side error`_ when processing a request, the `Fedora Service`_ can alert the client of this by setting certain flags in the response. :class:`~fedora.client.BaseClient` will see these flags and raise an AppError. The name of the error will be stored in AppError's ``name`` field. The error's message will be stored in ``message``. .. _`server side error`: service.html#Error Handling Example ======= Here's an example of the exceptions in action:: from fedora.client import ServerError, AuthError, AppError, BaseClient import getpass MAXRETRIES = 5 client = BaseClient('https://admin.fedoraproject.org/pkgdb') for retry in range(0, MAXRETRIES): try: collectionData = client.send_request('/collections', auth=True) except AuthError as e: from six.moves import input client.username = input('Username: ').strip() client.password = getpass.getpass('Password: ') continue except ServerError as e: print('Error talking to the server: %s' % e) break except AppError as e: print('The server issued the following exception: %s: %s' % ( e.name, e.message)) for collection in collectionData['collections']: print('%s %s' % (collection[0]['name'], collection[0]['version'])) ---------------- OpenIdBaseClient ---------------- Applications that use OpenId to authenticate are not able to use the standard BaseClient because the pattern of authenticating is very different. We've written a separate client object called :class:`~fedora.client.OpenIdBaseClient` to do this. python-fedora-1.1.1/doc/conf.py000066400000000000000000000122561375747342300163620ustar00rootroot00000000000000# -*- coding: utf-8 -*- # # Python Fedora Module documentation build configuration file, created by # sphinx-quickstart on Mon Jun 9 08:12:44 2008. # # This file is execfile()d with the current directory set to its containing # dir. # The contents of this file are pickled, so don't put values in the namespace # that aren't pickleable (module imports are okay, they're removed # automatically). # # All configuration values have a default value; values that are commented out # serve to show the default value. import sys import os sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..')) import fedora.release # If your extensions are in another directory, add it here. #sys.path.append(os.path.dirname(__file__)) # General configuration # --------------------- # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones. extensions = ['sphinx.ext.autodoc', 'sphinx.ext.doctest'] # Add any paths that contain templates here, relative to this directory. templates_path = ['templates'] # The suffix of source filenames. source_suffix = '.rst' # The master toctree document. master_doc = 'index' # General substitutions. project = fedora.release.NAME copyright = fedora.release.COPYRIGHT # The default replacements for |version| and |release|, also used in various # other places throughout the built documents. # # The short X.Y version. version = '0.3' # The full version, including alpha/beta/rc tags. release = fedora.release.VERSION # There are two options for replacing |today|: either, you set today to some # non-false value, then it is used: #today = '' # Else, today_fmt is used as the format for a strftime call. today_fmt = '%B %d, %Y' # List of documents that shouldn't be included in the build. #unused_docs = [] # List of directories, relative to source directories, that shouldn't be # searched for source files. #exclude_dirs = [] # If true, '()' will be appended to :func: etc. cross-reference text. add_function_parentheses = True # If true, the current module name will be prepended to all description # unit titles (such as .. function::). #add_module_names = True # If true, sectionauthor and moduleauthor directives will be shown in the # output. They are ignored by default. show_authors = True # The name of the Pygments (syntax highlighting) style to use. pygments_style = 'sphinx' # Options for HTML output # ----------------------- # The style sheet to use for HTML and HTML Help pages. A file of that name # must exist either in Sphinx' static/ path, or in one of the custom paths # given in html_static_path. html_style = 'default.css' # The name for this set of Sphinx documents. If None, it defaults to # " v documentation". #html_title = None # The name of an image file (within the static path) to place at the top of # the sidebar. #html_logo = None # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ['static'] # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # using the given strftime format. html_last_updated_fmt = '%b %d, %Y' # If true, SmartyPants will be used to convert quotes and dashes to # typographically correct entities. #html_use_smartypants = True # Content template for the index page. html_index = 'index.html' # Custom sidebar templates, maps page names to templates. #html_sidebars = {'index': 'indexsidebar.html'} # Additional templates that should be rendered to pages, maps page names to # templates. #html_additional_pages = {'index': 'index.html'} # If false, no module index is generated. #html_use_modindex = True # If true, the reST sources are included in the HTML build as _sources/. #html_copy_source = True # If true, an OpenSearch description file will be output, and all pages will # contain a tag referring to it. The value of this option must be the # base URL from which the finished HTML is served. html_use_opensearch = fedora.release.DOWNLOAD_URL + 'doc/' # Output file base name for HTML help builder. htmlhelp_basename = 'Sphinxdoc' # Options for LaTeX output # ------------------------ # The paper size ('letter' or 'a4'). #latex_paper_size = 'letter' # The font size ('10pt', '11pt' or '12pt'). #latex_font_size = '10pt' # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, author, document class # [howto/manual]). latex_documents = [ ( 'index', 'Python Fedora Module.tex', 'Python Fedora Module Documentation', 'Toshio Kuratomi', 'manual' ), ] # The name of an image file (relative to this directory) to place at the top of # the title page. #latex_logo = None # For "manual" documents, if this is true, then toplevel headings are parts, # not chapters. #latex_use_parts = False # Additional stuff for the LaTeX preamble. #latex_preamble = '' # Documents to append as an appendix to all manuals. #latex_appendices = [] # If false, no module index is generated. #latex_use_modindex = True automodule_skip_lines = 4 python-fedora-1.1.1/doc/existing.rst000066400000000000000000000035641375747342300174510ustar00rootroot00000000000000================= Existing Services ================= There are many Services in Fedora. Many of these have an interface that we can query and get back information as :term:`JSON` data. There is documentation here about both the services and the client modules that can access them. .. _`Fedora-Account-System`: .. _`FAS`: --------------------- Fedora Account System --------------------- FAS is the Fedora Account System. It holds the account data for all of our contributors. .. toctree:: :maxdepth: 2 .. autoclass:: fedora.client.AccountSystem :members: :undoc-members: Threadsafe Account System Access ================================ It is not safe to use a single instance of the :class:`~fedora.client.AccountSystem` object in multiple threads. This is because instance variables are used to hold some connection-specific information (for instance, the user who is logging in). For this reason, we also provide the :class:`fedora.client.FasProxyClient` object. This is especially handy when writing authn and authz adaptors that talk to fas from a multithreaded webserver. .. toctree:: :maxdepth: 2 .. autoclass:: fedora.client.FasProxyClient :members: :undoc-members: .. _`Bodhi`: ------------------------ Bodhi, the Update Server ------------------------ Bodhi is used to push updates from the build system to the download repositories. It lets packagers send packages to the testing repository or to the update repository. pythyon-fedora currently supports both the old Bodhi1 interface and the new Bodhi2 interface. By using ``fedora.client.BodhiCLient``, the correct one should be returned to you depending on what is running live on Fedora Infrastructure servers. .. toctree:: :maxdepth: 2 .. autoclass:: fedora.client.Bodhi2Client :members: :undoc-members: .. autoclass:: fedora.client.Bodhi1Client :members: :undoc-members: python-fedora-1.1.1/doc/faswho.rst000066400000000000000000000040661375747342300171040ustar00rootroot00000000000000============= FASWho Plugin ============= :Authors: Luke Macken Toshio Kuratomi :Date: 3 September 2011 This plugin provides authentication to the Fedora Account System using the `repoze.who` WSGI middleware. It is designed for use with :term:`TurboGears2` but it may be used with any `repoze.who` using application. Like :ref:`jsonfas2`, faswho has builtin :term:`CSRF` protection. This protection is implemented as a second piece of middleware and may be used with other `repoze.who` authentication schemes. ------------------------------------------- Authenticating against FAS with TurboGears2 ------------------------------------------- Setting up authentication against FAS in :term:`TurboGears2` is very easy. It requires one change to be made to :file:`app/config/app_cfg.py`. This change will take care of registering faswho as the authentication provider, enabling :term:`CSRF` protection, switching :func:`tg.url` to use :func:`fedora.ta2g.utils.url` instead, and allowing the `_csrf_token` parameter to be given to any URL. .. autofunction:: fedora.tg2.utils.add_fas_auth_middleware .. autofunction:: fedora.wsgi.faswho.faswhoplugin.make_faswho_middleware --------------------------------------------- Using CSRF middleware with other Auth Methods --------------------------------------------- This section needs to be made clearer so that apps like mirrormanager can be ported to use this. .. automodule:: fedora.wsgi.csrf .. autoclass:: fedora.wsgi.csrf.CSRFProtectionMiddleware .. autoclass:: fedora.wsgi.csrf.CSRFMetadataProvider --------- Templates --------- The :mod:`fedora.tg2.utils` module contains some templates to help you write :term:`CSRF` aware login forms and buttons. You can use the :func:`~fedora.tg2.utils.fedora_template` function to integrate them into your templates: .. autofunction:: fedora.tg2.utils.fedora_template The templates themselves come in two flavors. One set for use with mako and one set for use with genshi. Mako ==== .. automodule:: fedora.tg2.templates.mako Genshi ====== .. automodule:: fedora.tg2.templates.genshi python-fedora-1.1.1/doc/flask_fas_openid.rst000066400000000000000000000153211375747342300211000ustar00rootroot00000000000000============================ FAS Flask OpenID Auth Plugin ============================ :Authors: Patrick Uiterwjk :Date: 18 February 2013 :For Version: 0.3.x The :ref:`Fedora-Account-System` has a :term:`OpenID` provider that applications can use to authenticate users in web apps. For our :term:`Flask` applications we have an identity provider that uses this OpenID service to authenticate users. It is almost completely compatible with :ref:`flask_fas` except that it does not use the username/password provided by the client application (it is silently ignored). It can be configured to use any OpenID authentication service that implements the OpenID Teams Extension, Simple Registration Extension and CLA Extension. ------------- Configuration ------------- The FAS OpenID auth plugin has several config values that can be used to control how the auth plugin functions. You can set these in your application's config file. FAS_OPENID_ENDPOINT Set this to the OpenID endpoint url you are authenticating against. Default is "http://id.fedoraproject.org/" FAS_CHECK_CERT When set, this will check the SSL Certificate for the FAS server to make sure that it is who it claims to be. This is useful to set to False when testing against a local FAS server but should always be set to True in production. Default: True ------------------ Sample Application ------------------ The following is a sample, minimal flask application that uses fas_flask for authentication:: #!/usr/bin/python -tt # Flask-FAS-OpenID - A Flask extension for authorizing users with OpenID # Primary maintainer: Patrick Uiterwijk # # Copyright (c) 2012-2013, Red Hat, Inc., Patrick Uiterwijk # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: # # * Redistributions of source code must retain the above copyright notice, this # list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above copyright notice, # this list of conditions and the following disclaimer in the documentation # and/or other materials provided with the distribution. # * Neither the name of the Red Hat, Inc. nor the names of its contributors may # be used to endorse or promote products derived from this software without # specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ''AS IS'' AND ANY # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # This is a sample application. import flask from flask_fas_openid import fas_login_required, cla_plus_one_required, FAS # Set up Flask application app = flask.Flask(__name__) # Set up FAS extension fas = FAS(app) # Application configuration # SECRET_KEY is necessary for the Flask session system. It needs to be secret to # make the sessions secret but if you have multiple servers behind # a load balancer, the key needs to be the same on each. app.config['SECRET_KEY'] = 'change me!' # Other configuration options for Flask-FAS-OpenID: # FAS_OPENID_ENDPOINT: the OpenID endpoint URL # (default http://id.fedoraproject.org/) # FAS_CHECK_CERT: check the SSL certificate of FAS (default True) # You should use these options' defaults for production applications! app.config['FAS_OPENID_ENDPOINT'] = 'http://id.fedoraproject.org/' app.config['FAS_CHECK_CERT'] = True # Inline templates keep this test application all in one file. Don't do this in # a real application. Please. TEMPLATE_START = """

Flask-FAS-OpenID test app

{% if g.fas_user %}

Hello, {{ g.fas_user.username }} — Log out {% else %}

You are not logged in — Log in {% endif %} — Main page

""" @app.route('/') def index(): data = TEMPLATE_START data += '

Check if you are cla+1

' % \ flask.url_for('claplusone') data += '

See a secret message (requires login)

' % \ flask.url_for('secret') return flask.render_template_string(data) @app.route('/login', methods=['GET', 'POST']) def auth_login(): # Your application should probably do some checking to make sure the URL # given in the next request argument is sane. (For example, having next set # to the login page will cause a redirect loop.) Some more information: # http://flask.pocoo.org/snippets/62/ if 'next' in flask.request.args: next_url = flask.request.args['next'] else: next_url = flask.url_for('index') # If user is already logged in, return them to where they were last if flask.g.fas_user: return flask.redirect(next_url) return fas.login(return_url=next_url) @app.route('/logout') def logout(): if flask.g.fas_user: fas.logout() return flask.redirect(flask.url_for('index')) # This demonstrates the use of the fas_login_required decorator. The # secret message can only be viewed by those who are logged in. @app.route('/secret') @fas_login_required def secret(): data = TEMPLATE_START + '

Be sure to drink your Ovaltine

' return flask.render_template_string(data) # This demonstrates checking for group membership inside of a function. # The flask_fas adapter also provides a cla_plus_one_required decorator that # can restrict a url so that you can only access it from an account that has # cla +1. @app.route('/claplusone') @cla_plus_one_required def claplusone(): data = TEMPLATE_START data += '

Your account is cla+1.

' return flask.render_template_string(data) if __name__ == '__main__': app.run(debug=True) python-fedora-1.1.1/doc/glossary.rst000066400000000000000000000107511375747342300174560ustar00rootroot00000000000000.. _glossary: ======== Glossary ======== .. glossary:: controller In MVC design, the controller is in charge of things. It takes processes events and decides what data to ask the :term:`model` for, manipulates the data according to the information in the event, and decides which :term:`view` to send the results to to be rendered. CSRF `Cross-site request forgery `_ is a technique where a malicious website can gain access to another web site by hijaacking a currently open session that the user has open to the site. This technique can also affect identification via SSL Certificates or anything else that the browser sends to the server automatically when a request is made. .. seealso:: :ref:`CSRF-Protection` Dojo Dojo is a JavaScript toolkit that aims to be a standard library for JavaScript. It provides a small core library with useful functions and an expanded set of scripts that can be added that provide widgets and other features. .. seealso:: http://www.dojotoolkit.org double submit A strategy to foil :term:`CSRF` attacks. This strategy involves sending the value of the authentication cookie (or something derivable only from knowing the value of the authentication cookie) in the body of the request. Since the :term:`Same Origin Policy` prevents a web site other than the one originating the cookie from reading what's in the cookie, the server can be reasonably assured that the request does not originate from an unknown request on another website. Note that this and other anti-CSRF measures do not protect against spoofing or getting a user to actively click on a link on an attacked website by mistake. flask A simple Python web framework that we're using in parts of Fedora Infrastructure. It provides good documentation and simplicity in its design. .. seealso:: http://flask.pocoo.org/docs/ JSON `JavaScript Object Notation `_ is a format for marshalling data. It is based on a subset of JavaScript that is used to declare objects. Compared to xml, JSON is a lightweight, easily parsed format. .. seealso:: `Wikipedia's JSON Entry `_ model In MVC design, the layer that deals directly with the data. OpenID A specification for single sign on to web services where the authentication server and the application seeking to have the user authenticated do not need to have complete trust in each other. .. seealso:: http://openid.net/get-an-openid/what-is-openid/ Same Origin Policy A web browser security policy that prevents one website from reading: 1) the cookies from another website 2) the response body from another website .. seealso:: http://en.wikipedia.org/wiki/Same_origin_policy single sign-on A feature that allows one login to authenticate a user for multiple applications. So logging into one application will authenticate you for all the applications that support the same single-sign-on infrastructure. TurboGears A Python web framework that most of Fedora Infrastructure's apps are built on. .. seealso:: http://www.turbogears.org/ TurboGears2 The successor to :term:`TurboGears`, TurboGears2 provides a very similar framework to coders but has some notable differences. It is based on pylons and paste so it is much more tightly integrated with :term:`WSGI`. The differences with :ref`TurboGears`1 are largely with the organization of code and how to configure the application. .. seealso:: http://www.turbogears.org/ view In MVC design, the layer that takes care of formatting and rendering data for the consumer. This could be displaying the data as an html page or marshalling it into :term:`JSON` objects. WSGI WSGI is an interface between web servers and web frameworks that originated in the Python community. WSGI lets different components embed each other even if they were originally written for different python web frameworks. .. seealso:: http://en.wikipedia.org/wiki/Web_Server_Gateway_Interface python-fedora-1.1.1/doc/index.rst000066400000000000000000000010431375747342300167140ustar00rootroot00000000000000================================== Python Fedora Module Documentation ================================== The python-fedora module makes it easier for programmers to create both Fedora Services and clients that talk to the services. It's licensed under the GNU Lesser General Public License version 2 or later. .. toctree:: :maxdepth: 2 client existing service auth javascript api glossary ================== Indices and tables ================== * :ref:`glossary` * :ref:`genindex` * :ref:`modindex` * :ref:`search` python-fedora-1.1.1/doc/javascript.rst000066400000000000000000000026421375747342300177610ustar00rootroot00000000000000.. _JavaScript: ========== JavaScript ========== :Authors: Toshio Kuratomi :Date: 26 February 2009 :For Version: 0.3.x python-fedora currently provides some JavaScript files to make coding :ref:`Fedora-Services` easier. In the future we may move these to their own package. ------------------ :mod:`fedora.dojo` ------------------ .. module:: fedora.dojo :synopsis: JavaScript helper scripts using Dojo .. moduleauthor:: Toshio Kuratomi .. versionadded:: 0.3.10 :term:`Dojo` is one of several JavaScript Toolkits. It aims to be a standard library for JavaScript. The :mod:`fedora.dojo` module has JavaScript code that make use of :term:`Dojo` to do their work. It is most appropriate to use when the :term:`Dojo` libraries are being used as the JavaScript library for the app. However, it is well namespaced and nothing should prevent it from being used in other apps as well. .. class::dojo.BaseClient(base_url, kw=[useragent, username, password, debug]) A client configured to make requests of a particular service. :arg base_url: Base of every URL used to contact the server :kwarg useragent: useragent string to use. If not given, default to "Fedora DojoClient/VERSION" :kwarg username: Username for establishing authenticated connections :kwarg password: Password to use with authenticated connections :kwarg debug: If True, log debug information Default: false python-fedora-1.1.1/doc/service.rst000066400000000000000000000536241375747342300172610ustar00rootroot00000000000000.. _Fedora-Services: =============== Fedora Services =============== :Authors: Toshio Kuratomi Luke Macken :Date: 02 February 2009 :For Version: 0.3.x In the loosest sense, a Fedora Service is a web application that sends data that :class:`~fedora.client.BaseClient` is able to understand. This document defines things that a web application must currently do for :class:`~fedora.client.BaseClient` to understand it. .. fedora.tg: ------------------------ TurboGears and fedora.tg ------------------------ .. automodule:: fedora.tg All current Fedora Services are written in :term:`TurboGears`. Examples in this document will be for that framework. However, other frameworks can be used to write a Service if they can correctly create the data that :class:`~fedora.client.BaseClient` needs. A Fedora Service differs from other web applications in that certain URLs for the web application are an API layer that the Service can send and receive :term:`JSON` data from for :class:`~fedora.client.BaseClient` to interpret. This imposes certain constraints on what data can be sent and what data can be received from those URLs. The :mod:`fedora.tg` module contains functions that help you write code that communicated well with :class:`~fedora.client.BaseClient`. The :term:`TurboGears` framework separates an application into :term:`model`, :term:`view`, and :term:`controller` layers. The model is typically a database and holds the raw data that the application needs. The view formats the data before output. The controller makes decisions about what data to retrieve from the model and which view to pass it onto. The code that you'll most often need to use from :mod:`fedora.tg` operates on the :term:`controller` layer but there's also code that works on the model and view behind the scenes. ----------- Controllers ----------- .. automodule:: fedora.tg.utils The :term:`controller` is the code that processes an http request. It validates and processes requests and parameters sent by the user, gets data from the model to satisfy the request, and then passes it onto a view layer to be returned to the user. :mod:`fedora.tg.utils` contains several helpful functions for working with controllers. ----------- URLs as API ----------- .. autofunction:: request_format .. autofunction:: jsonify_validation_errors .. autofunction:: json_or_redirect In :term:`TurboGears` and most web frameworks, a URL is a kind of API for accessing the data your web app provides. This data can be made available in multiple formats. :term:`TurboGears` allows you to use one URL to serve multiple formats by specifying a query parameter or a special header. Selecting JSON Output ===================== A URL in :term:`TurboGears` can serve double duty by returning multiple formats depending on how it is called. In most cases, the URL will return HTML or XHTML by default. By adding the query parameter, ``tg_format=json`` you can switch from returning the default format to returning :term:`JSON` data. You need to add an ``@expose(allow_json=True)`` decorator [#]_ to your controller method to tell :term:`TurboGears` that this controller should return :term:`JSON` data:: @expose(allow_json=True) @expose(template='my.templates.amplifypage') def amplify(self, data): ``allow_json=True`` is a shortcut for this:: @expose("json", content_type="text/javascript", as_format="json", accept_format="text/javascript") That means that the controller method will use the ``json`` template (uses TurboJson to marshal the returned data to :term:`JSON`) to return data of type ``text/javascript`` when either of these conditions is met: a query param of ``tg_format=json`` or an ``Accept: text/javascript`` header is sent. :class:`~fedora.client.BaseClient` in python-fedora 0.1.x and 0.2.x use the query parameter method of selecting :term:`JSON` output. :class:`~fedora.client.BaseClient` 0.2.99.6 and 0.3.x use both the header method and the query parameter since the argument was made that the header method is friendlier to other web frameworks. 0.4 intends to use the header alone. If you use ``allow_json=True`` this change shouldn't matter. If you specify the ``@expose("json")`` decorator only ``accept_format`` is set. So it is advisable to include both ``as_format`` and ``accept_format`` in your decorator. Note that this is a limitation of :term:`TurboGears` <= 1.0.4.4. If your application is only going to run on :term:`TurboGears` > 1.0.4.4 you should be able to use a plain ``@expose("json")`` [#]_. .. [#] http://docs.turbogears.org/1.0/ExposeDecorator#same-method-different-template .. [#] http://trac.turbogears.org/ticket/1459#comment:4 Why Two Formats from a Single URL? ================================== When designing your URLs you might wonder why you'd want to return :term:`JSON` and HTML from a single controller method instead of having two separate controller methods. For instance, separating the URLs into their own namespaces might seem logical: ``/app/json/get_user/USERNAME`` as opposed to ``/app/user/USERNAME``. Doing things with two URLs as opposed to one has both benefits and drawbacks. Benefits of One Method Handling Multiple Formats ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * Usually less code as there's only one controller method * When a user sees a page that they want to get data from, they can get it as :term:`JSON` instead of screen scraping. * Forces the application designer to think more about the API that is being provided to the users instead of just the needs of the web page they are creating. * Makes it easier to see what data an application will need to implement an alternate interface since you can simply look at the template code to see what variables are being used on a particular page. Benefits of Multiple Methods for Each Format ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * Avoids special casing for error handlers (See below) * Separates URLs that you intend users to grab :term:`JSON` data from URLs where you only want to display HTML. * Allows the URLs that support :term:`JSON` to concentrate on trimming the size of the data sent while URLs that only return HTML can return whole objects. * Organization can be better if you don't have to include all of the pages that may only be useful for user interface elements. Personal use has found that allowing :term:`JSON` requests on one controller method works well for cases where you want the user to get data and for traditional form based user interaction. AJAX requests have been better served via dedicated methods. ------------- Return Values ------------- The toplevel of the return values should be a dict. This is the natural return value for :term:`TurboGears` applications. Marshaling =========== All data should be encoded in :term:`JSON` before being returned. This is normally taken care of automatically by :term:`TurboGears` and simplejson. If you are returning non-builtin objects you may have to define an `__json__()`_ method. .. _`__json__()`: `Using __json__()`_ Unicode ======= simplejson (and probably other :term:`JSON` libraries) will take care of encoding Unicode strings to :term:`JSON` so be sure that you are passing Unicode strings around rather than encoded byte strings. Error Handling ============== In python, error conditions are handled by raising an exception. However, an exception object will not propagate automatically through a return from the server. Instead we set several special variables in the returned data to inform :class:`~fedora.client.BaseClient` of any errors. At present, when :class:`~fedora.client.BaseClient` receives an error it raises an exception of its own with the exception information from the server inside. Raising the same exception as the server is being investigated but may pose security risks so hasn't yet been implemented. exc ~~~ All URLs which return :term:`JSON` data should set the ``exc`` variable when the method fails unexpectedly (a database call failed, a place where you would normally raise an exception, or where you'd redirect to an error page if a user was viewing the HTML version of the web app). ``exc`` should be set to the name of an exception and tg_flash_ set to the message that would normally be given to the exception's constructor. If the return is a success (expected values are being returned from the method or a value was updated successfully) ``exc`` may either be unset or set to ``None``. tg_flash ~~~~~~~~ When viewing the HTML web app, ``tg_flash`` can be set with a message to display to the user either on the next page load or via an AJAX handler. When used in conjunction with :term:`JSON`, ``exc=EXCEPTIONNAME``, and :class:`~fedora.client.BaseClient`, ``tg_flash`` should be set to an error message that the client can use to identify what went wrong or display to the user. It's equivalent to the message you would normally give when raising an exception. Authentication Errors ~~~~~~~~~~~~~~~~~~~~~ Errors in authentication are a special case. Instead of returning an error with ``exc='AuthError'`` set, the server should return with ``response.status = 403``. :class:`~fedora.client.BaseClient` will see the 403 and raise an `AuthError`. This is the signal for the client to ask the user for new credentials (usually a new username and password). .. note:: Upstream :term:`TurboGears` has switched to sending a 401 for authentication problems. However, their use of 401 is against the http specification (It doesn't set the 'WWW-Authentication' header) and it causes problems for konqueror and webkit based browsers so we probably will not be switching. ------------------------------------------------ Performing Different Actions when Returning JSON ------------------------------------------------ So far we've run across three features of :term:`TurboGears` that provide value to a web application but don't work when returning :term:`JSON` data. We provide a function that can code around this. ``fedora.tg.utils.request_format()`` will return the format that the page is being returned as. Code can use this to check whether :term:`JSON` output is expected and do something different based on it:: output = {'tg_flash': 'An Error Occurred'} if fedora.tg.utils.request_format() == 'json': output['exc'] = 'ServerError' else: output['tg_template'] = 'my.templates.error' return output In this example, we return an error through our "exception" mechanism if we are returning :term:`JSON` and return an error page by resetting the template if not. Redirects ========= Redirects do not play well with :term:`JSON` [#]_ because :term:`TurboGears` is unable to turn the function returned from the redirect into a dictionary that can be turned into :term:`JSON`. Redirects are commonly used to express errors. This is actually better expressed using tg_template_ because that method leaves the URL intact. That allows the end user to look for spelling mistakes in their URL. If you need to use a redirect, the same recipe as above will allow you to split your code paths. .. [#] Last checked in TurboGears 1.0.4 tg_template =========== Setting what template is returned to a user by setting tg_template in the return dict (for instance, to display an error page without changing the URL) is a perfectly valid way to use :term:`TurboGears`. Unfortunately, since :term:`JSON` is simply another template in :term:`TurboGears` you have to be sure not to interfere with the generation of :term:`JSON` data. You need to check whether :term:`JSON` was requested using ``fedora.tg.utils.request_format()`` and only return a different template if that's not the case. The recipe above shows how to do this. Validators ========== Validators are slightly different than the issues we've encountered so far. Validators are used to check and convert parameters sent to a controller method so that only good data is dealt with in the controller method itself. The problem is that when a validator detects a parameter that is invalid, it performs a special internal redirect to a method that is its ``error_handler``. We can't intercept this redirect because it happens in the decorators before our method is invoked. So we have to deal with the aftermath of the redirect in the ``error_handler`` method:: class NotNumberValidator(turbogears.validators.FancyValidator): messages = {'Number': 'Numbers are not allowed'} def to_python(self, value, state=None): try: number = turbogears.validators.Number(value.strip()) except: return value raise validators.Invalid(self.message('Number', state), value, state) class AmplifyForm(turbogears.widgets.Form): template = my.templates.amplifyform submit_text = 'Enter word to amplify' fields = [ turbogears.widgets.TextField(name='data', validator=NotNumberValidator()) ] amplify_form = AmplifyForm() class mycontroller(RootController): @expose(template='my.templates.errorpage', allow_json=True) def no_numbers(self, data): errors = fedora.tg.utils.jsonify_validation_errors() if errors: return errors # Construct a dict to return the data error message as HTML via # the errorpage template pass @validate(form=amplify_form) @error_handler('no_numbers') @expose(template='my.templates.amplifypage', allow_json=True) def amplify(self, data): return dict(data=data.upper()) When a user hits ``amplify()``'s URL, the validator checks whether ``data`` is a number. If it is, it redirects to the error_handler, ``no_numbers()``. ``no_numbers()`` will normally return HTML which is fine if we're simply hitting ``amplify()`` from a web browser. If we're hitting it from a :class:`~fedora.client.BaseClient` app, however, we need it to return :term:`JSON` data instead. To do that we use ``jsonify_validation_errors()`` which checks whether there was a validation error and whether we need to return :term:`JSON` data. If both of those are true, it returns a dictionary with the validation errors. This dictionary is appropriate for returning from the controller method in response to a :term:`JSON` request. .. warning:: When defining @error_handler() order of decorators can be important. The short story is to always make @validate() and @error_handler() the first decorators of your method. The longer version is that this is known to cause errors with the json request not being honored or skipping identity checks when the method is its own error handler. ---------------- Expected Methods ---------------- Certain controller methods are necessary in order for :class:`~fedora.client.BaseClient` to properly talk to your service. :term:`TurboGears` can quickstart an application template for you that sets most of these variables correctly:: $ tg-admin quickstart -i -s -p my my # edit my/my/controllers.py login() ======= You need to have a ``login()`` method in your application's root. This method allows :class:`~fedora.client.BaseClient` to authenticate against your Service:: @expose(template="my.templates.login") + @expose(allow_json=True) def login(self, forward_url=None, previous_url=None, \*args, \**kw): if not identity.current.anonymous \ and identity.was_login_attempted() \ and not identity.get_identity_errors(): + # User is logged in + if 'json' == fedora.tg.utils.request_format(): + return dict(user=identity.current.user) + if not forward_url: + forward_url = turbogears.url('/') raise redirect(forward_url) For non-TurboGears Implementors ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ If you are implementing a server in a non-TurboGears framework, note that one of the ways to reach the ``login()`` method is through special parameters parsed by the :term:`TurboGears` framework. :class:`~fedora.client.BaseClient` uses these parameters instead of invoking the ``login()`` method directly as it saves a round trip when authenticating to the server. It will be necessary for you to implement handling of these parameters (passed via ``POST``) on your application as well. The parameters are: ``user_name``, ``password``, and ``login``. When these three parameters are sent to the server, the server authenticates the user and records their information before deciding what information to return to them from the URL. logout() ======== The ``logout()`` method is similar to ``login()``. It also needs to be modified to allow people to connect to it via :term:`JSON`:: - @expose() + @expose(allow_json=True) def logout(self): identity.current.logout() + if 'json' in fedora.tg.utils.request_format(): + return dict() raise redirect("/") --------------- CSRF Protection --------------- For an overview of CSRF and how to protect :term:`TurboGears` 1 based services, look at this document. .. toctree:: :maxdepth: 2 CSRF .. _Using-SABase: ------------ Using SABase ------------ ``fedora.tg.json`` contains several functions that help to convert SQLAlchemy_ objects into :term:`JSON`. For the most part, these do their work behind the scenes. The ``SABase`` object, however, is one that you might need to take an active role in using. When you return an SQLAlchemy_ object in a controller to a template, the template is able to access any of the relations mapped to it. So, instead of having to construct a list of people records from a table and the the list of groups that each of them are in you can pass in the list of people and let your template reference the relation properties to get the groups. This is extremely convenient for templates but has a negative effect when returning :term:`JSON`. Namely, the default methods for marshaling SQLAlchemy_ objects to :term:`JSON` only return the attributes of the object, not the relations that are linked to it. So you can easily run into a situation where someone querying the :term:`JSON` data for a page will not have all the information that a template has access to. SABase fixes this by allowing you to specify relations that your SQLAlchemy_ backed objects should marshal as :term:`JSON` data. Further information on SABase can be found in the API documentation:: pydoc fedora.tg.json .. _SQLAlchemy: http://www.sqlalchemy.org Example ======= SABase is a base class that you can use when defining objects in your project's model. So the first step is defining the classes in your model to inherit from SABase:: from fedora.tg.json import SABase from sqlalchemy import Table, Column, Integer, String, MetaData, ForeignKey from turbogears.database import metadata, mapper class Person(SABase): pass PersonTable = Table('person', metadata Column('name', String, primary_key=True), ) class Address(SABase): pass AddressTable = Table ( Column('id', Integer, primary_key=True), Column('street', string), Column('person_id', Integer, ForeignKey('person.name') ) mapper(PersonTable, Person) mapper(AddressTable, Address, properties = { person: relation(Person, backref = 'addresses'), }) The next step is to tell SABase which properties should be copied (this allows you to omit large trees of objects when you only need the data from a few of them):: @expose('my.templates.about_me') @expose(allow_json=True) def my_info(self): person = Person.query.filter_by(name='Myself').one() person.jsonProps = {'Person': ['addresses']} return dict(myself=person} Now, when someone requests :term:`JSON` data from my_info, they should get back a record for person that includes a property addresses. Addresses will be a list of address records associated with the person. How it Works ============ SABase adds a special `__json__()`_ method to the class. By default, this method returns a dict with all of the attributes that are backed by fields in the database. Adding entries to jsonProps adds the values for those properties to the returned dict as well. If you need to override the `__json__()`_ method in your class you probably want to call SABase's `__json__()`_ unless you know that neither you nor any future subclasses will need it. .. _Using-__json__: ---------------- Using __json__() ---------------- Sometimes you need to return an object that isn't a basic python type (list, tuple, dict, number. string, etc). When that occurs, simplejson_ won't know how to marshal the data into :term:`JSON` until you write own method to transform the values. If this method is named __json__(), :term:`TurboGears` will automatically perform the conversion when you return the object. Example:: class MyObject(object): def _init__(self, number): self.someNumber = number self.cached = None def _calc_data(self): if not self.cached: self.cached = self.someNumber * 2 return self.cached twiceData = property(_calc_data) def __json__(self): return {'someNumber': self.someNumber, 'twiceData': self.twiceData} In this class, you have a variable and a property. If you were to return it from a controller method without defining the __json__() method, :term:`TurboGears` would give you an error that it was unable to adapt the object to :term:`JSON`. The :term:`JSON` method transforms the object into a dict with sensibly named values for the variable and property so that simplejson is able to marshal the data to :term:`JSON`. Note that you will often have to choose between space (more data takes more bandwidth to deliver to the end user) and completeness (you need to return enough data so the client isn't looking for another method that can complete its needs) when returning data. .. _simplejson: http://undefined.org/python/#simplejson python-fedora-1.1.1/doc/static/000077500000000000000000000000001375747342300163445ustar00rootroot00000000000000python-fedora-1.1.1/doc/static/EMPTY000066400000000000000000000000001375747342300171530ustar00rootroot00000000000000python-fedora-1.1.1/fedora/000077500000000000000000000000001375747342300155505ustar00rootroot00000000000000python-fedora-1.1.1/fedora/__init__.py000066400000000000000000000027151375747342300176660ustar00rootroot00000000000000# Copyright 2010 Red Hat, Inc. # This file is part of python-fedora # # python-fedora 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. # # python-fedora 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 python-fedora; if not, see # 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. # ''' Python Fedora Modules to communicate with and help implement Fedora Services. ''' import kitchen # Setup gettext for all of kitchen. # Remember -- _() is for marking most messages # b_() is for marking messages that are used in exceptions (_, N_) = kitchen.i18n.easy_gettext_setup('python-fedora') (b_, bN_) = kitchen.i18n.easy_gettext_setup('python-fedora', use_unicode=False) from fedora import release __version__ = release.VERSION __all__ = ('__version__', 'accounts', 'client', 'release', 'tg') python-fedora-1.1.1/fedora/client/000077500000000000000000000000001375747342300170265ustar00rootroot00000000000000python-fedora-1.1.1/fedora/client/__init__.py000066400000000000000000000126411375747342300211430ustar00rootroot00000000000000# -*- coding: utf-8 -*- # # Copyright (C) 2007-2013 Red Hat, Inc. # This file is part of python-fedora # # python-fedora 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. # # python-fedora 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 python-fedora; if not, see # ''' fedora.client is used to interact with Fedora Services. .. versionchanged:: 0.3.21 Deprecate DictContainer in favor of bunch.Bunch .. versionchanged:: 0.3.35 Add the openid clients .. moduleauthor:: Ricky Zhou .. moduleauthor:: Luke Macken .. moduleauthor:: Toshio Kuratomi ''' import errno import os import warnings from munch import Munch class FedoraClientError(Exception): '''Base Exception for problems which originate within the Clients. This should be the base class for any exceptions that the Client generates. For instance, if the client performs validation before passing the data on to the Fedora Service. Problems returned while talking to the Services should be returned via a `FedoraServiceError` instead. ''' pass class FedoraServiceError(Exception): '''Base Exception for any problem talking with the Service. When the Client gets an error talking to the server, an exception of this type is raised. This can be anything in the networking layer up to an error returned from the server itself. ''' pass class ServerError(FedoraServiceError): '''Unable to talk to the server properly. This includes network errors and 500 response codes. If the error was generated from an http response, :attr:`code` is the HTTP response code. Otherwise, :attr:`code` will be -1. ''' def __init__(self, url, status, msg): FedoraServiceError.__init__(self) self.filename = url self.code = status self.msg = msg def __str__(self): return 'ServerError(%s, %s, %s)' % (self.filename, self.code, self.msg) def __repr__(self): return 'ServerError(%r, %r, %r)' % (self.filename, self.code, self.msg) class AuthError(FedoraServiceError): '''Error during authentication. For instance, invalid password.''' pass class LoginRequiredError(AuthError): """ Exception raised when the call requires a logged-in user. """ pass class AppError(FedoraServiceError): '''Error condition that the server is passing back to the client.''' def __init__(self, name, message, extras=None): FedoraServiceError.__init__(self) self.name = name self.message = message self.extras = extras def __str__(self): return 'AppError(%s, %s, extras=%s)' % ( self.name, self.message, self.extras) def __repr__(self): return 'AppError(%r, %r, extras=%r)' % ( self.name, self.message, self.extras) class UnsafeFileError(Exception): def __init__(self, filename, message): super(UnsafeFileError, self).__init__(message) self.message = message self.filename = filename def __str__(self): return 'Unsafe file permissions! {}: {}'.format(self.filename, self.message) # Backwards compatibility class DictContainer(Munch): def __init__(self, *args, **kwargs): warnings.warn( 'DictContainer is deprecated. Use the Munch class' ' from python-bunch instead.', DeprecationWarning, stacklevel=2) Munch.__init__(self, *args, **kwargs) def check_file_permissions(filename, allow_notexists=False): if os.path.islink(filename): raise UnsafeFileError(filename, 'File is a symlink') try: stat = os.stat(filename) except OSError as e: if e.errno == errno.ENOENT and allow_notexists: return raise if stat.st_uid != os.getuid(): raise UnsafeFileError(filename, 'File not owned by current user') if stat.st_gid != os.getgid(): raise UnsafeFileError(filename, 'File not owner by primary group') if stat.st_mode & 0o007: raise UnsafeFileError(filename, 'File is world-readable') # We want people to be able to import fedora.client.*Client directly # pylint: disable-msg=W0611 from fedora.client.proxyclient import ProxyClient from fedora.client.fasproxy import FasProxyClient from fedora.client.baseclient import BaseClient from fedora.client.openidproxyclient import OpenIdProxyClient from fedora.client.openidbaseclient import OpenIdBaseClient from fedora.client.fas2 import AccountSystem, FASError, CLAError from fedora.client.wiki import Wiki # pylint: enable-msg=W0611 __all__ = ('FedoraServiceError', 'ServerError', 'AuthError', 'AppError', 'FedoraClientError', 'LoginRequiredError', 'DictContainer', 'FASError', 'CLAError', 'BodhiClientException', 'ProxyClient', 'FasProxyClient', 'BaseClient', 'OpenIdProxyClient', 'OpenIdBaseClient', 'AccountSystem', 'BodhiClient', 'Wiki') python-fedora-1.1.1/fedora/client/baseclient.py000066400000000000000000000357041375747342300215220ustar00rootroot00000000000000# -*- coding: utf-8 -*- # # Copyright (C) 2013 Red Hat, Inc. # This file is part of python-fedora # # python-fedora 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. # # python-fedora 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 python-fedora; if not, see # '''A base client for interacting with web services. .. moduleauthor:: Luke Macken .. moduleauthor:: Toshio Kuratomi .. moduleauthor:: Ralph Bean ''' import os import stat from os import path import logging import warnings from kitchen.text.converters import to_bytes from six.moves import cPickle as pickle from six.moves import http_cookies as Cookie from fedora import __version__ log = logging.getLogger(__name__) b_SESSION_DIR = path.join(path.expanduser('~'), '.fedora') b_SESSION_FILE = path.join(b_SESSION_DIR, 'fedora_session') from fedora.client import AuthError, ProxyClient class BaseClient(ProxyClient): ''' A client for interacting with web services. ''' def __init__(self, base_url, useragent=None, debug=False, insecure=False, username=None, password=None, httpauth=None, session_cookie=None, session_id=None, session_name='tg-visit', cache_session=True, retries=None, timeout=None): ''' :arg base_url: Base of every URL used to contact the server :kwarg useragent: Useragent string to use. If not given, default to "Fedora BaseClient/VERSION" :kwarg session_name: name of the cookie to use with session handling :kwarg debug: If True, log debug information :kwarg insecure: If True, do not check server certificates against their CA's. This means that man-in-the-middle attacks are possible against the `BaseClient`. You might turn this option on for testing against a local version of a server with a self-signed certificate but it should be off in production. :kwarg username: Username for establishing authenticated connections :kwarg password: Password to use with authenticated connections :kwarg httpauth: If this is set to ``basic`` then use HTTP Basic Authentication to send the username and password. Default: None, means do not use HTTP Authentication. :kwarg session_cookie: *Deprecated* Use session_id instead. If both session_id and session_cookie is given, only session_id will be used. User's session_cookie to connect to the server. :kwarg session_id: id of the user's session :kwarg cache_session: If set to true, cache the user's session data on the filesystem between runs :kwarg retries: if we get an unknown or possibly transient error from the server, retry this many times. Setting this to a negative number makes it try forever. Defaults to zero, no retries. :kwarg timeout: A float describing the timeout of the connection. The timeout only affects the connection process itself, not the downloading of the response body. Defaults to 120 seconds. .. versionchanged:: 0.3.33 Added the timeout kwarg ''' self.log = log self.useragent = useragent or 'Fedora BaseClient/%(version)s' % { 'version': __version__} super(BaseClient, self).__init__( base_url, useragent=self.useragent, session_name=session_name, session_as_cookie=False, debug=debug, insecure=insecure, retries=retries, timeout=timeout ) self.username = username self.password = password self.httpauth = httpauth self.cache_session = cache_session self._session_id = None if session_id: self.session_id = session_id elif session_cookie: warnings.warn('session_cookie is deprecated, use session_id' ' instead', DeprecationWarning, stacklevel=2) session_id = session_cookie.get(self.session_name, '') if session_id: self.session_id = session_id.value def __load_ids(self): '''load id data from a file. :Returns: Complete mapping of users to session ids ''' saved_session = {} session_file = None if path.isfile(b_SESSION_FILE): try: with open(b_SESSION_FILE, 'rb') as session_file: saved_session = pickle.load(session_file) except (IOError, EOFError): self.log.info('Unable to load session from %(file)s' % {'file': b_SESSION_FILE}) return saved_session def __save_ids(self, save): '''Save the cached ids file. :arg save: The dict of usernames to ids to save. ''' # Make sure the directory exists if not path.isdir(b_SESSION_DIR): try: os.mkdir(b_SESSION_DIR, 0o755) except OSError as e: self.log.warning('Unable to create %(dir)s: %(error)s' % {'dir': b_SESSION_DIR, 'error': to_bytes(e)}) try: with open(b_SESSION_FILE, 'wb') as session_file: os.chmod(b_SESSION_FILE, stat.S_IRUSR | stat.S_IWUSR) pickle.dump(save, session_file) except Exception as e: # pylint: disable-msg=W0703 # If we can't save the file, issue a warning but go on. The # session just keeps you from having to type your password over # and over. self.log.warning( 'Unable to write to session file %(session)s:' ' %(error)s' % { 'session': b_SESSION_FILE, 'error': to_bytes(e) } ) def _get_session_id(self): '''Attempt to retrieve the session id from the filesystem. Note: this method will cache the session_id in memory rather than fetch the id from the filesystem each time. :Returns: session_id ''' if self._session_id: return self._session_id if not self.username: self._session_id = '' else: saved_sessions = self.__load_ids() self._session_id = saved_sessions.get(self.username, '') if isinstance(self._session_id, Cookie.SimpleCookie): self._session_id = '' if not self._session_id: self.log.debug( 'No session cached for "%s"' % to_bytes(self.username)) return self._session_id def _set_session_id(self, session_id): '''Store our pickled session id. :arg session_id: id to set our internal id to This method loads our existing session file and modifies our current user's id. This allows us to retain ids for multiple users. ''' # Start with the previous users if self.cache_session and self.username: save = self.__load_ids() save[self.username] = session_id # Save the ids to the filesystem self.__save_ids(save) self._session_id = session_id def _del_session_id(self): '''Delete the session id from the filesystem.''' # Start with the previous users save = self.__load_ids() try: del save[self.username] except KeyError: # This is fine we just want the session to exist in the new # session file. pass else: # Save the ids to the filesystem self.__save_ids(save) self._session_id = None session_id = property(_get_session_id, _set_session_id, _del_session_id, '''The session_id. The session id is saved in a file in case it is needed in consecutive runs of BaseClient. ''') def _get_session_cookie(self): '''**Deprecated** Use session_id instead. Attempt to retrieve the session cookie from the filesystem. :Returns: user's session cookie ''' warnings.warn('session_cookie is deprecated, use session_id' ' instead', DeprecationWarning, stacklevel=2) session_id = self.session_id if not session_id: return '' cookie = Cookie.SimpleCookie() cookie[self.session_name] = session_id return cookie def _set_session_cookie(self, session_cookie): '''**Deprecated** Use session_id instead. Store our pickled session cookie. :arg session_cookie: cookie to set our internal cookie to This method loads our existing session file and modifies our current user's cookie. This allows us to retain cookies for multiple users. ''' warnings.warn('session_cookie is deprecated, use session_id' ' instead', DeprecationWarning, stacklevel=2) session_id = session_cookie.get(self.session_name, '') if session_id: session_id = session_id.value self.session_id = session_id def _del_session_cookie(self): '''**Deprecated** Use session_id instead. Delete the session cookie from the filesystem. ''' warnings.warn('session_cookie is deprecated, use session_id' ' instead', DeprecationWarning, stacklevel=2) del(self.session_id) session_cookie = property(_get_session_cookie, _set_session_cookie, _del_session_cookie, '''*Deprecated*, use session_id instead. The session cookie is saved in a file in case it is needed in consecutive runs of BaseClient. ''') def logout(self): '''Logout from the server. ''' try: self.send_request('logout', auth=True) except AuthError: # pylint: disable-msg=W0704 # We don't need to fail for an auth error as we're getting rid of # our authentication tokens here. pass del(self.session_id) def send_request(self, method, req_params=None, file_params=None, auth=False, retries=None, timeout=None, **kwargs): '''Make an HTTP request to a server method. The given method is called with any parameters set in req_params. If auth is True, then the request is made with an authenticated session cookie. :arg method: Method to call on the server. It's a url fragment that comes after the base_url set in __init__(). :kwarg req_params: Extra parameters to send to the server. :kwarg file_params: dict of files where the key is the name of the file field used in the remote method and the value is the local path of the file to be uploaded. If you want to pass multiple files to a single file field, pass the paths as a list of paths. :kwarg auth: If True perform auth to the server, else do not. :kwarg retries: if we get an unknown or possibly transient error from the server, retry this many times. Setting this to a negative number makes it try forever. Default to use the :attr:`retries` value set on the instance or in :meth:`__init__` (which defaults to zero, no retries). :kwarg timeout: A float describing the timeout of the connection. The timeout only affects the connection process itself, not the downloading of the response body. Default to use the :attr:`timeout` value set on the instance or in :meth:`__init__` (which defaults to 120s). :rtype: Bunch :returns: The data from the server .. versionchanged:: 0.3.21 * Return data as a Bunch instead of a DictContainer * Add file_params to allow uploading files .. versionchanged:: 0.3.33 * Added the timeout kwarg ''' # Check for deprecated arguments. This section can go once we hit 0.4 if len(kwargs) >= 1: for arg in kwargs: # If we have extra args, raise an error if arg != 'input': raise TypeError( 'send_request() got an unexpected keyword' ' argument "%(arg)s"' % {'arg': to_bytes(arg)}) if req_params: # We don't want to allow input if req_params was already given raise TypeError('send_request() got an unexpected keyword' ' argument "input"') if len(kwargs) > 1: # We shouldn't get here raise TypeError('send_request() got an unexpected keyword' ' argument') # Error checking over, set req_params to the value in input warnings.warn( 'send_request(input) is deprecated. Use' ' send_request(req_params) instead', DeprecationWarning, stacklevel=2) req_params = kwargs['input'] auth_params = {'session_id': self.session_id} if auth is True: # We need something to do auth. Check user/pass if self.username and self.password: # Add the username and password and we're all set auth_params['username'] = self.username auth_params['password'] = self.password if self.httpauth: auth_params['httpauth'] = self.httpauth else: # No? Check for session_id if not self.session_id: # Not enough information to auth raise AuthError( 'Auth was requested but no way to' ' perform auth was given. Please set username' ' and password or session_id before calling' ' this function with auth=True') # Remove empty params # pylint: disable-msg=W0104 [auth_params.__delitem__(key) for key, value in list(auth_params.items()) if not value] # pylint: enable-msg=W0104 session_id, data = super(BaseClient, self).send_request( method, req_params=req_params, file_params=file_params, auth_params=auth_params, retries=retries, timeout=timeout) # In case the server returned a new session id to us if self.session_id != session_id: self.session_id = session_id return data python-fedora-1.1.1/fedora/client/fas2.py000066400000000000000000001130511375747342300202340ustar00rootroot00000000000000# -*- coding: utf-8 -*- # # Copyright (C) 2008-2012 Ricky Zhou, Red Hat, Inc. # This file is part of python-fedora # # python-fedora 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. # # python-fedora 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 python-fedora; if not, see # ''' Provide a client module for talking to the Fedora Account System. .. moduleauthor:: Ricky Zhou .. moduleauthor:: Toshio Kuratomi .. moduleauthor:: Ralph Bean ''' from hashlib import md5 import itertools import warnings from munch import Munch from kitchen.text.converters import to_bytes from six.moves.urllib.parse import quote, urlencode try: import libravatar except ImportError: libravatar = None from fedora.client import ( AppError, BaseClient, FasProxyClient, FedoraClientError, FedoraServiceError ) from fedora import __version__ ### FIXME: To merge: # /usr/bin/fasClient from fas # API from Will Woods # API from MyFedora class FASError(FedoraClientError): '''FAS Error''' pass class CLAError(FASError): '''CLA Error''' pass USERFIELDS = [ 'affiliation', 'bugzilla_email', 'certificate_serial', 'comments', 'country_code', 'creation', 'email', 'emailtoken', 'facsimile', 'gpg_keyid', 'human_name', 'id', 'internal_comments', 'ircnick', 'latitude', 'last_seen', 'longitude', 'password', 'password_changed', 'passwordtoken', 'postal_address', 'privacy', 'locale', 'ssh_key', 'status', 'status_change', 'telephone', 'unverified_email', 'timezone', 'username', 'security_question', 'security_answer', ] class AccountSystem(BaseClient): '''An object for querying the Fedora Account System. The Account System object provides a python API for talking to the Fedora Account System. It abstracts the http requests, cookie handling, and other details so you can concentrate on the methods that are important to your program. .. warning:: If your code is trying to use the AccountSystem object to connect to fas for multiple users you probably want to use :class:`~fedora.client.FasProxyClient` instead. If your code is trying to reuse a single instance of AccountSystem for multiple users you *definitely* want to use :class:`~fedora.client.FasProxyClient` instead. Using AccountSystem in these cases may result in a user being logged in as a different user. (This may be the case even if you instantiate a new AccountSystem object for each user if :attr:cache_session: is True since that creates a file on the file system that can end up loading session credentials for the wrong person. .. versionchanged:: 0.3.26 Added :meth:`~fedora.client.AccountSystem.gravatar_url` that returns a url to a gravatar for a user. .. versionchanged:: 0.3.33 Renamed :meth:`~fedora.client.AccountSystem.gravatar_url` to :meth:`~fedora.client.AccountSystem.avatar_url`. ''' # proxy is a thread-safe connection to the fas server for verifying # passwords of other users proxy = None # size that we allow to request from remote avatar providers. _valid_avatar_sizes = (32, 64, 140) # URLs for remote avatar providers. _valid_avatar_services = ['libravatar', 'gravatar'] def __init__(self, base_url='https://admin.fedoraproject.org/accounts/', *args, **kwargs): '''Create the AccountSystem client object. :kwargs base_url: Base of every URL used to contact the server. Defaults to the Fedora Project FAS instance. :kwargs useragent: useragent string to use. If not given, default to "Fedora Account System Client/VERSION" :kwargs debug: If True, log debug information :kwargs username: username for establishing authenticated connections :kwargs password: password to use with authenticated connections :kwargs session_cookie: **Deprecated** Use session_id instead. User's session_cookie to connect to the server :kwargs session_id: user's session_id to connect to the server :kwargs cache_session: if set to true, cache the user's session cookie on the filesystem between runs. ''' if 'useragent' not in kwargs: kwargs['useragent'] = \ 'Fedora Account System Client/%s' % __version__ super(AccountSystem, self).__init__(base_url, *args, **kwargs) # We need a single proxy for the class to verify username/passwords # against. if not self.proxy: self.proxy = FasProxyClient(base_url, useragent=self.useragent, session_as_cookie=False, debug=self.debug, insecure=self.insecure) # Preseed a list of FAS accounts with bugzilla addresses # This allows us to specify a different email for bugzilla than is # in the FAS db. It is a hack, however, until FAS has a field for the # bugzilla address. self.__bugzilla_email = { # Konstantin Ryabitsev: mricon@gmail.com 100029: 'icon@fedoraproject.org', # Sean Reifschneider: jafo@tummy.com 100488: 'jafo-redhat@tummy.com', # Karen Pease: karen-pease@uiowa.edu 100281: 'meme@daughtersoftiresias.org', # Robert Scheck: redhat@linuxnetz.de 100093: 'redhat-bugzilla@linuxnetz.de', # Scott Bakers: bakers@web-ster.com 100881: 'scott@perturb.org', # Colin Charles: byte@aeon.com.my 100014: 'byte@fedoraproject.org', # W. Michael Petullo: mike@flyn.org 100136: 'redhat@flyn.org', # Elliot Lee: sopwith+fedora@gmail.com 100060: 'sopwith@redhat.com', # Control Center Team: Bugzilla user but email doesn't exist 9908: 'control-center-maint@redhat.com', # Máirín Duffy 100548: 'duffy@redhat.com', # Muray McAllister: murray.mcallister@gmail.com 102321: 'mmcallis@redhat.com', # William Jon McCann: mccann@jhu.edu 102489: 'jmccann@redhat.com', # Matt Domsch's rebuild script -- bz email goes to /dev/null 103590: 'ftbfs@fedoraproject.org', # Sindre Pedersen Bjørdal: foolish@guezz.net 100460: 'sindrepb@fedoraproject.org', # Jesus M. Rodriguez: jmrodri@gmail.com 102180: 'jesusr@redhat.com', # Roozbeh Pournader: roozbeh@farsiweb.info 100350: 'roozbeh@gmail.com', # Michael DeHaan: michael.dehaan@gmail.com 100603: 'mdehaan@redhat.com', # Sebastian Gosenheimer: sgosenheimer@googlemail.com 103647: 'sebastian.gosenheimer@proio.com', # Ben Konrath: bkonrath@redhat.com 101156: 'ben@bagu.org', # Kai Engert: kaie@redhat.com 100399: 'kengert@redhat.com', # William Jon McCann: william.jon.mccann@gmail.com 102952: 'jmccann@redhat.com', # Simon Wesp: simon@w3sp.de 109464: 'cassmodiah@fedoraproject.org', # Robert M. Albrecht: romal@gmx.de 101475: 'mail@romal.de', # Davide Cescato: davide.cescato@iaeste.ch 123204: 'ceski@fedoraproject.org', # Nick Bebout: nick@bebout.net 101458: 'nb@fedoraproject.org', # Niels Haase: haase.niels@gmail.com 126862: 'arxs@fedoraproject.org', # Thomas Janssen: th.p.janssen@googlemail.com 103110: 'thomasj@fedoraproject.org', # Michael J Gruber: 'michaeljgruber+fedoraproject@gmail.com' 105113: 'mjg@fedoraproject.org', # Juan Manuel Rodriguez Moreno: 'nushio@gmail.com' 101302: 'nushio@fedoraproject.org', # Andrew Cagney: 'andrew.cagney@gmail.com' 102169: 'cagney@fedoraproject.org', # Jeremy Katz: 'jeremy@katzbox.net' 100036: 'katzj@fedoraproject.org', # Dominic Hopf: 'dmaphy@gmail.com' 124904: 'dmaphy@fedoraproject.org', # Christoph Wickert: 'christoph.wickert@googlemail.com': 100271: 'cwickert@fedoraproject.org', # Elliott Baron: 'elliottbaron@gmail.com' 106760: 'ebaron@fedoraproject.org', # Thomas Spura: 'spurath@students.uni-mainz.de' 111433: 'tomspur@fedoraproject.org', # Adam Miller: 'maxamillion@gmail.com' 110673: 'admiller@redhat.com', # Garrett Holmstrom: 'garrett.holmstrom@gmail.com' 131739: 'gholms@fedoraproject.org', # Tareq Al Jurf: taljurf.fedora@gmail.com 109863: 'taljurf@fedoraproject.org', # Josh Kayse: jokajak@gmail.com 148243: 'jokajak@fedoraproject.org', # Behdad Esfahbod: fedora@behdad.org 100102: 'behdad@fedoraproject.org', # Daniel Bruno: danielbrunos@gmail.com 101608: 'dbruno@fedoraproject.org', # Beth Lynn Eicher: bethlynneicher@gmail.com 148706: 'bethlynn@fedoraproject.org', # Andre Robatino: andre.robatino@verizon.net 114970: 'robatino@fedoraproject.org', # Jeff Sheltren: jeff@tag1consulting.com 100058: 'sheltren@fedoraproject.org', # Josh Boyer: jwboyer@gmail.com 100115: 'jwboyer@redhat.com', # Matthew Miller: mattdm@mattdm.org 100042: 'mattdm@redhat.com', # Jamie Nguyen: j@jamielinux.com 160587: 'jamielinux@fedoraproject.org', # Nikos Roussos: nikos@roussos.cc 144436: 'comzeradd@fedoraproject.org', # Benedikt Schäfer: benedikt@schaefer-flieden.de 154726: 'ib54003@fedoraproject.org', # Ricky Elrod: codeblock@elrod.me 139137: 'relrod@redhat.com', # David Xie: david.scriptfan@gmail.com 167133: 'davidx@fedoraproject.org', # Felix Schwarz: felix.schwarz@oss.schwarz.eu 103551: 'fschwarz@fedoraproject.org', # Martin Holec: martix@martix.names 137561: 'mholec@redhat.com', # John Dulaney: j_dulaney@live.com 149140: 'jdulaney@fedoraproject.org', # Niels de Vos: niels@nixpanic.net 102792: 'ndevos@redhat.com', # Shawn Wells: shawn@redhat.com 156515: 'swells@redhat.com', # Christopher Tubbs: ctubbsii+fedora@gmail.com 160404: 'ctubbsii@fedoraproject.org', # Björn Esser: bjoern.esser@gmail.com 163460: 'besser82@fedoraproject.org', # Amit Shah: amit@amitshah.net 115389: 'amitshah@fedoraproject.org', # Mark Wielard: fedora@wildebeest.org 102697: 'mjw@fedoraproject.org', # Benjamin Lefoul: benjamin.lefoul@nwise.se 189661: 'lef@fedoraproject.org', # Mike Ruckman: roshi@mykolab.com 172063: 'roshi@fedoraproject.org', } # A few people have an email account that is used in owners.list but # have setup a bugzilla account for their primary account system email # address now. Map these here. self.__alternate_email = { # Damien Durand: splinux25@gmail.com 'splinux@fedoraproject.org': 100406, # Kevin Fenzi: kevin@tummy.com 'kevin-redhat-bugzilla@tummy.com': 100037, } for bugzilla_map in self.__bugzilla_email.items(): self.__alternate_email[bugzilla_map[1]] = bugzilla_map[0] # We use the two mappings as follows:: # When looking up a user by email, use __alternate_email. # When looking up a bugzilla email address use __bugzilla_email. # # This allows us to parse in owners.list and have a value for all the # emails in there while not using the alternate email unless it is # the only option. # TODO: Use exceptions properly ### Set insecure properly ### # When setting insecure, we have to set it both on ourselves and on # self.proxy def _get_insecure(self): return self._insecure def _set_insecure(self, insecure): self._insecure = insecure self.proxy = FasProxyClient(self.base_url, useragent=self.useragent, session_as_cookie=False, debug=self.debug, insecure=insecure) return insecure #: If this attribute is set to True, do not check server certificates #: against their CA's. This means that man-in-the-middle attacks are #: possible. You might turn this option on for testing against a local #: version of a server with a self-signed certificate but it should be off #: in production. insecure = property(_get_insecure, _set_insecure) ### Groups ### def create_group(self, name, display_name, owner, group_type, invite_only=0, needs_sponsor=0, user_can_remove=1, prerequisite='', joinmsg='', apply_rules='None'): '''Creates a FAS group. :arg name: The short group name (alphanumeric only). :arg display_name: A longer version of the group's name. :arg owner: The username of the FAS account which owns the new group. :arg group_type: The kind of group being created. Current valid options are git, svn, hg, shell, and tracking. :kwarg invite_only: Users must be invited to the group, they cannot join on their own. :kwarg needs_sponsor: Users must be sponsored into the group. :kwarg user_can_remove: Users can remove themselves from the group. :kwarg prerequisite: Users must be in the given group (string) before they can join the new group. :kwarg joinmsg: A message shown to users when they apply to the group. :kwarg apply_rules: Rules for applying to the group, shown to users before they apply. :rtype: :obj:`munch.Munch` :returns: A Munch containing information about the group that was created. .. versionadded:: 0.3.29 ''' req_params = { 'invite_only': invite_only, 'needs_sponsor': needs_sponsor, 'user_can_remove': user_can_remove, 'prerequisite': prerequisite, 'joinmsg': joinmsg, 'apply_rules': apply_rules } request = self.send_request( '/group/create/%s/%s/%s/%s' % ( quote(name), quote(display_name), quote(owner), quote(group_type)), req_params=req_params, auth=True ) return request def group_by_id(self, group_id): '''Returns a group object based on its id''' params = {'group_id': int(group_id)} request = self.send_request( 'json/group_by_id', auth=True, req_params=params ) if request['success']: return request['group'] else: return dict() def group_by_name(self, groupname): '''Returns a group object based on its name''' params = {'groupname': groupname} request = self.send_request( 'json/group_by_name', auth=True, req_params=params ) if request['success']: return request['group'] else: raise AppError( message='FAS server unable to retrieve group' ' %(group)s' % {'group': to_bytes(groupname)}, name='FASError') def group_members(self, groupname): '''Return a list of people approved for a group. This method returns a list of people who are in the requested group. The people are all approved in the group. Unapproved people are not shown. The format of data is:: \[{'username': 'person1', 'role_type': 'user'}, \{'username': 'person2', 'role_type': 'sponsor'}] role_type can be one of 'user', 'sponsor', or 'administrator'. .. versionadded:: 0.3.2 .. versionchanged:: 0.3.21 Return a Bunch instead of a DictContainer ''' request = self.send_request('/group/dump/%s' % quote(groupname), auth=True) return [Munch(username=user[0], role_type=user[3]) for user in request['people']] ### People ### def person_by_id(self, person_id): '''Returns a person object based on its id''' person_id = int(person_id) params = {'person_id': person_id} request = self.send_request('json/person_by_id', auth=True, req_params=params) if request['success']: if person_id in self.__bugzilla_email: request['person']['bugzilla_email'] = \ self.__bugzilla_email[person_id] else: request['person']['bugzilla_email'] = \ request['person']['email'] # In a devel version of FAS, membership info was returned # separately # This was later corrected (can remove this code at some point) if 'approved' in request: request['person']['approved_memberships'] = request['approved'] if 'unapproved' in request: request['person']['unapproved_memberships'] = \ request['unapproved'] return request['person'] else: return dict() def person_by_username(self, username): '''Returns a person object based on its username''' params = {'username': username} request = self.send_request( 'json/person_by_username', auth=True, req_params=params) if request['success']: person = request['person'] if person['id'] in self.__bugzilla_email: person['bugzilla_email'] = self.__bugzilla_email[person['id']] else: person['bugzilla_email'] = person['email'] # In a devel version of FAS, membership info was returned # separately # This was later corrected (can remove this code at some point) if 'approved' in request: request['person']['approved_memberships'] = request['approved'] if 'unapproved' in request: request['person']['unapproved_memberships'] = \ request['unapproved'] return person else: return dict() def avatar_url(self, username, size=64, default=None, lookup_email=True, service=None): ''' Returns a URL to an avatar for a given username. Avatars are drawn from third party services. :arg username: FAS username to construct a avatar url for :kwarg size: size of the avatar. Allowed sizes are 32, 64, 140. Default: 64 :kwarg default: If the service does not have a avatar image for the email address, this url is returned instead. Default: the fedora logo at the specified size. :kwarg lookup_email: If true, use the email from FAS for gravatar.com lookups, otherwise just append @fedoraproject.org to the username. For libravatar.org lookups, this is ignored. The openid identifier of the user is used instead. Note that gravatar.com lookups will be much slower if lookup_email is set to True since we'd have to make a query against FAS itself. :kwarg service: One of 'libravatar' or 'gravatar'. Default: 'libravatar'. :raises ValueError: if the size parameter is not allowed or if the service is not one of 'libravatar' or 'gravatar' :rtype: :obj:`str` :returns: url of a avatar for the user If that user has no avatar entry, instruct the remote service to redirect us to the Fedora logo. If that user has no email attribute, then make a fake request to the third party service. .. versionadded:: 0.3.26 .. versionchanged: 0.3.30 Add lookup_email parameter to control whether we generate avatar urls with the email in fas or username@fedoraproject.org .. versionchanged: 0.3.33 Renamed from `gravatar_url` to `avatar_url` .. versionchanged: 0.3.34 Updated libravatar to use the user's openid identifier. ''' if size not in self._valid_avatar_sizes: raise ValueError( 'Size %(size)i disallowed. Must be in %(valid_sizes)r' % { 'size': size, 'valid_sizes': self._valid_avatar_sizes } ) # If our caller explicitly requested libravatar but they don't have # it installed, then we need to raise a nice error and let them know. if service == 'libravatar' and not libravatar: raise ValueError("Install python-pylibravatar if you want to " "use libravatar as an avatar provider.") # If our caller didn't specify a service, let's pick a one for them. # If they have pylibravatar installed, then by all means let freedom # ring! Otherwise, we'll use gravatar.com if we have to. if not service: if libravatar: service = 'libravatar' else: service = 'gravatar' # Just double check to make sure they didn't pass us a bogus service. if service not in self._valid_avatar_services: raise ValueError( 'Service %(service)r disallowed. ' 'Must be in %(valid_services)r' % { 'service': service, 'valid_services': self._valid_avatar_services } ) if not default: default = "http://fedoraproject.org/static/images/" + \ "fedora_infinity_%ix%i.png" % (size, size) if service == 'libravatar': openid = 'http://%s.id.fedoraproject.org/' % username return libravatar.libravatar_url( openid=openid, size=size, default=default, ) else: if lookup_email: person = self.person_by_username(username) email = person.get('email', 'no_email') else: email = "%s@fedoraproject.org" % username query_string = urlencode({ 's': size, 'd': default, }) hash = md5(email.encode("utf-8")).hexdigest() return "http://www.gravatar.com/avatar/%s?%s" % ( hash, query_string) def gravatar_url(self, *args, **kwargs): """ *Deprecated* - Use avatar_url. .. versionadded:: 0.3.26 .. versionchanged: 0.3.30 Add lookup_email parameter to control whether we generate gravatar urls with the email in fas or username@fedoraproject.org .. versionchanged: 0.3.33 Deprecated in favor of `avatar_url`. """ warnings.warn( "gravatar_url is deprecated and will be removed in" " a future version. Please port your code to use avatar_url(...," " service='libravatar', ...) instead", DeprecationWarning, stacklevel=2) if 'service' in kwargs: raise TypeError("'service' is an invalid keyword argument for" " this function. Use avatar_url() instead)") return self.avatar_url(*args, service='gravatar', **kwargs) def user_id(self): '''Returns a dict relating user IDs to usernames''' request = self.send_request('json/user_id', auth=True) people = {} for person_id, username in request['people'].items(): # change userids from string back to integer people[int(person_id)] = username return people def people_by_key(self, key=u'username', search=u'*', fields=None): '''Return a dict of people For example: >>> ret_val = FASCLIENT.people_by_key( ... key='email', search='toshio*', fields=['id']) >>> ret_val.keys() a.badger@[...].com a.badger+test1@[...].com a.badger+test2@[...].com >>> ret_val.values() 100068 102023 102434 :kwarg key: Key used to organize the returned dictionary. Valid values are 'id', 'username', or 'email'. Default is 'username'. :kwarg search: Pattern to match usernames against. Defaults to the '*' wildcard which matches everyone. :kwarg fields: Limit the data returned to a specific list of fields. The default is to retrieve all fields. Valid fields are: * affiliation * alias_enabled * bugzilla_email * certificate_serial * comments * country_code * creation * email * emailtoken * facsimile * gpg_keyid * group_roles * human_name * id * internal_comments * ircnick * last_seen * latitude * locale * longitude * memberships * old_password * password * password_changed * passwordtoken * postal_address * privacy * roles * ssh_key * status * status_change * telephone * timezone * unverified_email * username Note that for most users who access this data, many of these fields will be set to None due to security or privacy settings. :returns: a dict relating the key value to the fields. .. versionchanged:: 0.3.21 Return a Bunch instead of a DictContainer .. versionchanged:: 0.3.26 Fixed to return a list with both people who have signed the CLA and have not ''' # Make sure we have a valid key value if key not in ('id', 'username', 'email'): raise KeyError('key must be one of "id", "username", or' ' "email"') if fields: fields = list(fields) for field in fields: if field not in USERFIELDS: raise KeyError('%(field)s is not a valid field to' ' filter' % {'field': to_bytes(field)}) else: fields = USERFIELDS # Make sure we retrieve the key value unrequested_fields = [] if key not in fields: unrequested_fields.append(key) fields.append(key) if 'bugzilla_email' in fields: # Need id and email for the bugzilla information if 'id' not in fields: unrequested_fields.append('id') fields.append('id') if 'email' not in fields: unrequested_fields.append('email') fields.append('email') request = self.send_request( '/user/list', req_params={ 'search': search, 'fields': [f for f in fields if f != 'bugzilla_email'] }, auth=True) people = Munch() for person in itertools.chain(request['people'], request['unapproved_people']): # Retrieve bugzilla_email from our list if necessary if 'bugzilla_email' in fields: if person['id'] in self.__bugzilla_email: person['bugzilla_email'] = \ self.__bugzilla_email[person['id']] else: person['bugzilla_email'] = person['email'] person_key = person[key] # Remove any fields that weren't requested by the user if unrequested_fields: for field in unrequested_fields: del person[field] # Add the person record to the people dict people[person_key] = person return people def people_by_id(self): '''*Deprecated* Use people_by_key() instead. Returns a dict relating user IDs to human_name, email, username, and bugzilla email .. versionchanged:: 0.3.21 Return a Bunch instead of a DictContainer ''' warnings.warn( "people_by_id() is deprecated and will be removed in" " 0.4. Please port your code to use people_by_key(key='id'," " fields=['human_name', 'email', 'username', 'bugzilla_email'])" " instead", DeprecationWarning, stacklevel=2) request = self.send_request('/json/user_id', auth=True) user_to_id = {} people = Munch() for person_id, username in request['people'].items(): person_id = int(person_id) # change userids from string back to integer people[person_id] = {'username': username, 'id': person_id} user_to_id[username] = person_id # Retrieve further useful information about the users request = self.send_request('/group/dump', auth=True) for user in request['people']: userid = user_to_id[user[0]] person = people[userid] person['email'] = user[1] person['human_name'] = user[2] if userid in self.__bugzilla_email: person['bugzilla_email'] = self.__bugzilla_email[userid] else: person['bugzilla_email'] = person['email'] return people ### Utils ### def people_by_groupname(self, groupname): '''Return a list of persons for the given groupname. :arg groupname: Name of the group to look up :returns: A list of person objects from the group. If the group contains no entries, then an empty list is returned. ''' people = self.people_by_id() group = dict(self.group_by_name(groupname)) userids = [user[u'person_id'] for user in group[u'approved_roles'] + group[u'unapproved_roles']] return [people[userid] for userid in userids] ### Configs ### def get_config(self, username, application, attribute): '''Return the config entry for the key values. :arg username: Username of the person :arg application: Application for which the config is set :arg attribute: Attribute key to lookup :raises AppError: if the server returns an exception :returns: The unicode string that describes the value. If no entry matched the username, application, and attribute then None is returned. ''' request = self.send_request('config/list/%s/%s/%s' % (username, application, attribute), auth=True) if 'exc' in request: raise AppError( name=request['exc'], message=request['tg_flash'] ) # Return the value if it exists, else None. if 'configs' in request and attribute in request['configs']: return request['configs'][attribute] return None def get_configs_like(self, username, application, pattern=u'*'): '''Return the config entries that match the keys and the pattern. Note: authentication on the server will prevent anyone but the user or a fas admin from viewing or changing their configs. :arg username: Username of the person :arg application: Application for which the config is set :kwarg pattern: A pattern to select values for. This accepts * as a wildcard character. Default='*' :raises AppError: if the server returns an exception :returns: A dict mapping ``attribute`` to ``value``. ''' request = self.send_request( 'config/list/%s/%s/%s' % (username, application, pattern), auth=True) if 'exc' in request: raise AppError( name=request['exc'], message=request['tg_flash']) return request['configs'] def set_config(self, username, application, attribute, value): '''Set a config entry in FAS for the user. Note: authentication on the server will prevent anyone but the user or a fas admin from viewing or changing their configs. :arg username: Username of the person :arg application: Application for which the config is set :arg attribute: The name of the config key that we're setting :arg value: The value to set this to :raises AppError: if the server returns an exception ''' request = self.send_request( 'config/set/%s/%s/%s' % (username, application, attribute), req_params={'value': value}, auth=True) if 'exc' in request: raise AppError( name=request['exc'], message=request['tg_flash']) def people_query(self, constraints=None, columns=None): '''Returns a list of dicts representing database rows :arg constraints: A dictionary specifying WHERE constraints on columns :arg columns: A list of columns to be selected in the query :raises AppError: if the query failed on the server (most likely because the server was given a bad query) :returns: A list of dicts representing database rows (the keys of the dict are the columns requested) .. versionadded:: 0.3.12.1 ''' if constraints is None: constraints = {} if columns is None: columns = [] req_params = {} req_params.update(constraints) req_params['columns'] = ','.join(columns) try: request = self.send_request( 'json/people_query', req_params=req_params, auth=True) if request['success']: return request['data'] else: raise AppError(message=request['error'], name='FASError') except FedoraServiceError: raise ### Certs ### def user_gencert(self): '''Generate a cert for a user''' try: request = self.send_request('user/dogencert', auth=True) except FedoraServiceError: raise if not request['cla']: raise CLAError return "%(cert)s\n%(key)s" % request ### Passwords ### def verify_password(self, username, password): '''Return whether the username and password pair are valid. :arg username: username to try authenticating :arg password: password for the user :returns: True if the username/password are valid. False otherwise. ''' return self.proxy.verify_password(username, password) ### fasClient Special Methods ### def group_data(self, force_refresh=None): '''Return administrators/sponsors/users and group type for all groups :arg force_refresh: If true, the returned data will be queried from the database, as opposed to memcached. :raises AppError: if the query failed on the server :returns: A dict mapping group names to the group type and the user IDs of the administrator, sponsors, and users of the group. .. versionadded:: 0.3.8 ''' params = {} if force_refresh: params['force_refresh'] = True try: request = self.send_request( 'json/fas_client/group_data', req_params=params, auth=True) if request['success']: return request['data'] else: raise AppError( message='FAS server unable to retrieve' ' group members', name='FASError') except FedoraServiceError: raise def user_data(self): '''Return user data for all users in FAS Note: If the user is not authorized to see password hashes, '*' is returned for the hash. :raises AppError: if the query failed on the server :returns: A dict mapping user IDs to a username, password hash, SSH public key, email address, and status. .. versionadded:: 0.3.8 ''' try: request = self.send_request('json/fas_client/user_data', auth=True) if request['success']: return request['data'] else: raise AppError( message='FAS server unable to retrieve user' ' information', name='FASError') except FedoraServiceError: raise python-fedora-1.1.1/fedora/client/fasproxy.py000066400000000000000000000203511375747342300212540ustar00rootroot00000000000000# -*- coding: utf-8 -*- # # Copyright (C) 2008-2009 Red Hat, Inc. # This file is part of python-fedora # # python-fedora 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. # # python-fedora 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 python-fedora; if not, see # '''Implement a class that sets up threadsafe communication with the Fedora Account System .. moduleauthor:: Ricky Zhou .. moduleauthor:: Toshio Kuratomi .. versionadded:: 0.3.17 ''' from fedora.client import AuthError, AppError from fedora.client.proxyclient import ProxyClient from fedora import __version__ import logging log = logging.getLogger(__name__) class FasProxyClient(ProxyClient): '''A threadsafe client to the Fedora Account System.''' def __init__(self, base_url='https://admin.fedoraproject.org/accounts/', *args, **kwargs): '''A threadsafe client to the Fedora Account System. This class is optimized to proxy multiple users to the account system. ProxyClient is designed to be threadsafe so that code can instantiate one instance of the class and use it for multiple requests for different users from different threads. If you want something that can manage a single user's connection to the Account System then use fedora.client.AccountSystem instead. :kwargs base_url: Base of every URL used to contact the server. Defaults to the Fedora Project FAS instance. :kwargs useragent: useragent string to use. If not given, default to "FAS Proxy Client/VERSION" :kwarg session_name: name of the cookie to use with session handling :kwarg debug: If True, log debug information :kwarg insecure: If True, do not check server certificates against their CA's. This means that man-in-the-middle attacks are possible against the `BaseClient`. You might turn this option on for testing against a local version of a server with a self-signed certificate but it should be off in production. ''' if 'useragent' not in kwargs: kwargs['useragent'] = 'FAS Proxy Client/%s' % __version__ if 'session_as_cookie' in kwargs and kwargs['session_as_cookie']: # No need to allow this in FasProxyClient as it's deprecated in # ProxyClient raise TypeError('FasProxyClient() got an unexpected keyword' ' argument \'session_as_cookie\'') kwargs['session_as_cookie'] = False super(FasProxyClient, self).__init__(base_url, *args, **kwargs) def login(self, username, password): '''Login to the Account System :arg username: username to send to FAS :arg password: Password to verify the username with :returns: a tuple of the session id FAS has associated with the user and the user's account information. This is similar to what is returned by :meth:`fedora.client.proxyclient.ProxyClient.get_user_info` :raises AuthError: if the username and password do not work ''' return self.send_request( '/login', auth_params={'username': username, 'password': password} ) def logout(self, session_id): '''Logout of the Account System :arg session_id: a FAS session_id to remove from FAS ''' self.send_request('/logout', auth_params={'session_id': session_id}) def refresh_session(self, session_id): '''Try to refresh a session_id to prevent it from timing out :arg session_id: FAS session_id to refresh :returns: session_id that FAS has set now ''' return self.send_request('', auth_params={'session_id': session_id}) def verify_session(self, session_id): '''Verify that a session is active. :arg session_id: session_id to verify is currently associated with a logged in user :returns: True if the session_id is valid. False otherwise. ''' try: self.send_request('/home', auth_params={'session_id': session_id}) except AuthError: return False except: raise return True def verify_password(self, username, password): '''Return whether the username and password pair are valid. :arg username: username to try authenticating :arg password: password for the user :returns: True if the username/password are valid. False otherwise. ''' try: self.send_request('/home', auth_params={'username': username, 'password': password}) except AuthError: return False except: raise return True def get_user_info(self, auth_params): '''Retrieve information about a logged in user. :arg auth_params: Auth information for a particular user. For instance, this can be a username/password pair or a session_id. Refer to :meth:`fedora.client.proxyclient.ProxyClient.send_request` for all the legal values for this. :returns: a tuple of session_id and information about the user. :raises AuthError: if the auth_params do not give access ''' request = self.send_request('/user/view', auth_params=auth_params) return (request[0], request[1]['person']) def person_by_id(self, person_id, auth_params): '''Retrieve information about a particular person :arg auth_params: Auth information for a particular user. For instance, this can be a username/password pair or a session_id. Refer to :meth:`fedora.client.proxyclient.ProxyClient.send_request` for all the legal values for this. :returns: a tuple of session_id and information about the user. :raises AppError: if the server returns an exception :raises AuthError: if the auth_params do not give access ''' request = self.send_request('/json/person_by_id', req_params={'person_id': person_id}, auth_params=auth_params) if request[1]['success']: # In a devel version of FAS, membership info was returned # separately # This has been corrected in a later version # Can remove this code at some point if 'approved' in request[1]: request[1]['person']['approved_memberships'] = \ request[1]['approved'] if 'unapproved' in request[1]: request[1]['person']['unapproved_memberships'] = \ request[1]['unapproved'] return (request[0], request[1]['person']) else: raise AppError(name='Generic AppError', message=request[1]['tg_flash']) def group_list(self, auth_params): '''Retrieve a list of groups :arg auth_params: Auth information for a particular user. For instance, this can be a username/password pair or a session_id. Refer to :meth:`fedora.client.proxyclient.ProxyClient.send_request` for all the legal values for this. :returns: a tuple of session_id and information about groups. The groups information is in two fields: :groups: contains information about each group :memberships: contains information about which users are members of which groups :raises AuthError: if the auth_params do not give access ''' request = self.send_request('/group/list', auth_params=auth_params) return request python-fedora-1.1.1/fedora/client/openidbaseclient.py000066400000000000000000000351661375747342300227230ustar00rootroot00000000000000#!/usr/bin/env python2 -tt # -*- coding: utf-8 -*- # # Copyright (C) 2013-2015 Red Hat, Inc. # This file is part of python-fedora # # python-fedora 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. # # python-fedora 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 python-fedora; if not, see # """Base client for application relying on OpenID for authentication. .. moduleauthor:: Pierre-Yves Chibon .. moduleauthor:: Toshio Kuratomi .. moduleauthor:: Ralph Bean .. versionadded: 0.3.35 """ # :F0401: Unable to import : Disabled because these will either import on py3 # or py2 not both. # :E0611: No name $X in module: This was renamed in python3 import json import logging import os import lockfile import requests import requests.adapters from requests.packages.urllib3.util import Retry from six.moves.urllib.parse import urljoin from functools import wraps from munch import munchify from kitchen.text.converters import to_bytes from fedora import __version__ from fedora.client import (AuthError, LoginRequiredError, ServerError, UnsafeFileError, check_file_permissions) from fedora.client.openidproxyclient import ( OpenIdProxyClient, absolute_url, openid_login) log = logging.getLogger(__name__) b_SESSION_DIR = os.path.join(os.path.expanduser('~'), '.fedora') b_SESSION_FILE = os.path.join(b_SESSION_DIR, 'openidbaseclient-sessions.cache') def requires_login(func): """ Decorator function for get or post requests requiring login. Decorate a controller method that requires the user to be authenticated. Example:: from fedora.client.openidbaseclient import requires_login @requires_login def rename_user(new_name): user = new_name # [...] """ def _decorator(request, *args, **kwargs): """ Run the function and check if it redirected to the openid form. Or if we got a 403 """ output = func(request, *args, **kwargs) if output and \ 'OpenID transaction in progress' in output.text: raise LoginRequiredError( '{0} requires a logged in user'.format(output.url)) elif output.status_code == 403: raise LoginRequiredError( '{0} requires a logged in user'.format(output.url)) return output return wraps(func)(_decorator) class OpenIdBaseClient(OpenIdProxyClient): """ A client for interacting with web services relying on openid auth. """ def __init__(self, base_url, login_url=None, useragent=None, debug=False, insecure=False, openid_insecure=False, username=None, cache_session=True, retries=None, timeout=None, retry_backoff_factor=0): """Client for interacting with web services relying on fas_openid auth. :arg base_url: Base of every URL used to contact the server :kwarg login_url: The url to the login endpoint of the application. If none are specified, it uses the default `/login`. :kwarg useragent: Useragent string to use. If not given, default to "Fedora OpenIdBaseClient/VERSION" :kwarg debug: If True, log debug information :kwarg insecure: If True, do not check server certificates against their CA's. This means that man-in-the-middle attacks are possible against the `BaseClient`. You might turn this option on for testing against a local version of a server with a self-signed certificate but it should be off in production. :kwarg openid_insecure: If True, do not check the openid server certificates against their CA's. This means that man-in-the- middle attacks are possible against the `BaseClient`. You might turn this option on for testing against a local version of a server with a self-signed certificate but it should be off in production. :kwarg username: Username for establishing authenticated connections :kwarg cache_session: If set to true, cache the user's session data on the filesystem between runs :kwarg retries: if we get an unknown or possibly transient error from the server, retry this many times. Setting this to a negative number makes it try forever. Defaults to zero, no retries. Note that this can only be set during object initialization. :kwarg timeout: A float describing the timeout of the connection. The timeout only affects the connection process itself, not the downloading of the response body. Defaults to 120 seconds. :kwarg retry_backoff_factor: Exponential backoff factor to apply in between retry attempts. We will sleep for: `{retry_backoff_factor}*(2 ^ ({number of failed retries} - 1))` ...seconds inbetween attempts. The backoff factor scales the rate at which we back off. Defaults to 0 (backoff disabled). Note that this attribute can only be set at object initialization. """ # These are also needed by OpenIdProxyClient self.useragent = useragent or 'Fedora BaseClient/%(version)s' % { 'version': __version__} self.base_url = base_url self.login_url = login_url or urljoin(self.base_url, '/login') self.debug = debug self.insecure = insecure self.openid_insecure = openid_insecure self.retries = retries self.timeout = timeout # These are specific to OpenIdBaseClient self.username = username self.cache_session = cache_session self.cache_lock = lockfile.FileLock(b_SESSION_FILE) # Make sure the database for storing the session cookies exists if cache_session: self._initialize_session_cache() # python-requests session. Holds onto cookies self._session = requests.session() # Also hold on to retry logic. # http://www.coglib.com/~icordasc/blog/2014/12/retries-in-requests.html server_errors = [500, 501, 502, 503, 504, 506, 507, 508, 509, 599] method_whitelist = Retry.DEFAULT_METHOD_WHITELIST.union(set(['POST'])) if retries is not None: prefixes = ['http://', 'https://'] for prefix in prefixes: self._session.mount(prefix, requests.adapters.HTTPAdapter( max_retries=Retry( total=retries, status_forcelist=server_errors, backoff_factor=retry_backoff_factor, method_whitelist=method_whitelist, ), )) # See if we have any cookies kicking around from a previous run self._load_cookies() def _initialize_session_cache(self): # Note -- fallback to returning None on any problems as this isn't # critical. It just makes it so that we don't have to ask the user # for their password over and over. if not os.path.isdir(b_SESSION_DIR): try: os.makedirs(b_SESSION_DIR, mode=0o750) except OSError as err: log.warning('Unable to create {file}: {error}'.format( file=b_SESSION_DIR, error=err)) self.cache_session = False return None @requires_login def _authed_post(self, url, params=None, data=None, **kwargs): """ Return the request object of a post query.""" response = self._session.post(url, params=params, data=data, **kwargs) return response @requires_login def _authed_get(self, url, params=None, data=None, **kwargs): """ Return the request object of a get query.""" response = self._session.get(url, params=params, data=data, **kwargs) return response @requires_login def _authed_put(self, url, params=None, data=None, **kwargs): """ Return the request object of a put query.""" response = self._session.put(url, params=params, data=data, **kwargs) return response @requires_login def _authed_delete(self, url, params=None, data=None, **kwargs): """ Return the request object of a delete query.""" response = self._session.delete(url, params=params, data=data, **kwargs) return response def send_request(self, method, auth=False, verb='POST', **kwargs): """Make an HTTP request to a server method. The given method is called with any parameters set in req_params. If auth is True, then the request is made with an authenticated session cookie. :arg method: Method to call on the server. It's a url fragment that comes after the :attr:`base_url` set in :meth:`__init__`. :kwarg auth: If True perform auth to the server, else do not. :kwarg req_params: Extra parameters to send to the server. :kwarg file_params: dict of files where the key is the name of the file field used in the remote method and the value is the local path of the file to be uploaded. If you want to pass multiple files to a single file field, pass the paths as a list of paths. :kwarg verb: HTTP verb to use. GET and POST are currently supported. POST is the default. """ # Decide on the set of auth cookies to use method = absolute_url(self.base_url, method) self._authed_verb_dispatcher = {(False, 'POST'): self._session.post, (False, 'GET'): self._session.get, (False, 'PUT'): self._session.put, (False, 'DELETE'): self._session.delete, (True, 'POST'): self._authed_post, (True, 'GET'): self._authed_get, (True, 'PUT'): self._authed_put, (True, 'DELETE'): self._authed_delete} if 'timeout' not in kwargs: kwargs['timeout'] = self.timeout try: func = self._authed_verb_dispatcher[(auth, verb)] except KeyError: raise Exception('Unknown HTTP verb') try: output = func(method, **kwargs) except LoginRequiredError: raise AuthError() try: data = output.json() except ValueError as e: # The response wasn't JSON data raise ServerError( method, output.status_code, 'Error returned from' ' json module while processing %(url)s: %(err)s\n%(output)s' % { 'url': to_bytes(method), 'err': to_bytes(e), 'output': to_bytes(output.text), }) data = munchify(data) return data def login(self, username, password, otp=None): """ Open a session for the user. Log in the user with the specified username and password against the FAS OpenID server. :arg username: the FAS username of the user that wants to log in :arg password: the FAS password of the user that wants to log in :kwarg otp: currently unused. Eventually a way to send an otp to the API that the API can use. """ if not username: raise AuthError("Username may not be %r at login." % username) if not password: raise AuthError("Password required for login.") # It looks like we're really doing this. Let's make sure that we don't # collide various cookies, and clear every cookie we had up until now # for this service. self._session.cookies.clear() self._save_cookies() response = openid_login( session=self._session, login_url=self.login_url, username=username, password=password, otp=otp, openid_insecure=self.openid_insecure) self._save_cookies() return response @property def session_key(self): return "%s:%s" % (self.base_url, self.username or '') def has_cookies(self): return bool(self._session.cookies) def _load_cookies(self): if not self.cache_session: return try: check_file_permissions(b_SESSION_FILE, True) except UnsafeFileError as e: log.debug('Current sessions ignored: {}'.format(str(e))) return try: with self.cache_lock: with open(b_SESSION_FILE, 'rb') as f: data = json.loads(f.read().decode('utf-8')) for key, value in data[self.session_key]: self._session.cookies[key] = value except KeyError: log.debug("No pre-existing session for %s" % self.session_key) except IOError: # The file doesn't exist, so create it. log.debug("Creating %s", b_SESSION_FILE) oldmask = os.umask(0o027) with open(b_SESSION_FILE, 'wb') as f: f.write(json.dumps({}).encode('utf-8')) os.umask(oldmask) def _save_cookies(self): if not self.cache_session: return with self.cache_lock: try: check_file_permissions(b_SESSION_FILE, True) with open(b_SESSION_FILE, 'rb') as f: data = json.loads(f.read().decode('utf-8')) except UnsafeFileError as e: log.debug('Clearing sessions: {}'.format(str(e))) os.unlink(b_SESSION_FILE) data = {} except Exception: log.warn("Failed to open cookie cache before saving.") data = {} oldmask = os.umask(0o027) data[self.session_key] = self._session.cookies.items() with open(b_SESSION_FILE, 'wb') as f: f.write(json.dumps(data).encode('utf-8')) os.umask(oldmask) __all__ = ('OpenIdBaseClient', 'requires_login') python-fedora-1.1.1/fedora/client/openidcclient.py000066400000000000000000000052631375747342300222260ustar00rootroot00000000000000# -*- coding: utf-8 -*- # # Copyright (C) 2016, 2017 Red Hat, Inc. # This file is part of python-fedora # # python-fedora 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. # # python-fedora 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 python-fedora; if not, see # """Base client for applications relying on OpenID Connect for authentication. Implementation note: this implementation hardcodes certain endpoints at the IdP to the ones as implemented by Ipsilon 2.0 and higher. .. moduleauthor:: Patrick Uiterwijk .. versionadded: 0.3.35 """ from fedora import __version__ from openidc_client import OpenIDCClient PROD_IDP = 'https://id.fedoraproject.org/openidc/' STG_IDP = 'https://id.stg.fedoraproject.org/openidc/' DEV_IDP = 'https://iddev.fedorainfracloud.org/openidc/' class OpenIDCBaseClient(OpenIDCClient): def __init__(self, app_identifier, id_provider, client_id, client_secret=None, use_post=False, cachedir=None): """Client for interacting with web services relying on OpenID Connect. :arg app_identifier: Identifier for storage of retrieved tokens :kwarg id_provider: URL of the identity provider to get tokens from :kwarg client_id: The Client Identifier used to request credentials :kwarg client_secret: The secret associated with the Client Identifier. :kwarg use_post: Whether to use POST submission of client secrets rather than Authorization header :kwarg cachedir: The directory in which to store the token caches. Will be put through expanduer. Default is ~/.fedora. If this does not exist and we are unable to create it, the OSError will e thrown up. """ if cachedir is None: cachedir = '~/.fedora/' super(OpenIDCBaseClient, self).__init__( app_identifier=app_identifier, id_provider=id_provider, id_provider_mapping={'Token': 'Token', 'Authorization': 'Authorization'}, client_id=client_id, client_secret=client_secret, use_post=use_post, useragent='Python-Fedora/%s' % __version__, cachedir=cachedir) python-fedora-1.1.1/fedora/client/openidproxyclient.py000066400000000000000000000554541375747342300231740ustar00rootroot00000000000000#!/usr/bin/env python2 -tt # -*- coding: utf-8 -*- # # Copyright (C) 2013-2014 Red Hat, Inc. # This file is part of python-fedora # # python-fedora 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. # # python-fedora 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 python-fedora; if not, see # """Implement a class that sets up simple communication to a Fedora Service. .. moduleauthor:: Pierre-Yves Chibon .. moduleauthor:: Toshio Kuratomi .. versionadded: 0.3.35 """ import copy import logging import re # For handling an exception that's coming from requests: import ssl import time from six.moves import http_client as httplib from six.moves.urllib.parse import quote, parse_qs, urljoin, urlparse # Hack, hack, hack around # the horror that is logging! # Verily, verliy, verily, verily # We should all use something better try: # Python 2.7+ from logging import NullHandler except ImportError: class NullHandler(logging.Handler): def emit(self, *args): pass import requests #from munch import munchify from kitchen.text.converters import to_bytes # For handling an exception that's coming from requests: import urllib3 from fedora import __version__ from fedora.client import AuthError, ServerError, FedoraServiceError log = logging.getLogger(__name__) log.addHandler(NullHandler()) OPENID_SESSION_NAME = 'FAS_OPENID' FEDORA_OPENID_API = 'https://id.fedoraproject.org/api/v1/' FEDORA_OPENID_RE = re.compile(r'^http(s)?:\/\/id\.(|stg.|dev.)?fedoraproject\.org(/)?') def _parse_response_history(response): """ Retrieve the attributes from the response history. """ data = {} for r in response.history: if FEDORA_OPENID_RE.match(r.url): parsed = parse_qs(urlparse(r.url).query) for key, value in parsed.items(): data[key] = value[0] break return data def openid_login(session, login_url, username, password, otp=None, openid_insecure=False): """ Open a session for the user. Log in the user with the specified username and password against the FAS OpenID server. :arg session: Requests session object required to persist the cookies that are created during redirects on the openid provider. :arg login_url: The url to the login endpoint of the application. :arg username: the FAS username of the user that wants to log in :arg password: the FAS password of the user that wants to log in :kwarg otp: currently unused. Eventually a way to send an otp to the API that the API can use. :kwarg openid_insecure: If True, do not check the openid server certificates against their CA's. This means that man-in-the-middle attacks are possible against the `BaseClient`. You might turn this option on for testing against a local version of a server with a self-signed certificate but it should be off in production. """ # Log into the service response = session.get( login_url, headers={'Accept': 'application/json'}) try: data = response.json() openid_url = data.get('server_url', None) if not FEDORA_OPENID_RE.match(openid_url): raise FedoraServiceError( 'Un-expected openid provider asked: %s' % openid_url) except: # Some consumers (like pyramid_openid) return redirects with the # openid attributes encoded in the url if not FEDORA_OPENID_RE.match(response.url): raise FedoraServiceError( 'Un-expected openid provider asked: %s' % response.url) data = _parse_response_history(response) # Contact openid provider data['username'] = username data['password'] = password # Let's precise to FedOAuth that we want to authenticate with FAS data['auth_module'] = 'fedoauth.auth.fas.Auth_FAS' data['auth_flow'] = 'fedora' if not 'openid.mode' in data: data['openid.mode'] = 'checkid_setup' response = session.post( FEDORA_OPENID_API, data=data, verify=not openid_insecure) if not bool(response): raise ServerError(FEDORA_OPENID_API, response.status_code, 'Error returned from our POST to ipsilon.') output = response.json() if not output['success']: raise AuthError(output['message']) response = session.post(output['response']['openid.return_to'], data=output['response']) return response def absolute_url(beginning, end): """ Join two urls parts if the last part does not start with the first part specified """ if not end.startswith(beginning): end = urljoin(beginning, end) return end class OpenIdProxyClient(object): # pylint: disable-msg=R0903 """ A client to a Fedora Service. This class is optimized to proxy multiple users to a service. OpenIdProxyClient is designed to be usable by code that creates a single instance of this class and uses it in multiple threads. However it is not completely threadsafe. See the information on setting attributes below. If you want something that can manage one user's connection to a Fedora Service, then look into using :class:`~fedora.client.OpenIdBaseClient` instead. This class has several attributes. These may be changed after instantiation. Please note, however, that changing these values when another thread is utilizing the same instance may affect more than just the thread that you are making the change in. (For instance, changing the debug option could cause other threads to start logging debug messages in the middle of a method.) .. attribute:: base_url Initial portion of the url to contact the server. It is highly recommended not to change this value unless you know that no other threads are accessing this :class:`OpenIdProxyClient` instance. .. attribute:: useragent Changes the useragent string that is reported to the web server. .. attribute:: session_name Name of the cookie that holds the authentication value. .. attribute:: debug If :data:`True`, then more verbose logging is performed to aid in debugging issues. .. attribute:: insecure If :data:`True` then the connection to the server is not checked to be sure that any SSL certificate information is valid. That means that a remote host can lie about who it is. Useful for development but should not be used in production code. .. attribute:: retries Setting this to a positive integer will retry failed requests to the web server this many times. Setting to a negative integer will retry forever. .. attribute:: timeout A float describing the timeout of the connection. The timeout only affects the connection process itself, not the downloading of the response body. Defaults to 120 seconds. """ def __init__(self, base_url, login_url=None, useragent=None, session_name='session', debug=False, insecure=False, openid_insecure=False, retries=None, timeout=None): """Create a client configured for a particular service. :arg base_url: Base of every URL used to contact the server :kwarg login_url: The url to the login endpoint of the application. If none are specified, it uses the default `/login`. :kwarg useragent: useragent string to use. If not given, default to "Fedora ProxyClient/VERSION" :kwarg session_name: name of the cookie to use with session handling :kwarg debug: If True, log debug information :kwarg insecure: If True, do not check server certificates against their CA's. This means that man-in-the-middle attacks are possible against the `BaseClient`. You might turn this option on for testing against a local version of a server with a self-signed certificate but it should be off in production. :kwarg openid_insecure: If True, do not check the openid server certificates against their CA's. This means that man-in-the- middle attacks are possible against the `BaseClient`. You might turn this option on for testing against a local version of a server with a self-signed certificate but it should be off in production. :kwarg retries: if we get an unknown or possibly transient error from the server, retry this many times. Setting this to a negative number makes it try forever. Defaults to zero, no retries. :kwarg timeout: A float describing the timeout of the connection. The timeout only affects the connection process itself, not the downloading of the response body. Defaults to 120 seconds. """ self.debug = debug log.debug('proxyclient.__init__:entered') # When we are instantiated, go ahead and silence the python-requests # log. It is kind of noisy in our app server logs. if not debug: requests_log = logging.getLogger("requests") requests_log.setLevel(logging.WARN) if base_url[-1] != '/': base_url = base_url + '/' self.base_url = base_url self.login_url = login_url or urljoin(self.base_url, '/login') self.domain = urlparse(self.base_url).netloc self.useragent = useragent or 'Fedora ProxyClient/%(version)s' % { 'version': __version__} self.session_name = session_name self.insecure = insecure self.openid_insecure = openid_insecure # Have to do retries and timeout default values this way as BaseClient # sends None for these values if not overridden by the user. if retries is None: self.retries = 0 else: self.retries = retries if timeout is None: self.timeout = 120.0 else: self.timeout = timeout log.debug('proxyclient.__init__:exited') def __get_debug(self): """Return whether we have debug logging turned on. :Returns: True if debugging is on, False otherwise. """ if log.level <= logging.DEBUG: return True return False def __set_debug(self, debug=False): """Change debug level. :kwarg debug: A true value to turn debugging on, false value to turn it off. """ if debug: log.setLevel(logging.DEBUG) else: log.setLevel(logging.ERROR) debug = property(__get_debug, __set_debug, doc=""" When True, we log extra debugging statements. When False, we only log errors. """) def login(self, username, password, otp=None): """ Open a session for the user. Log in the user with the specified username and password against the FAS OpenID server. :arg username: the FAS username of the user that wants to log in :arg password: the FAS password of the user that wants to log in :kwarg otp: currently unused. Eventually a way to send an otp to the API that the API can use. :return: a tuple containing both the response from the OpenID provider and the session used to by this provider. """ session = requests.session() response = openid_login( session=session, login_url=self.login_url, username=username, password=password, otp=otp, openid_insecure=self.openid_insecure) return (response, session) def send_request(self, method, verb='POST', req_params=None, auth_params=None, file_params=None, retries=None, timeout=None, headers=None): """Make an HTTP request to a server method. The given method is called with any parameters set in ``req_params``. If auth is True, then the request is made with an authenticated session cookie. Note that path parameters should be set by adding onto the method, not via ``req_params``. :arg method: Method to call on the server. It's a url fragment that comes after the base_url set in __init__(). Note that any parameters set as extra path information should be listed here, not in ``req_params``. :kwarg req_params: dict containing extra parameters to send to the server :kwarg auth_params: dict containing one or more means of authenticating to the server. Valid entries in this dict are: :cookie: **Deprecated** Use ``session_id`` instead. If both ``cookie`` and ``session_id`` are set, only ``session_id`` will be used. A ``Cookie.SimpleCookie`` to send as a session cookie to the server :session_id: Session id to put in a cookie to construct an identity for the server :username: Username to send to the server :password: Password to use with username to send to the server :httpauth: If set to ``basic`` then use HTTP Basic Authentication to send the username and password to the server. This may be extended in the future to support other httpauth types than ``basic``. Note that cookie can be sent alone but if one of username or password is set the other must as well. Code can set all of these if it wants and all of them will be sent to the server. Be careful of sending cookies that do not match with the username in this case as the server can decide what to do in this case. :kwarg file_params: dict of files where the key is the name of the file field used in the remote method and the value is the local path of the file to be uploaded. If you want to pass multiple files to a single file field, pass the paths as a list of paths. :kwarg retries: if we get an unknown or possibly transient error from the server, retry this many times. Setting this to a negative number makes it try forever. Default to use the :attr:`retries` value set on the instance or in :meth:`__init__`. :kwarg timeout: A float describing the timeout of the connection. The timeout only affects the connection process itself, not the downloading of the response body. Defaults to the :attr:`timeout` value set on the instance or in :meth:`__init__`. :kwarg headers: A dictionary containing specific headers to add to the request made. :returns: A tuple of session_id and data. :rtype: tuple of session information and data from server """ log.debug('openidproxyclient.send_request: entered') # parameter mangling file_params = file_params or {} # Check whether we need to authenticate for this request session_id = None username = None password = None if auth_params: if 'session_id' in auth_params: session_id = auth_params['session_id'] if 'username' in auth_params and 'password' in auth_params: username = auth_params['username'] password = auth_params['password'] elif 'username' in auth_params or 'password' in auth_params: raise AuthError( 'username and password must both be set in auth_params' ) if not (session_id or username): raise AuthError( 'No known authentication methods specified: set ' '"cookie" in auth_params or set both username and ' 'password in auth_params') # urljoin is slightly different than os.path.join(). Make sure # method will work with it. method = method.lstrip('/') # And join to make our url. url = urljoin(self.base_url, quote(method)) # Set standard headers if headers: if not 'User-agent' in headers: headers['User-agent'] = self.useragent if not 'Accept' in headers: headers['Accept'] = 'application/json' else: headers = { 'User-agent': self.useragent, 'Accept': 'application/json', } # Files to upload for field_name, local_file_name in file_params: file_params[field_name] = open(local_file_name, 'rb') cookies = requests.cookies.RequestsCookieJar() # If we have a session_id, send it if session_id: # Anytime the session_id exists, send it so that visit tracking # works. Will also authenticate us if there's a need. Note # that there's no need to set other cookie attributes because # this is a cookie generated client-side. cookies.set(self.session_name, session_id) complete_params = req_params or {} auth = None if username and password: # OpenID login resp, session = self.login(username, password, otp=None) cookies = session.cookies # If debug, give people our debug info log.debug('Creating request %s', to_bytes(url)) log.debug('Headers: %s', to_bytes(headers, nonstring='simplerepr')) if self.debug and complete_params: debug_data = copy.deepcopy(complete_params) if 'password' in debug_data: debug_data['password'] = 'xxxxxxx' log.debug('Data: %r', debug_data) if retries is None: retries = self.retries if timeout is None: timeout = self.timeout num_tries = 0 while True: try: response = session.request( method=verb, url=url, data=complete_params, cookies=cookies, headers=headers, auth=auth, verify=not self.insecure, timeout=timeout, ) except (requests.Timeout, requests.exceptions.SSLError) as err: if isinstance(err, requests.exceptions.SSLError): # And now we know how not to code a library exception # hierarchy... We're expecting that requests is raising # the following stupidity: # requests.exceptions.SSLError( # urllib3.exceptions.SSLError( # ssl.SSLError('The read operation timed out'))) # If we weren't interested in reraising the exception with # full traceback we could use a try: except instead of # this gross conditional. But we need to code defensively # because we don't want to raise an unrelated exception # here and if requests/urllib3 can do this sort of # nonsense, they may change the nonsense in the future if not (err.args and isinstance( err.args[0], urllib3.exceptions.SSLError) and err.args[0].args and isinstance(err.args[0].args[0], ssl.SSLError) and err.args[0].args[0].args and 'timed out' in err.args[0].args[0].args[0]): # We're only interested in timeouts here raise log.debug('Request timed out') if retries < 0 or num_tries < retries: num_tries += 1 log.debug('Attempt #%s failed', num_tries) time.sleep(0.5) continue # Fail and raise an error # Raising our own exception protects the user from the # implementation detail of requests vs pycurl vs urllib raise ServerError( url, -1, 'Request timed out after %s seconds' % timeout) # When the python-requests module gets a response, it attempts to # guess the encoding using chardet (or a fork) # That process can take an extraordinarily long time for long # response.text strings.. upwards of 30 minutes for FAS queries to # /accounts/user/list JSON api! Therefore, we cut that codepath # off at the pass by assuming that the response is 'utf-8'. We can # make that assumption because we're only interfacing with servers # that we run (and we know that they all return responses # encoded 'utf-8'). response.encoding = 'utf-8' # Check for auth failures # Note: old TG apps returned 403 Forbidden on authentication # failures. # Updated apps return 401 Unauthorized # We need to accept both until all apps are updated to return 401. http_status = response.status_code if http_status in (401, 403): # Wrong username or password log.debug('Authentication failed logging in') raise AuthError( 'Unable to log into server. Invalid ' 'authentication tokens. Send new username and password' ) elif http_status >= 400: if retries < 0 or num_tries < retries: # Retry the request num_tries += 1 log.debug('Attempt #%s failed', num_tries) time.sleep(0.5) continue # Fail and raise an error try: msg = httplib.responses[http_status] except (KeyError, AttributeError): msg = 'Unknown HTTP Server Response' raise ServerError(url, http_status, msg) # Successfully returned data break # In case the server returned a new session cookie to us new_session = session.cookies.get(self.session_name, '') log.debug('openidproxyclient.send_request: exited') #data = munchify(data) return new_session, response __all__ = (OpenIdProxyClient,) python-fedora-1.1.1/fedora/client/proxyclient.py000066400000000000000000000544461375747342300217750ustar00rootroot00000000000000# -*- coding: utf-8 -*- # # Copyright (C) 2009-2013 Red Hat, Inc. # This file is part of python-fedora # # python-fedora 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. # # python-fedora 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 python-fedora; if not, see # '''Implement a class that sets up simple communication to a Fedora Service. .. moduleauthor:: Luke Macken .. moduleauthor:: Toshio Kuratomi .. moduleauthor:: Ralph Bean ''' import copy from hashlib import sha1 import logging # For handling an exception that's coming from requests: import ssl import time import warnings from munch import munchify from kitchen.text.converters import to_bytes import requests from six.moves import http_client as httplib from six.moves import http_cookies as Cookie from six.moves.urllib.parse import quote, urljoin, urlparse from fedora import __version__ from fedora.client import AppError, AuthError, ServerError log = logging.getLogger(__name__) class ProxyClient(object): # pylint: disable-msg=R0903 ''' A client to a Fedora Service. This class is optimized to proxy multiple users to a service. ProxyClient is designed to be threadsafe so that code can instantiate one instance of the class and use it for multiple requests for different users from different threads. If you want something that can manage one user's connection to a Fedora Service, then look into using BaseClient instead. This class has several attributes. These may be changed after instantiation however, please note that this class is intended to be threadsafe. Changing these values when another thread may affect more than just the thread that you are making the change in. (For instance, changing the debug option could cause other threads to start logging debug messages in the middle of a method.) .. attribute:: base_url Initial portion of the url to contact the server. It is highly recommended not to change this value unless you know that no other threads are accessing this :class:`ProxyClient` instance. .. attribute:: useragent Changes the useragent string that is reported to the web server. .. attribute:: session_name Name of the cookie that holds the authentication value. .. attribute:: session_as_cookie If :data:`True`, then the session information is saved locally as a cookie. This is here for backwards compatibility. New code should set this to :data:`False` when constructing the :class:`ProxyClient`. .. attribute:: debug If :data:`True`, then more verbose logging is performed to aid in debugging issues. .. attribute:: insecure If :data:`True` then the connection to the server is not checked to be sure that any SSL certificate information is valid. That means that a remote host can lie about who it is. Useful for development but should not be used in production code. .. attribute:: retries Setting this to a positive integer will retry failed requests to the web server this many times. Setting to a negative integer will retry forever. .. attribute:: timeout A float describing the timeout of the connection. The timeout only affects the connection process itself, not the downloading of the response body. Defaults to 120 seconds. .. versionchanged:: 0.3.33 Added the timeout attribute ''' log = log def __init__(self, base_url, useragent=None, session_name='tg-visit', session_as_cookie=True, debug=False, insecure=False, retries=None, timeout=None): '''Create a client configured for a particular service. :arg base_url: Base of every URL used to contact the server :kwarg useragent: useragent string to use. If not given, default to "Fedora ProxyClient/VERSION" :kwarg session_name: name of the cookie to use with session handling :kwarg session_as_cookie: If set to True, return the session as a SimpleCookie. If False, return a session_id. This flag allows us to maintain compatibility for the 0.3 branch. In 0.4, code will have to deal with session_id's instead of cookies. :kwarg debug: If True, log debug information :kwarg insecure: If True, do not check server certificates against their CA's. This means that man-in-the-middle attacks are possible against the `BaseClient`. You might turn this option on for testing against a local version of a server with a self-signed certificate but it should be off in production. :kwarg retries: if we get an unknown or possibly transient error from the server, retry this many times. Setting this to a negative number makes it try forever. Defaults to zero, no retries. :kwarg timeout: A float describing the timeout of the connection. The timeout only affects the connection process itself, not the downloading of the response body. Defaults to 120 seconds. .. versionchanged:: 0.3.33 Added the timeout kwarg ''' # Setup our logger self._log_handler = logging.StreamHandler() self.debug = debug format = logging.Formatter("%(message)s") self._log_handler.setFormatter(format) self.log.addHandler(self._log_handler) # When we are instantiated, go ahead and silence the python-requests # log. It is kind of noisy in our app server logs. if not debug: requests_log = logging.getLogger("requests") requests_log.setLevel(logging.WARN) self.log.debug('proxyclient.__init__:entered') if base_url[-1] != '/': base_url = base_url + '/' self.base_url = base_url self.domain = urlparse(self.base_url).netloc self.useragent = useragent or 'Fedora ProxyClient/%(version)s' % { 'version': __version__} self.session_name = session_name self.session_as_cookie = session_as_cookie if session_as_cookie: warnings.warn( 'Returning cookies from send_request() is' ' deprecated and will be removed in 0.4. Please port your' ' code to use a session_id instead by calling the ProxyClient' ' constructor with session_as_cookie=False', DeprecationWarning, stacklevel=2) self.insecure = insecure # Have to do retries and timeout default values this way as BaseClient # sends None for these values if not overridden by the user. if retries is None: self.retries = 0 else: self.retries = retries if timeout is None: self.timeout = 120.0 else: self.timeout = timeout self.log.debug('proxyclient.__init__:exited') def __get_debug(self): '''Return whether we have debug logging turned on. :Returns: True if debugging is on, False otherwise. ''' if self._log_handler.level <= logging.DEBUG: return True return False def __set_debug(self, debug=False): '''Change debug level. :kwarg debug: A true value to turn debugging on, false value to turn it off. ''' if debug: self.log.setLevel(logging.DEBUG) self._log_handler.setLevel(logging.DEBUG) else: self.log.setLevel(logging.ERROR) self._log_handler.setLevel(logging.INFO) debug = property(__get_debug, __set_debug, doc=''' When True, we log extra debugging statements. When False, we only log errors. ''') def send_request(self, method, req_params=None, auth_params=None, file_params=None, retries=None, timeout=None): '''Make an HTTP request to a server method. The given method is called with any parameters set in ``req_params``. If auth is True, then the request is made with an authenticated session cookie. Note that path parameters should be set by adding onto the method, not via ``req_params``. :arg method: Method to call on the server. It's a url fragment that comes after the base_url set in __init__(). Note that any parameters set as extra path information should be listed here, not in ``req_params``. :kwarg req_params: dict containing extra parameters to send to the server :kwarg auth_params: dict containing one or more means of authenticating to the server. Valid entries in this dict are: :cookie: **Deprecated** Use ``session_id`` instead. If both ``cookie`` and ``session_id`` are set, only ``session_id`` will be used. A ``Cookie.SimpleCookie`` to send as a session cookie to the server :session_id: Session id to put in a cookie to construct an identity for the server :username: Username to send to the server :password: Password to use with username to send to the server :httpauth: If set to ``basic`` then use HTTP Basic Authentication to send the username and password to the server. This may be extended in the future to support other httpauth types than ``basic``. Note that cookie can be sent alone but if one of username or password is set the other must as well. Code can set all of these if it wants and all of them will be sent to the server. Be careful of sending cookies that do not match with the username in this case as the server can decide what to do in this case. :kwarg file_params: dict of files where the key is the name of the file field used in the remote method and the value is the local path of the file to be uploaded. If you want to pass multiple files to a single file field, pass the paths as a list of paths. :kwarg retries: if we get an unknown or possibly transient error from the server, retry this many times. Setting this to a negative number makes it try forever. Default to use the :attr:`retries` value set on the instance or in :meth:`__init__`. :kwarg timeout: A float describing the timeout of the connection. The timeout only affects the connection process itself, not the downloading of the response body. Defaults to the :attr:`timeout` value set on the instance or in :meth:`__init__`. :returns: If ProxyClient is created with session_as_cookie=True (the default), a tuple of session cookie and data from the server. If ProxyClient was created with session_as_cookie=False, a tuple of session_id and data instead. :rtype: tuple of session information and data from server .. versionchanged:: 0.3.17 No longer send tg_format=json parameter. We rely solely on the Accept: application/json header now. .. versionchanged:: 0.3.21 * Return data as a Bunch instead of a DictContainer * Add file_params to allow uploading files .. versionchanged:: 0.3.33 Added the timeout kwarg ''' self.log.debug('proxyclient.send_request: entered') # parameter mangling file_params = file_params or {} # Check whether we need to authenticate for this request session_id = None username = None password = None if auth_params: if 'session_id' in auth_params: session_id = auth_params['session_id'] elif 'cookie' in auth_params: warnings.warn( 'Giving a cookie to send_request() to' ' authenticate is deprecated and will be removed in 0.4.' ' Please port your code to use session_id instead.', DeprecationWarning, stacklevel=2) session_id = auth_params['cookie'].output(attrs=[], header='').strip() if 'username' in auth_params and 'password' in auth_params: username = auth_params['username'] password = auth_params['password'] elif 'username' in auth_params or 'password' in auth_params: raise AuthError('username and password must both be set in' ' auth_params') if not (session_id or username): raise AuthError( 'No known authentication methods' ' specified: set "cookie" in auth_params or set both' ' username and password in auth_params') # urljoin is slightly different than os.path.join(). Make sure method # will work with it. method = method.lstrip('/') # And join to make our url. url = urljoin(self.base_url, quote(method)) data = None # decoded JSON via json.load() # Set standard headers headers = { 'User-agent': self.useragent, 'Accept': 'application/json', } # Files to upload for field_name, local_file_name in file_params: file_params[field_name] = open(local_file_name, 'rb') cookies = requests.cookies.RequestsCookieJar() # If we have a session_id, send it if session_id: # Anytime the session_id exists, send it so that visit tracking # works. Will also authenticate us if there's a need. Note that # there's no need to set other cookie attributes because this is a # cookie generated client-side. cookies.set(self.session_name, session_id) complete_params = req_params or {} if session_id: # Add the csrf protection token token = sha1(to_bytes(session_id)) complete_params.update({'_csrf_token': token.hexdigest()}) auth = None if username and password: if auth_params.get('httpauth', '').lower() == 'basic': # HTTP Basic auth login auth = (username, password) else: # TG login # Adding this to the request data prevents it from being # logged by apache. complete_params.update({ 'user_name': to_bytes(username), 'password': to_bytes(password), 'login': 'Login', }) # If debug, give people our debug info self.log.debug('Creating request %(url)s' % {'url': to_bytes(url)}) self.log.debug('Headers: %(header)s' % {'header': to_bytes(headers, nonstring='simplerepr')}) if self.debug and complete_params: debug_data = copy.deepcopy(complete_params) if 'password' in debug_data: debug_data['password'] = 'xxxxxxx' self.log.debug('Data: %r' % debug_data) if retries is None: retries = self.retries if timeout is None: timeout = self.timeout num_tries = 0 while True: try: response = requests.post( url, data=complete_params, cookies=cookies, headers=headers, auth=auth, verify=not self.insecure, timeout=timeout, ) except (requests.Timeout, requests.exceptions.SSLError) as e: if isinstance(e, requests.exceptions.SSLError): # And now we know how not to code a library exception # hierarchy... We're expecting that requests is raising # the following stupidity: # requests.exceptions.SSLError( # urllib3.exceptions.SSLError( # ssl.SSLError('The read operation timed out'))) # If we weren't interested in reraising the exception with # full tracdeback we could use a try: except instead of # this gross conditional. But we need to code defensively # because we don't want to raise an unrelated exception # here and if requests/urllib3 can do this sort of # nonsense, they may change the nonsense in the future # # And a note on the __class__.__name__/__module__ parsing: # On top of all the other things it does wrong, requests # is bundling a copy of urllib3. Distros can unbundle it. # But because of the bundling, python will think # exceptions raised by the version downloaded by pypi # (requests.packages.urllib3.exceptions.SSLError) are # different than the exceptions raised by the unbundled # distro version (urllib3.exceptions.SSLError). We could # do a try: except trying to import both of these # SSLErrors and then code to detect either one of them but # the whole thing is just stupid. So we'll use a stupid # hack of our own that (1) means we don't have to depend # on urllib3 just for this exception and (2) is (slightly) # less likely to break on the whims of the requests # author. if not (e.args and e.args[0].__class__.__name__ == 'SSLError' and e.args[0].__class__.__module__.endswith( 'urllib3.exceptions') and e.args[0].args and isinstance(e.args[0].args[0], ssl.SSLError) and e.args[0].args[0].args and 'timed out' in e.args[0].args[0].args[0]): # We're only interested in timeouts here raise self.log.debug('Request timed out') if retries < 0 or num_tries < retries: num_tries += 1 self.log.debug( 'Attempt #%(try)s failed' % {'try': num_tries}) time.sleep(0.5) continue # Fail and raise an error # Raising our own exception protects the user from the # implementation detail of requests vs pycurl vs urllib raise ServerError( url, -1, 'Request timed out after %s seconds' % timeout) # When the python-requests module gets a response, it attempts to # guess the encoding using chardet (or a fork) # That process can take an extraordinarily long time for long # response.text strings.. upwards of 30 minutes for FAS queries to # /accounts/user/list JSON api! Therefore, we cut that codepath # off at the pass by assuming that the response is 'utf-8'. We can # make that assumption because we're only interfacing with servers # that we run (and we know that they all return responses # encoded 'utf-8'). response.encoding = 'utf-8' # Check for auth failures # Note: old TG apps returned 403 Forbidden on authentication # failures. # Updated apps return 401 Unauthorized # We need to accept both until all apps are updated to return 401. http_status = response.status_code if http_status in (401, 403): # Wrong username or password self.log.debug('Authentication failed logging in') raise AuthError( 'Unable to log into server. Invalid' ' authentication tokens. Send new username and password') elif http_status >= 400: if retries < 0 or num_tries < retries: # Retry the request num_tries += 1 self.log.debug( 'Attempt #%(try)s failed' % {'try': num_tries}) time.sleep(0.5) continue # Fail and raise an error try: msg = httplib.responses[http_status] except (KeyError, AttributeError): msg = 'Unknown HTTP Server Response' raise ServerError(url, http_status, msg) # Successfully returned data break # In case the server returned a new session cookie to us new_session = response.cookies.get(self.session_name, '') try: data = response.json() except ValueError as e: # The response wasn't JSON data raise ServerError( url, http_status, 'Error returned from' ' json module while processing %(url)s: %(err)s' % {'url': to_bytes(url), 'err': to_bytes(e)}) if 'exc' in data: name = data.pop('exc') message = data.pop('tg_flash') raise AppError(name=name, message=message, extras=data) # If we need to return a cookie for deprecated code, convert it here if self.session_as_cookie: cookie = Cookie.SimpleCookie() cookie[self.session_name] = new_session new_session = cookie self.log.debug('proxyclient.send_request: exited') data = munchify(data) return new_session, data __all__ = (ProxyClient,) python-fedora-1.1.1/fedora/client/wiki.py000066400000000000000000000220741375747342300203500ustar00rootroot00000000000000#!/usr/bin/python -tt # -*- coding: utf-8 -*- # # Copyright 2008-2009 Red Hat, Inc. # This file is part of python-fedora # # python-fedora 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. # # python-fedora 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 python-fedora; if not, see # ''' A Wiki Client This interface is *deprecated*. Please use resources recommended by upstream instead: https://www.mediawiki.org/wiki/API:Client_code#Python .. moduleauthor:: Luke Macken .. moduleauthor:: Toshio Kuratomi .. moduleauthor:: Ian Weller ''' from __future__ import print_function from datetime import datetime, timedelta import time import warnings from kitchen.text.converters import to_bytes from fedora.client import BaseClient, AuthError from fedora import _ MEDIAWIKI_DATEFORMAT = "%Y-%m-%dT%H:%M:%SZ" class Wiki(BaseClient): api_high_limits = False def __init__(self, base_url='https://fedoraproject.org/w/', *args, **kwargs): super(Wiki, self).__init__(base_url, *args, **kwargs) warnings.warn( "The Wiki client is deprecated. Please use resources " "recommended by upstream instead: https://www.mediawiki." "org/wiki/API:Client_code#Python") def get_recent_changes(self, now, then, limit=500): """ Get recent wiki changes from `now` until `then` """ data = self.send_request( 'api.php', req_params={ 'list': 'recentchanges', 'action': 'query', 'format': 'json', 'rcprop': 'user|title', 'rcend': then.isoformat().split('.')[0] + 'Z', 'rclimit': limit, }) if 'error' in data: raise Exception(data['error']['info']) return data['query']['recentchanges'] def login(self, username, password): data = self.send_request('api.php', req_params={ 'action': 'login', 'format': 'json', 'lgname': username, 'lgpassword': password, }) if 'lgtoken' not in data.get('login', {}): raise AuthError( 'Login failed: %(data)s' % { 'data': to_bytes(data) }) #self.session_id = data['login']['lgtoken'] #self.username = data['login']['lgusername'] self.check_api_limits() return data def check_api_limits(self): """ Checks whether you have the 'apihighlimits' right or not. """ data = self.send_request('api.php', req_params={ 'action': 'query', 'meta': 'userinfo', 'uiprop': 'rights', 'format': 'json', }) self.api_high_limits = "apihighlimits" in \ data['query']['userinfo']['rights'] return self.api_high_limits def print_recent_changes(self, days=7, show=10): now = datetime.utcnow() then = now - timedelta(days=days) print(_(u"From %(then)s to %(now)s") % {'then': then, 'now': now}) changes = self.get_recent_changes(now=now, then=then) num_changes = len(changes) print(_(u"%d wiki changes in the past week") % num_changes) if num_changes == 500: print(_( u"""Warning: Number of changes reaches the API return limit. You will not get the complete list of changes unless you run this script using a 'bot' account.""")) users = {} pages = {} for change in changes: users.setdefault(change['user'], []).append(change['title']) pages[change['title']] = pages.setdefault(change['title'], 0) + 1 print(_(u'\n== Most active wiki users ==')) for user, changes in sorted(users.items(), key=lambda x: len(x[1]), reverse=True)[:show]: print(u' %-50s %d' % (('%s' % user).ljust(50, '.'), len(changes))) print(_(u'\n== Most edited pages ==')) for page, num in sorted(pages.items(), key=lambda x: x[1], reverse=True)[:show]: print(u' %-50s %d' % (('%s' % page).ljust(50, '.'), num)) def fetch_all_revisions(self, start=1, flags=True, timestamp=True, user=True, size=False, comment=True, content=False, title=True, ignore_imported_revs=True, ignore_wikibot=False, callback=None): """ Fetch data for all revisions. This could take a long time. You can start at a specific revision by modifying the 'start' keyword argument. To ignore revisions made by "ImportUser" and "Admin" set ignore_imported_revs to True (this is the default). To ignore edits made by Wikibot set ignore_wikibot to True (False is the default). Modifying the remainder of the keyword arguments will return less/more data. """ # first we need to get the latest revision id change = self.send_request( 'api.php', req_params={ 'list': 'recentchanges', 'action': 'query', 'format': 'json', 'rcprop': 'ids', 'rclimit': 1, 'rctype': 'edit|new', } ) latest_revid = change['query']['recentchanges'][0]['revid'] # now we loop through all the revisions we want rvprop_list = { 'flags': flags, 'timestamp': timestamp, 'user': True, 'size': size, 'comment': comment, 'content': content, 'ids': True, } rvprop = '|'.join([key for key in rvprop_list if rvprop_list[key]]) revs_to_get = list(range(start, latest_revid)) all_revs = {} if self.api_high_limits: limit = 500 else: limit = 50 for i in range(0, len(revs_to_get), limit): revid_list = revs_to_get[i:i+limit] revid_str = '|'.join([str(rev) for rev in revid_list]) data = self.send_request( 'api.php', req_params={ 'action': 'query', 'prop': 'revisions', 'rvprop': rvprop, 'revids': revid_str, 'format': 'json', } ) if 'pages' not in data['query'].keys(): continue if 'badrevids' in data['query'].keys(): [revs_to_get.remove(i['revid']) for i in data['query']['badrevids'].values()] for pageid in data['query']['pages']: page = data['query']['pages'][pageid] for revision in page['revisions']: if ignore_imported_revs and \ revision['user'] in ['ImportUser', 'Admin'] or \ ignore_wikibot and revision['user'] == 'Wikibot': revs_to_get.remove(revision['revid']) continue this_rev = {} if flags: this_rev['minor'] = 'minor' in revision.keys() if timestamp: this_rev['time'] = time.strptime(revision['timestamp'], MEDIAWIKI_DATEFORMAT) if user: this_rev['user'] = revision['user'] if size: this_rev['size'] = revision['size'] if comment: if 'comment' in revision.keys(): this_rev['comment'] = revision['comment'] else: this_rev['comment'] = None if content: this_rev['content'] = revision['content'] if title: this_rev['title'] = page['title'] all_revs[revision['revid']] = this_rev if callback: callback(all_revs, revs_to_get) return all_revs if __name__ == '__main__': #from getpass import getpass #from six.moves import input #username = input('Username: ') #password = getpass() wiki = Wiki() #cookie = wiki.login(username=username, password=password) #print "login response =", cookie #wiki = Wiki(username=username, session_id=cookie['login']['lgtoken'], # session_name='fpo-mediawiki_en_Token') wiki.print_recent_changes() python-fedora-1.1.1/fedora/iterutils.py000066400000000000000000000037611375747342300201550ustar00rootroot00000000000000# -*- coding: utf-8 -*- # # Copyright (C) 2009 Red Hat, Inc. # This file is part of python-fedora # # python-fedora 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. # # python-fedora 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 python-fedora; if not, see # ''' Functions to manipulate iterables .. versionadded:: 0.3.17 .. versionchanged:: 0.3.21 Deprecated in favor of the kitchen.iterutils module .. moduleauthor:: Toshio Kuratomi ''' import warnings from kitchen.iterutils import isiterable as _isiterable warnings.warn('fedora.iterutils is deprecated. Use kitchen.iterutils' ' instead', DeprecationWarning, stacklevel=2) def isiterable(obj, include_string=True): '''*Deprecated* Use kitchen.iterutils.isiterable instead. .. warning:: kitchen.iterutils.isiterable uses False as the default value for :attr:`include_string` instead of True. Check whether an object is an iterable. :arg obj: Object to test whether it is an iterable :include_string: If True (default), if `obj` is a str or unicode this function will return True. If set to False, strings and unicodes will cause this function to return False. :returns: True if `obj` is iterable, otherwise False. ''' warnings.warn('fedora.iterutils.isiterable is deprecated, use' ' kitchen.iterutils.isiterable instead', DeprecationWarning, stacklevel=2) return _isiterable(obj, include_string) __all__ = ['isiterable'] python-fedora-1.1.1/fedora/release.py000066400000000000000000000012621375747342300175430ustar00rootroot00000000000000''' Information about this python-fedora release ''' NAME = 'python-fedora' VERSION = '1.1.1' DESCRIPTION = 'Python modules for interacting with Fedora Services' LONG_DESCRIPTION = ''' The Fedora Project runs many different services. These services help us to package software, develop new programs, and generally put together the distro. This package contains software that helps us do that. ''' AUTHOR = 'Toshio Kuratomi, Luke Macken, Ricky Elrod, Ralph Bean, Patrick Uiterwijk' EMAIL = 'admin@fedoraproject.org' COPYRIGHT = '2007-2020 Red Hat, Inc.' URL = 'https://github.com/fedora-infra/python-fedora' DOWNLOAD_URL = 'https://pypi.python.org/pypi/python-fedora' LICENSE = 'LGPLv2+' python-fedora-1.1.1/fedora/textutils.py000066400000000000000000000023311375747342300201660ustar00rootroot00000000000000# -*- coding: utf-8 -*- # # Copyright (C) 2010 Red Hat, Inc. # This file is part of python-fedora # # python-fedora 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. # # python-fedora 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 python-fedora; if not, see # ''' Functions to manipulate unicode and byte strings .. versionadded:: 0.3.17 .. versionchanged:: 0.3.22 Deprecate in favor of kitchen.text.converters .. moduleauthor:: Toshio Kuratomi ''' import warnings from kitchen.text.converters import to_unicode, to_bytes warnings.warn('fedora.textutils is deprecated. Use' ' kitchen.text.converters instead', DeprecationWarning, stacklevel=2) __all__ = ('to_unicode', 'to_bytes') python-fedora-1.1.1/fedora/urlutils.py000066400000000000000000000065451375747342300200170ustar00rootroot00000000000000# -*- coding: utf-8 -*- # # Copyright (C) 2009 Red Hat, Inc. # This file is part of python-fedora # # python-fedora 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. # # python-fedora 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 python-fedora; if not, see # ''' Functions to manipulate urls. .. versionadded:: 0.3.17 .. moduleauthor:: John (J5) Palmieri .. moduleauthor:: Toshio Kuratomi ''' from kitchen.iterutils import isiterable from six.moves.urllib.parse import parse_qs, urlencode, urlparse, urlunparse def update_qs(uri, new_params, overwrite=True): '''Helper function for updating query string values. Similar to calling update on a dictionary except we modify the query string of the uri instead of another dictionary. :arg uri: URI to modify :arg new_params: Dict of new query parameters to add. :kwarg overwrite: If True (default), any old query parameter with the same name as a new query parameter will be overwritten. If False, the new query parameters will be appended to a list with the old parameters at the start of the list. :returns: URI with the new parameters added. ''' loc = list(urlparse(uri)) query_dict = parse_qs(loc[4]) if overwrite: # Overwrite any existing values with the new values query_dict.update(new_params) else: # Add new values in addition to the existing parameters # For every new entry for key in new_params: # If the entry already is present if key in query_dict: if isiterable(new_params[key]): # If the new entry is a non-string iterable try: # Try to add the new values to the existing entry query_dict[key].extend(new_params[key]) except AttributeError: # Existing value wasn't a list, make it one query_dict[key] = [query_dict[key], new_params[key]] else: # The new entry is a scalar, so try to append it try: query_dict[key].append(new_params[key]) except AttributeError: # Existing value wasn't a list, make it one query_dict[key] = [query_dict[key], new_params[key]] else: # No previous entry, just set to the new entry query_dict[key] = new_params[key] # seems that we have to sanitize a bit here query_list = [] for key, value in query_dict.items(): if isiterable(value): for item in value: query_list.append((key, item)) continue query_list.append((key, value)) loc[4] = urlencode(query_list) return urlunparse(loc) __all__ = ['update_qs'] python-fedora-1.1.1/fedora/wsgi/000077500000000000000000000000001375747342300165215ustar00rootroot00000000000000python-fedora-1.1.1/fedora/wsgi/__init__.py000066400000000000000000000000001375747342300206200ustar00rootroot00000000000000python-fedora-1.1.1/fedora/wsgi/csrf.py000066400000000000000000000312201375747342300200260ustar00rootroot00000000000000# # -*- coding: utf-8 -*- # # Copyright (C) 2008-2011 Red Hat, Inc. # This file is part of python-fedora # # python-fedora 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. # # python-fedora 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 python-fedora; if not, see # ''' Cross-site Request Forgery Protection. http://en.wikipedia.org/wiki/Cross-site_request_forgery .. moduleauthor:: John (J5) Palmieri .. moduleauthor:: Luke Macken .. versionadded:: 0.3.17 ''' from hashlib import sha1 import logging from munch import Munch from kitchen.text.converters import to_bytes from webob import Request try: # webob > 1.0 from webob.headers import ResponseHeaders except ImportError: # webob < 1.0 from webob.headerdict import HeaderDict as ResponseHeaders from paste.httpexceptions import HTTPFound from paste.response import replace_header from repoze.who.interfaces import IMetadataProvider from zope.interface import implements from fedora.urlutils import update_qs log = logging.getLogger(__name__) class CSRFProtectionMiddleware(object): ''' CSRF Protection WSGI Middleware. A layer of WSGI middleware that is responsible for making sure authenticated requests originated from the user inside of the app's domain and not a malicious website. This middleware works with the :mod:`repoze.who` middleware, and requires that it is placed below :mod:`repoze.who` in the WSGI stack, since it relies upon ``repoze.who.identity`` to exist in the environ before it is called. To utilize this middleware, you can just add it to your WSGI stack below the :mod:`repoze.who` middleware. Here is an example of utilizing the `CSRFProtectionMiddleware` within a TurboGears2 application. In your ``project/config/middleware.py``, you would wrap your main application with the `CSRFProtectionMiddleware`, like so: .. code-block:: python from fedora.wsgi.csrf import CSRFProtectionMiddleware def make_app(global_conf, full_stack=True, **app_conf): app = make_base_app(global_conf, wrap_app=CSRFProtectionMiddleware, full_stack=full_stack, **app_conf) You then need to add the CSRF token to every url that you need to be authenticated for. When used with TurboGears2, an overridden version of :func:`tg.url` is provided. You can use it directly by calling:: from fedora.tg2.utils import url [...] url = url('/authentication_needed') An easier and more portable way to use that is from within TG2 to set this up is to use :func:`fedora.tg2.utils.enable_csrf` when you setup your application. This function will monkeypatch TurboGears2's :func:`tg.url` so that it adds a csrf token to urls. This way, you can keep the same code in your templates and controller methods whether or not you configure the CSRF middleware to provide you with protection via :func:`~fedora.tg2.utils.enable_csrf`. ''' def __init__(self, application, csrf_token_id='_csrf_token', clear_env='repoze.who.identity repoze.what.credentials', token_env='CSRF_TOKEN', auth_state='CSRF_AUTH_STATE'): ''' Initialize the CSRF Protection WSGI Middleware. :csrf_token_id: The name of the CSRF token variable :clear_env: Variables to clear out of the `environ` on invalid token :token_env: The name of the token variable in the environ :auth_state: The environ key that will be set when we are logging in ''' log.info('Creating CSRFProtectionMiddleware') self.application = application self.csrf_token_id = csrf_token_id self.clear_env = clear_env.split() self.token_env = token_env self.auth_state = auth_state def _clean_environ(self, environ): ''' Delete the ``keys`` from the supplied ``environ`` ''' log.debug('clean_environ(%s)' % to_bytes(self.clear_env)) for key in self.clear_env: if key in environ: log.debug('Deleting %(key)s from environ' % {'key': to_bytes(key)}) del(environ[key]) def __call__(self, environ, start_response): ''' This method is called for each request. It looks for a user-supplied CSRF token in the GET/POST parameters, and compares it to the token attached to ``environ['repoze.who.identity']['_csrf_token']``. If it does not match, or if a token is not provided, it will remove the user from the ``environ``, based on the ``clear_env`` setting. ''' request = Request(environ) log.debug('CSRFProtectionMiddleware(%(r_path)s)' % {'r_path': to_bytes(request.path)}) token = environ.get('repoze.who.identity', {}).get(self.csrf_token_id) csrf_token = environ.get(self.token_env) if token and csrf_token and token == csrf_token: log.debug('User supplied CSRF token matches environ!') else: if not environ.get(self.auth_state): log.debug('Clearing identity') self._clean_environ(environ) if 'repoze.who.identity' not in environ: environ['repoze.who.identity'] = Munch() if 'repoze.who.logins' not in environ: # For compatibility with friendlyform environ['repoze.who.logins'] = 0 if csrf_token: log.warning('Invalid CSRF token. User supplied' ' (%(u_token)s) does not match what\'s in our' ' environ (%(e_token)s)' % {'u_token': to_bytes(csrf_token), 'e_token': to_bytes(token)}) response = request.get_response(self.application) if environ.get(self.auth_state): log.debug('CSRF_AUTH_STATE; rewriting headers') token = environ.get('repoze.who.identity', {})\ .get(self.csrf_token_id) loc = update_qs( response.location, {self.csrf_token_id: str(token)}) response.location = loc log.debug('response.location = %(r_loc)s' % {'r_loc': to_bytes(response.location)}) environ[self.auth_state] = None return response(environ, start_response) class CSRFMetadataProvider(object): ''' Repoze.who CSRF Metadata Provider Plugin. This metadata provider is called with an authenticated users identity automatically by repoze.who. It will then take the SHA1 hash of the users session cookie, and set it as the CSRF token in ``environ['repoze.who.identity']['_csrf_token']``. This plugin will also set ``CSRF_AUTH_STATE`` in the environ if the user has just authenticated during this request. To enable this plugin in a TurboGears2 application, you can add the following to your ``project/config/app_cfg.py`` .. code-block:: python from fedora.wsgi.csrf import CSRFMetadataProvider base_config.sa_auth.mdproviders = [('csrfmd', CSRFMetadataProvider())] Note: If you use the faswho plugin, this is turned on automatically. ''' implements(IMetadataProvider) def __init__(self, csrf_token_id='_csrf_token', session_cookie='tg-visit', clear_env='repoze.who.identity repoze.what.credentials', login_handler='/post_login', token_env='CSRF_TOKEN', auth_session_id='CSRF_AUTH_SESSION_ID', auth_state='CSRF_AUTH_STATE'): ''' Create the CSRF Metadata Provider Plugin. :kwarg csrf_token_id: The name of the CSRF token variable. The identity will contain an entry with this as key and the computed csrf_token as the value. :kwarg session_cookie: The name of the session cookie :kwarg login_handler: The path to the login handler, used to determine if the user logged in during this request :kwarg token_env: The name of the token variable in the environ. The environ will contain the token from the request :kwarg auth_session_id: The environ key containing an optional session id :kwarg auth_state: The environ key that indicates when we are logging in ''' self.csrf_token_id = csrf_token_id self.session_cookie = session_cookie self.clear_env = clear_env self.login_handler = login_handler self.token_env = token_env self.auth_session_id = auth_session_id self.auth_state = auth_state def strip_script(self, environ, path): # Strips the script portion of a url path so the middleware works even # when mounted under a path other than root if path.startswith('/') and 'SCRIPT_NAME' in environ: prefix = environ.get('SCRIPT_NAME') if prefix.endswith('/'): prefix = prefix[:-1] if path.startswith(prefix): path = path[len(prefix):] return path def add_metadata(self, environ, identity): request = Request(environ) log.debug('CSRFMetadataProvider.add_metadata(%(r_path)s)' % {'r_path': to_bytes(request.path)}) session_id = environ.get(self.auth_session_id) if not session_id: session_id = request.cookies.get(self.session_cookie) log.debug('session_id = %(s_id)r' % {'s_id': to_bytes(session_id)}) if session_id and session_id != 'Set-Cookie:': environ[self.auth_session_id] = session_id token = sha1(session_id).hexdigest() identity.update({self.csrf_token_id: token}) log.debug('Identity updated with CSRF token') path = self.strip_script(environ, request.path) if path == self.login_handler: log.debug('Setting CSRF_AUTH_STATE') environ[self.auth_state] = True environ[self.token_env] = token else: environ[self.token_env] = self.extract_csrf_token(request) app = environ.get('repoze.who.application') if app: # This occurs during login in some application configurations if isinstance(app, HTTPFound) and environ.get(self.auth_state): log.debug('Got HTTPFound(302) from' ' repoze.who.application') # What possessed people to make this a string or # a function? location = app.location if hasattr(location, '__call__'): location = location() loc = update_qs(location, {self.csrf_token_id: str(token)}) headers = app.headers.items() replace_header(headers, 'location', loc) app.headers = ResponseHeaders(headers) log.debug('Altered headers: %(headers)s' % { 'headers': to_bytes(app.headers)}) else: log.warning('Invalid session cookie %(s_id)r, not setting CSRF' ' token!' % {'s_id': to_bytes(session_id)}) def extract_csrf_token(self, request): '''Extract and remove the CSRF token from a given :class:`webob.Request` ''' csrf_token = None if self.csrf_token_id in request.GET: log.debug("%(token)s in GET" % {'token': to_bytes(self.csrf_token_id)}) csrf_token = request.GET[self.csrf_token_id] del(request.GET[self.csrf_token_id]) request.query_string = '&'.join(['%s=%s' % (k, v) for k, v in request.GET.items()]) if self.csrf_token_id in request.POST: log.debug("%(token)s in POST" % {'token': to_bytes(self.csrf_token_id)}) csrf_token = request.POST[self.csrf_token_id] del(request.POST[self.csrf_token_id]) return csrf_token python-fedora-1.1.1/fedora/wsgi/faswho/000077500000000000000000000000001375747342300200105ustar00rootroot00000000000000python-fedora-1.1.1/fedora/wsgi/faswho/__init__.py000066400000000000000000000002171375747342300221210ustar00rootroot00000000000000from fedora.wsgi.faswho.faswhoplugin import ( FASWhoPlugin, make_faswho_middleware ) __all__ = (FASWhoPlugin, make_faswho_middleware) python-fedora-1.1.1/fedora/wsgi/faswho/faswhoplugin.py000066400000000000000000000363641375747342300231040ustar00rootroot00000000000000# -*- coding: utf-8 -*- # # Copyright (C) 2008-2011 Red Hat, Inc. # This file is part of python-fedora # # python-fedora 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. # # python-fedora 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 python-fedora; if not, see # ''' repoze.who plugin to authenticate against hte Fedora Account System .. moduleauthor:: John (J5) Palmieri .. moduleauthor:: Luke Macken .. moduleauthor:: Toshio Kuratomi .. versionadded:: 0.3.17 .. versionchanged:: 0.3.26 - Added secure and httponly as optional attributes to the session cookie - Removed too-aggressive caching (wouldn't detect logout from another app) - Added ability to authenticate and request a page in one request ''' import os import sys import logging import pkg_resources from beaker.cache import Cache from munch import Munch from kitchen.text.converters import to_bytes, exception_to_bytes from paste.httpexceptions import HTTPFound from repoze.who.middleware import PluggableAuthenticationMiddleware from repoze.who.classifiers import default_request_classifier from repoze.who.classifiers import default_challenge_decider from repoze.who.interfaces import IChallenger, IIdentifier from repoze.who.plugins.basicauth import BasicAuthPlugin from repoze.who.plugins.friendlyform import FriendlyFormPlugin from paste.request import parse_dict_querystring, parse_formvars from six.moves.urllib.parse import quote_plus import webob from fedora.client import AuthError from fedora.client.fasproxy import FasProxyClient from fedora.wsgi.csrf import CSRFMetadataProvider, CSRFProtectionMiddleware log = logging.getLogger(__name__) FAS_URL = 'https://admin.fedoraproject.org/accounts/' FAS_CACHE_TIMEOUT = 900 # 15 minutes (FAS visits timeout after 20) fas_cache = Cache('fas_repozewho_cache', type='memory') def fas_request_classifier(environ): classifier = default_request_classifier(environ) if classifier == 'browser': request = webob.Request(environ) if not request.accept.best_match( ['application/xhtml+xml', 'text/html']): classifier = 'app' return classifier def make_faswho_middleware( app, log_stream=None, login_handler='/login_handler', login_form_url='/login', logout_handler='/logout_handler', post_login_url='/post_login', post_logout_url=None, fas_url=FAS_URL, insecure=False, ssl_cookie=True, httponly=True): ''' :arg app: WSGI app that is being wrapped :kwarg log_stream: :class:`logging.Logger` to log auth messages :kwarg login_handler: URL where the login form is submitted :kwarg login_form_url: URL where the login form is displayed :kwarg logout_handler: URL where the logout form is submitted :kwarg post_login_url: URL to redirect the user to after login :kwarg post_logout_url: URL to redirect the user to after logout :kwarg fas_url: Base URL to the FAS server :kwarg insecure: Allow connecting to a fas server without checking the server's SSL certificate. Opens you up to MITM attacks but can be useful when testing. *Do not enable this in production* :kwarg ssl_cookie: If :data:`True` (default), tell the browser to only send the session cookie back over https. :kwarg httponly: If :data:`True` (default), tell the browser that the session cookie should only be read for sending to a server, not for access by JavaScript or other clientside technology. This prevents using the session cookie to pass information to JavaScript clients but also prevents XSS attacks from stealing the session cookie information. ''' # Because of the way we override values (via a dict in AppConfig), we # need to make this a keyword arg and then check it here to make it act # like a positional arg. if not log_stream: raise TypeError( 'log_stream must be set when calling make_fasauth_middleware()') faswho = FASWhoPlugin(fas_url, insecure=insecure, ssl_cookie=ssl_cookie, httponly=httponly) csrf_mdprovider = CSRFMetadataProvider() form = FriendlyFormPlugin(login_form_url, login_handler, post_login_url, logout_handler, post_logout_url, rememberer_name='fasident', charset='utf-8') form.classifications = {IIdentifier: ['browser'], IChallenger: ['browser']} # only for browser basicauth = BasicAuthPlugin('repoze.who') identifiers = [ ('form', form), ('fasident', faswho), ('basicauth', basicauth) ] authenticators = [('fasauth', faswho)] challengers = [('form', form), ('basicauth', basicauth)] mdproviders = [('fasmd', faswho), ('csrfmd', csrf_mdprovider)] if os.environ.get('FAS_WHO_LOG'): log_stream = sys.stdout app = CSRFProtectionMiddleware(app) app = PluggableAuthenticationMiddleware( app, identifiers, authenticators, challengers, mdproviders, fas_request_classifier, default_challenge_decider, log_stream=log_stream, ) return app class FASWhoPlugin(object): def __init__(self, url, insecure=False, session_cookie='tg-visit', ssl_cookie=True, httponly=True): self.url = url self.insecure = insecure self.fas = FasProxyClient(url, insecure=insecure) self.session_cookie = session_cookie self.ssl_cookie = ssl_cookie self.httponly = httponly self._session_cache = {} self._metadata_plugins = [] for entry in pkg_resources.iter_entry_points( 'fas.repoze.who.metadata_plugins'): self._metadata_plugins.append(entry.load()) def _retrieve_user_info(self, environ, auth_params=None): ''' Retrieve information from fas and cache the results. We need to retrieve the user fresh every time because we need to know that the password hasn't changed or the session_id hasn't been invalidated by the user logging out. ''' if not auth_params: return None user_data = self.fas.get_user_info(auth_params) if not user_data: self.forget(environ, None) return None if isinstance(user_data, tuple): user_data = list(user_data) # Set session_id in here so it can be found by other plugins user_data[1]['session_id'] = user_data[0] # we don't define permissions since we don't have any peruser data # though other services may wish to add another metadata plugin to do # so if not 'permissions' in user_data[1]: user_data[1]['permissions'] = set() # we keep the approved_memberships list because there is also an # unapproved_membership field. The groups field is for repoze.who # group checking and may include other types of groups besides # memberships in the future (such as special fedora community groups) groups = set() for g in user_data[1]['approved_memberships']: groups.add(g['name']) user_data[1]['groups'] = groups # If we have information on the user, cache it for later fas_cache.set_value(user_data[1]['username'], user_data, expiretime=FAS_CACHE_TIMEOUT) return user_data def identify(self, environ): '''Extract information to identify a user Retrieve either a username and password or a session_id that can be passed on to FAS to authenticate the user. ''' log.info('in identify()') # friendlyform compat if not 'repoze.who.logins' in environ: environ['repoze.who.logins'] = 0 req = webob.Request(environ, charset='utf-8') cookie = req.cookies.get(self.session_cookie) # This is compatible with TG1 and it gives us a way to authenticate # a user without making two requests query = req.GET form = Munch(req.POST) form.update(query) if form.get('login', None) == 'Login' and \ 'user_name' in form and \ 'password' in form: identity = { 'login': form['user_name'], 'password': form['password'] } keys = ('login', 'password', 'user_name') for k in keys: if k in req.GET: del(req.GET[k]) if k in req.POST: del(req.POST[k]) return identity if cookie is None: return None log.info('Request identify for cookie %(cookie)s' % {'cookie': to_bytes(cookie)}) try: user_data = self._retrieve_user_info( environ, auth_params={'session_id': cookie}) except Exception as e: # pylint:disable-msg=W0703 # For any exceptions, returning None means we failed to identify log.warning(e) return None if not user_data: return None # Preauthenticated identity = {'repoze.who.userid': user_data[1]['username'], 'login': user_data[1]['username'], 'password': user_data[1]['password']} return identity def remember(self, environ, identity): log.info('In remember()') result = [] user_data = fas_cache.get_value(identity['login']) try: session_id = user_data[0] except Exception: return None set_cookie = ['%s=%s; Path=/;' % (self.session_cookie, session_id)] if self.ssl_cookie: set_cookie.append('Secure') if self.httponly: set_cookie.append('HttpOnly') set_cookie = '; '.join(set_cookie) result.append(('Set-Cookie', set_cookie)) return result def forget(self, environ, identity): log.info('In forget()') # return a expires Set-Cookie header user_data = fas_cache.get_value(identity['login']) try: session_id = user_data[0] except Exception: return None log.info('Forgetting login data for cookie %(s_id)s' % {'s_id': to_bytes(session_id)}) self.fas.logout(session_id) result = [] fas_cache.remove_value(key=identity['login']) expired = '%s=\'\'; Path=/; Expires=Sun, 10-May-1971 11:59:00 GMT'\ % self.session_cookie result.append(('Set-Cookie', expired)) return result # IAuthenticatorPlugin def authenticate(self, environ, identity): log.info('In authenticate()') def set_error(msg): log.info(msg) err = 1 environ['FAS_AUTH_ERROR'] = err # HTTPForbidden ? err_app = HTTPFound(err_goto + '?' + 'came_from=' + quote_plus(came_from)) environ['repoze.who.application'] = err_app err_goto = '/login' default_came_from = '/' if 'SCRIPT_NAME' in environ: sn = environ['SCRIPT_NAME'] err_goto = sn + err_goto default_came_from = sn + default_came_from query = parse_dict_querystring(environ) form = parse_formvars(environ) form.update(query) came_from = form.get('came_from', default_came_from) try: auth_params = {'username': identity['login'], 'password': identity['password']} except KeyError: try: auth_params = {'session_id': identity['session_id']} except: # On error we return None which means that auth failed set_error('Parameters for authenticating not found') return None try: user_data = self._retrieve_user_info(environ, auth_params) except AuthError as e: set_error('Authentication failed: %s' % exception_to_bytes(e)) log.warning(e) return None except Exception as e: set_error('Unknown auth failure: %s' % exception_to_bytes(e)) return None if user_data: try: del user_data[1]['password'] environ['CSRF_AUTH_SESSION_ID'] = user_data[0] return user_data[1]['username'] except ValueError: set_error('user information from fas not in expected format!') return None except Exception: pass set_error('An unknown error happened when trying to log you in.' ' Please try again.') return None def add_metadata(self, environ, identity): log.info('In add_metadata') if identity.get('error'): log.info('Error exists in session, no need to set metadata') return 'error' plugin_user_info = {} for plugin in self._metadata_plugins: plugin(plugin_user_info) identity.update(plugin_user_info) del plugin_user_info user = identity.get('repoze.who.userid') (session_id, user_info) = fas_cache.get_value( key=user, expiretime=FAS_CACHE_TIMEOUT) #### FIXME: Deprecate this line!!! # If we make a new version of fas.who middleware, get rid of saving # user information directly into identity. Instead, save it into # user, as is done below identity.update(user_info) identity['userdata'] = user_info identity['user'] = Munch() identity['user'].created = user_info['creation'] identity['user'].display_name = user_info['human_name'] identity['user'].email_address = user_info['email'] identity['user'].groups = user_info['groups'] identity['user'].password = None identity['user'].permissions = user_info['permissions'] identity['user'].user_id = user_info['id'] identity['user'].user_name = user_info['username'] identity['groups'] = user_info['groups'] identity['permissions'] = user_info['permissions'] if 'repoze.what.credentials' not in environ: environ['repoze.what.credentials'] = {} environ['repoze.what.credentials']['groups'] = user_info['groups'] permissions = user_info['permissions'] environ['repoze.what.credentials']['permissions'] = permissions # Adding the userid: userid = identity['repoze.who.userid'] environ['repoze.what.credentials']['repoze.what.userid'] = userid def __repr__(self): return '<%s %s>' % (self.__class__.__name__, id(self)) python-fedora-1.1.1/flask_fas_openid.py000066400000000000000000000346021375747342300201560ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Flask-FAS-OpenID - A Flask extension for authorizing users with FAS-OpenID # # Primary maintainer: Patrick Uiterwijk # # Copyright (c) 2013, Patrick Uiterwijk # This file is part of python-fedora # # python-fedora 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. # # python-fedora 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 python-fedora; if not, see ''' FAS-OpenID authentication plugin for the flask web framework .. moduleauthor:: Patrick Uiterwijk ..versionadded:: 0.3.33 ''' from functools import wraps import logging import time from munch import Munch import flask try: from flask import _app_ctx_stack as stack except ImportError: from flask import _request_ctx_stack as stack from openid.consumer import consumer from openid.fetchers import setDefaultFetcher, Urllib2Fetcher from openid.extensions import pape, sreg, ax from openid_cla import cla from openid_teams import teams import six log = logging.getLogger(__name__) # http://flask.pocoo.org/snippets/45/ def request_wants_json(): ''' Return wether the user requested the data in JSON or not. ''' best = flask.request.accept_mimetypes \ .best_match(['application/json', 'text/html']) return best == 'application/json' and \ flask.request.accept_mimetypes[best] > \ flask.request.accept_mimetypes['text/html'] class FASJSONEncoder(flask.json.JSONEncoder): """ Dedicated JSON encoder for the FAS openid information. """ def default(self, o): """Implement this method in a subclass such that it returns a serializable object for ``o``, or calls the base implementation (to raise a ``TypeError``). For example, to support arbitrary iterators, you could implement default like this:: def default(self, o): try: iterable = iter(o) except TypeError: pass else: return list(iterable) return JSONEncoder.default(self, o) """ if isinstance(o, (set, frozenset)): return list(o) return flask.json.JSONEncoder.default(self, o) class FAS(object): """ The Flask plugin. """ def __init__(self, app=None): self.postlogin_func = None self.app = app if self.app is not None: self.init_app(app) def init_app(self, app): """ Constructor for the Flask application. """ self.app = app app.config.setdefault('FAS_OPENID_ENDPOINT', 'https://id.fedoraproject.org/openid/') app.config.setdefault('FAS_OPENID_CHECK_CERT', True) if not self.app.config['FAS_OPENID_CHECK_CERT']: setDefaultFetcher(Urllib2Fetcher()) # json_encoder is only available from flask 0.10 version = flask.__version__.split('.') assume_recent = False try: major = int(version[0]) minor = int(version[1]) except ValueError: # We'll assume we're using a recent enough flask as the packages # of old versions used sane version numbers. assume_recent = True if assume_recent or (major > 0 or minor >= 10): self.app.json_encoder = FASJSONEncoder @app.route('/_flask_fas_openid_handler/', methods=['GET', 'POST']) def flask_fas_openid_handler(): """ Endpoint for OpenID results. """ return self._handle_openid_request() app.before_request(self._check_session) def postlogin(self, f): """Marks a function as post login handler. This decorator calls your function after the login has been performed. """ self.postlogin_func = f return f def _handle_openid_request(self): return_url = flask.session.get('FLASK_FAS_OPENID_RETURN_URL', None) cancel_url = flask.session.get('FLASK_FAS_OPENID_CANCEL_URL', None) base_url = self.normalize_url(flask.request.base_url) oidconsumer = consumer.Consumer(flask.session, None) info = oidconsumer.complete(flask.request.values, base_url) display_identifier = info.getDisplayIdentifier() if info.status == consumer.FAILURE and display_identifier: return 'FAILURE. display_identifier: %s' % display_identifier elif info.status == consumer.CANCEL: if cancel_url: return flask.redirect(cancel_url) return 'OpenID request was cancelled' elif info.status == consumer.SUCCESS: if info.endpoint.server_url != \ self.app.config['FAS_OPENID_ENDPOINT']: log.warn('Claim received from invalid issuer: %s', info.endpoint.server_url) return 'Invalid provider issued claim!' sreg_resp = sreg.SRegResponse.fromSuccessResponse(info) teams_resp = teams.TeamsResponse.fromSuccessResponse(info) cla_resp = cla.CLAResponse.fromSuccessResponse(info) ax_resp = ax.FetchResponse.fromSuccessResponse(info) user = {'fullname': '', 'username': '', 'email': '', 'timezone': '', 'cla_done': False, 'groups': []} if not sreg_resp: # If we have no basic info, be gone with them! return flask.redirect(cancel_url) user['username'] = sreg_resp.get('nickname') user['fullname'] = sreg_resp.get('fullname') user['email'] = sreg_resp.get('email') user['timezone'] = sreg_resp.get('timezone') user['login_time'] = time.time() if cla_resp: user['cla_done'] = cla.CLA_URI_FEDORA_DONE in cla_resp.clas if teams_resp: # The groups do not contain the cla_ groups user['groups'] = frozenset(teams_resp.teams) # In the new AAA system, signing an agreement adds the user to a # specific group. The FPCA has replaced the CLA. if "signed_fpca" in user["groups"]: user["cla_done"] = True if ax_resp: ssh_keys = ax_resp.get( 'http://fedoauth.org/openid/schema/SSH/key') if isinstance(ssh_keys, (list, tuple)): ssh_keys = '\n'.join( ssh_key for ssh_key in ssh_keys if ssh_key.strip() ) if ssh_keys: user['ssh_key'] = ssh_keys user['gpg_keyid'] = ax_resp.get( 'http://fedoauth.org/openid/schema/GPG/keyid') flask.session['FLASK_FAS_OPENID_USER'] = user flask.session.modified = True if self.postlogin_func is not None: self._check_session() return self.postlogin_func(return_url) else: return flask.redirect(return_url) else: return 'Strange state: %s' % info.status def _check_session(self): if 'FLASK_FAS_OPENID_USER' not in flask.session \ or flask.session['FLASK_FAS_OPENID_USER'] is None: flask.g.fas_user = None else: user = flask.session['FLASK_FAS_OPENID_USER'] # Add approved_memberships to provide backwards compatibility # New applications should only use g.fas_user.groups user['approved_memberships'] = [] for group in user['groups']: membership = dict() membership['name'] = group user['approved_memberships'].append(Munch.fromDict(membership)) flask.g.fas_user = Munch.fromDict(user) flask.g.fas_user.groups = frozenset(flask.g.fas_user.groups) flask.g.fas_session_id = 0 def _check_safe_root(self, url): if url is None: return None if url.startswith(flask.request.url_root) or url.startswith('/'): # A URL inside the same app is deemed to always be safe return url return None def login(self, username=None, password=None, return_url=None, cancel_url=None, groups=['_FAS_ALL_GROUPS_']): """Tries to log in a user. Sets the user information on :attr:`flask.g.fas_user`. Will set 0 to :attr:`flask.g.fas_session_id, for compatibility with flask_fas. :kwarg username: Not used, but accepted for compatibility with the flask_fas module :kwarg password: Not used, but accepted for compatibility with the flask_fas module :kwarg return_url: The URL to forward the user to after login :kwarg groups: A string or a list of group the user should belong to to be authentified. :returns: True if the user was succesfully authenticated. :raises: Might raise an redirect to the OpenID endpoint """ if return_url is None: if 'next' in flask.request.args.values(): return_url = flask.request.args.values['next'] else: return_url = flask.request.url_root # This makes sure that we only allow stuff where # ?next= value is in a safe root (the application # root) return_url = (self._check_safe_root(return_url) or flask.request.url_root) session = {} oidconsumer = consumer.Consumer(session, None) try: request = oidconsumer.begin(self.app.config['FAS_OPENID_ENDPOINT']) except consumer.DiscoveryFailure as exc: # VERY strange, as this means it could not discover an OpenID # endpoint at FAS_OPENID_ENDPOINT log.warn(exc) return 'discoveryfailure' if request is None: # Also very strange, as this means the discovered OpenID # endpoint is no OpenID endpoint return 'no-request' if isinstance(groups, six.string_types): groups = [groups] # Some applications pass the group list as a set. Convert to a list in # case we need to append to it (see below). if isinstance(groups, set): groups = list(groups) # In the new AAA system, we know a user has signed the FPCA by looking # a group membership. We must therefore always request the # corresponding group. if "_FAS_ALL_GROUPS_" not in groups: groups.append("signed_fpca") request.addExtension(sreg.SRegRequest( required=['nickname', 'fullname', 'email', 'timezone'])) request.addExtension(pape.Request([])) request.addExtension(teams.TeamsRequest(requested=groups)) request.addExtension(cla.CLARequest( requested=[cla.CLA_URI_FEDORA_DONE])) ax_req = ax.FetchRequest() ax_req.add(ax.AttrInfo( type_uri='http://fedoauth.org/openid/schema/GPG/keyid')) ax_req.add(ax.AttrInfo( type_uri='http://fedoauth.org/openid/schema/SSH/key', count='unlimited')) request.addExtension(ax_req) trust_root = self.normalize_url(flask.request.url_root) return_to = trust_root + '_flask_fas_openid_handler/' flask.session['FLASK_FAS_OPENID_RETURN_URL'] = return_url flask.session['FLASK_FAS_OPENID_CANCEL_URL'] = cancel_url if request_wants_json(): output = request.getMessage(trust_root, return_to=return_to).toPostArgs() output['server_url'] = request.endpoint.server_url return flask.jsonify(output) elif request.shouldSendRedirect(): redirect_url = request.redirectURL(trust_root, return_to, False) return flask.redirect(redirect_url) else: return request.htmlMarkup( trust_root, return_to, form_tag_attrs={'id': 'openid_message'}, immediate=False) def logout(self): '''Logout the user associated with this session ''' flask.session['FLASK_FAS_OPENID_USER'] = None flask.g.fas_session_id = None flask.g.fas_user = None flask.session.modified = True def normalize_url(self, url): ''' Replace the scheme prefix of a url with our preferred scheme. ''' scheme = self.app.config['PREFERRED_URL_SCHEME'] scheme_index = url.index('://') return scheme + url[scheme_index:] # This is a decorator we can use with any HTTP method (except login, obviously) # to require a login. # If the user is not logged in, it will redirect them to the login form. # http://flask.pocoo.org/docs/patterns/viewdecorators/#login-required-decorator def fas_login_required(function): """ Flask decorator to ensure that the user is logged in against FAS. To use this decorator you need to have a function named 'auth_login'. Without that function the redirect if the user is not logged in will not work. """ @wraps(function) def decorated_function(*args, **kwargs): if flask.g.fas_user is None: return flask.redirect(flask.url_for('auth_login', next=flask.request.url)) return function(*args, **kwargs) return decorated_function def cla_plus_one_required(function): """ Flask decorator to retrict access to CLA+1. To use this decorator you need to have a function named 'auth_login'. Without that function the redirect if the user is not logged in will not work. """ @wraps(function) def decorated_function(*args, **kwargs): if flask.g.fas_user is None or not flask.g.fas_user.cla_done \ or len(flask.g.fas_user.groups) < 1: # FAS-OpenID does not return cla_ groups return flask.redirect(flask.url_for('auth_login', next=flask.request.url)) else: return function(*args, **kwargs) return decorated_function python-fedora-1.1.1/releaseutils.py000077500000000000000000000153461375747342300173770ustar00rootroot00000000000000#!/usr/bin/python -tt # Copyright Red Hat Inc 2013-2015 # Licensed under the terms of the LGPLv2+ from __future__ import print_function import glob import os import shutil import sys import textwrap from contextlib import contextmanager from distutils.sysconfig import get_python_lib from kitchen.pycompat27 import subprocess import pkg_resources import fedora.release from six.moves import configparser, map # # Helper functions # @contextmanager def pushd(dirname): '''Contextmanager so that we can switch directories that the script is running in and have the current working directory restored afterwards. ''' curdir = os.getcwd() os.chdir(dirname) try: yield curdir finally: os.chdir(curdir) class MsgFmt(object): def run(self, args): cmd = subprocess.Popen(args, shell=False) cmd.wait() def setup_message_compiler(): # Look for msgfmt try: # Prefer msgfmt because it will throw errors on misformatted messages subprocess.Popen(['msgfmt', '-h'], stdout=subprocess.PIPE) except OSError: import babel.messages.frontend return ( babel.messages.frontend.CommandLineInterface(), 'pybabel compile -D %(domain)s -d locale -i %(pofile)s -l %(lang)s' ) else: return ( MsgFmt(), 'msgfmt -c -o locale/%(lang)s/LC_MESSAGES/%(domain)s.mo %(pofile)s' ) def build_catalogs(): # Get the directory with message catalogs # Reuse transifex's config file first as it will know this cfg = configparser.SafeConfigParser() cfg.read('.tx/config') cmd, args = setup_message_compiler() try: shutil.rmtree('locale') except OSError as e: # If the error is that locale does not exist, we're okay. We're # deleting it here, afterall if e.errno != 2: raise for section in [s for s in cfg.sections() if s != 'main']: try: file_filter = cfg.get(section, 'file_filter') source_file = cfg.get(section, 'source_file') except configparser.NoOptionError: continue glob_pattern = file_filter.replace('', '*') pot = os.path.basename(source_file) if pot.endswith('.pot'): pot = pot[:-4] arg_values = {'domain': pot} for po_file in glob.glob(glob_pattern): file_pattern = os.path.basename(po_file) lang = file_pattern.replace('.po', '') os.makedirs(os.path.join('locale', lang, 'LC_MESSAGES')) arg_values['pofile'] = po_file arg_values['lang'] = lang compile_args = args % arg_values compile_args = compile_args.split(' ') cmd.run(compile_args) def _add_destdir(path): if ENVVARS['DESTDIR'] is not None: if path.startswith('/'): path = path[1:] path = os.path.join(ENVVARS['DESTDIR'], path) return path def _install_catalogs(localedir): with pushd('locale'): for catalog in glob.glob('*/LC_MESSAGES/*.mo'): # Make the directory for the locale dirname = os.path.dirname(catalog) dst = os.path.join(localedir, dirname) try: os.makedirs(dst, 0o755) except OSError as e: # Only allow file exists to pass if e.errno != 17: raise shutil.copy2(catalog, dst) def install_catalogs(): # First try to install the messages to an FHS location if ENVVARS['INSTALLSTRATEGY'] == 'EGG': localedir = get_python_lib() # Need certain info from the user if ENVVARS['PACKAGENAME'] is None: print ('Set the PACKAGENAME environment variable and try again') sys.exit(2) if ENVVARS['MODULENAME'] is None: print ('Set the MODULENAME environment variable and try again') sys.exit(2) # Get teh egg name from pkg_resources dist = pkg_resources.Distribution(project_name=ENVVARS['PACKAGENAME'], version=fedora.release.VERSION) # Set the localedir to be inside the egg directory localedir = os.path.join(localedir, '{}.egg'.format(dist.egg_name()), ENVVARS['MODULENAME'], 'locale') # Tack on DESTDIR if needed localedir = _add_destdir(localedir) _install_catalogs(localedir) elif ENVVARS['INSTALLSTRATEGY'] == 'SITEPACKAGES': # For a generic utility to be used with other modules, this would also # need to handle arch-specific locations (get_python_lib(1)) # Retrieve the site-packages directory localedir = get_python_lib() # Set the install path to be inside of the module in site-packages if ENVVARS['MODULENAME'] is None: print ('Set the MODULENAME environment variable and try again') sys.exit(2) localedir = os.path.join(localedir, ENVVARS['MODULENAME'], 'locale') localedir = _add_destdir(localedir) _install_catalogs(localedir) else: # FHS localedir = _add_destdir('/usr/share/locale') _install_catalogs(localedir) def usage(): print ('Subcommands:') for command in sorted(SUBCOMMANDS.keys()): print('%-15s %s' % (command, SUBCOMMANDS[command][1])) print() print('This script can be customized by setting the following ENV VARS:') for var in sorted(ENVVARDESC.keys()): lines = textwrap.wrap( '%-15s %s' % (var, ENVVARDESC[var]), subsequent_indent=' '*8 ) for line in lines: print(line.rstrip()) sys.exit(1) SUBCOMMANDS = { 'build_catalogs': ( build_catalogs, 'Compile the message catalogs from po files' ), 'install_catalogs': ( install_catalogs, 'Install the message catalogs to the system' ), } ENVVARDESC = { 'DESTDIR': 'Alternate root directory hierarchy to install into', 'PACKAGENAME': 'Pypi packagename (commonly the setup.py name field)', 'MODULENAME': 'Python module name (commonly used with import NAME)', 'INSTALLSTRATEGY': 'One of FHS, EGG, SITEPACKAGES. FHS will work' ' for system packages installed using' ' --single-version-externally-managed. EGG install into an egg' ' directory. SITEPACKAGES will install into a $PACKAGENAME' ' directory directly in site-packages. Default FHS' } ENVVARS = dict(map(lambda k: (k, os.environ.get(k)), ENVVARDESC.keys())) if __name__ == '__main__': if len(sys.argv) < 2: print('At least one subcommand is needed\n') usage() try: SUBCOMMANDS[sys.argv[1]][0]() except KeyError: print ('Unknown subcommand: %s\n' % sys.argv[1]) usage() python-fedora-1.1.1/requirements.txt000066400000000000000000000001011375747342300175640ustar00rootroot00000000000000munch kitchen requests beautifulsoup4 openidc-client urllib3 six python-fedora-1.1.1/setup.cfg000066400000000000000000000004271375747342300161340ustar00rootroot00000000000000[extract_messages] output_file = translations/python-fedora.pot keywords = _ N_ b_ bN_ f_ [upload_docs] upload_dir=build/sphinx/html [pep8] exclude=setup.py,./fedora/tg/identity/soprovidercsrf.py,./fedora/tg2/templates/mako/__init__.py,./fedora/tg2/templates/genshi/__init__.py python-fedora-1.1.1/setup.py000077500000000000000000000030651375747342300160310ustar00rootroot00000000000000#!/usr/bin/python -tt import sys exec(compile(open("fedora/release.py").read(), "fedora/release.py", 'exec')) from setuptools import find_packages, setup setup( name=NAME, version=VERSION, description=DESCRIPTION, author=AUTHOR, author_email=EMAIL, license=LICENSE, keywords='Fedora Python Webservices', url=URL, packages=find_packages(), py_modules=['flask_fas', 'flask_fas_openid'], include_package_data=True, # non-setuptools package. When everything we care about uses # python-2.5 distutils we can add these: # for bodhi (koji yum) install_requires=[ 'munch', 'kitchen', 'requests', 'beautifulsoup4', 'urllib3', 'six >= 1.4.0', 'lockfile', 'openidc-client', ], extras_require={ 'wsgi': ['repoze.who', 'Beaker', 'Paste'], 'flask': [ 'Flask', 'Flask_WTF', 'python-openid', 'python-openid-teams', 'python-openid-cla', ], }, message_extractors={ 'fedora': [ ('**.py', 'python', None), ], }, classifiers=[ 'Development Status :: 4 - Beta', 'Intended Audience :: Developers', 'Intended Audience :: System Administrators', 'License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)', 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3.4', 'Topic :: Internet :: WWW/HTTP', 'Topic :: Software Development :: Libraries :: Python Modules', ], ) python-fedora-1.1.1/test_requirements.txt000066400000000000000000000000111375747342300206230ustar00rootroot00000000000000nose tox python-fedora-1.1.1/tests/000077500000000000000000000000001375747342300154525ustar00rootroot00000000000000python-fedora-1.1.1/tests/__init__.py000066400000000000000000000000001375747342300175510ustar00rootroot00000000000000python-fedora-1.1.1/tests/functional/000077500000000000000000000000001375747342300176145ustar00rootroot00000000000000python-fedora-1.1.1/tests/functional/__init__.py000066400000000000000000000000001375747342300217130ustar00rootroot00000000000000python-fedora-1.1.1/tests/functional/functional_test_utils.py000066400000000000000000000015521375747342300246120ustar00rootroot00000000000000import functools import os from nose.exc import SkipTest try: from nose.tools.nontrivial import make_decorator except ImportError: # It lives here in older versions of nose (el6) from nose.tools import make_decorator def _asbool(s): return s.lower() in ['y', 'yes', 'true', '1'] def networked(func): """A decorator that skips tests if $NETWORKED is false or undefined. This decorator allows us to have tests that a developer might want to run but shouldn't be run by random people building the package. It also makes non-networked build systems happy. """ @functools.wraps(func) def newfunc(self, *args, **kw): if not _asbool(os.environ.get('NETWORKED', 'False')): raise SkipTest('Only run if you have network access.') return func(self, *args, **kw) return make_decorator(func)(newfunc) python-fedora-1.1.1/tests/functional/test_openidbaseclient.py000066400000000000000000000035251375747342300245420ustar00rootroot00000000000000# -*- coding: utf-8 -*- """ Test the OpenIdBaseClient. """ import os import shutil import tempfile import unittest from .functional_test_utils import networked from fedora.client import FedoraServiceError from fedora.client.openidbaseclient import OpenIdBaseClient BASE_URL = 'http://127.0.0.1:5000' BASE_URL = 'http://209.132.184.188' LOGIN_URL = '{}/login/'.format(BASE_URL) class OpenIdBaseClientTest(unittest.TestCase): """Test the OpenId Base Client.""" def setUp(self): self.client = OpenIdBaseClient(BASE_URL) self.session_file = os.path.expanduser( '~/.fedora/baseclient-sessions.sqlite') try: self.backup_dir = tempfile.mkdtemp(dir='~/.fedora/') except OSError: self.backup_dir = tempfile.mkdtemp() self.saved_session_file = os.path.join( self.backup_dir, 'baseclient-sessions.sqlite.bak') self.clear_cookies() def tearDown(self): self.restore_cookies() shutil.rmtree(self.backup_dir) def clear_cookies(self): try: shutil.move(self.session_file, self.saved_session_file) except IOError as e: # No previous sessionfile is fine if e.errno != 2: raise # Sentinel to say that there was no previous session_file self.saved_session_file = None def restore_cookies(self): if self.saved_session_file: shutil.move(self.saved_session_file, self.session_file) @networked def test_no_openid_session(self): """Raise FedoraServiceError for no session on service or openid server.""" self.assertRaises(FedoraServiceError, self.client.login, 'username', 'password') @networked def test_no_service_session(self): """Open a service session when we have an openid session.""" pass python-fedora-1.1.1/tests/test_urlutils.py000066400000000000000000000031711375747342300207500ustar00rootroot00000000000000#!/usr/bin/python2 -tt # -*- coding: utf-8 -*- """ Test the OpenIdBaseClient. """ import unittest from fedora.urlutils import update_qs base = 'http://threebean.org/' class TestURLUtils(unittest.TestCase): def test_simple_add(self): original = base expected = base + "?foo=yes" params = dict(foo="yes") actual = update_qs(original, params) self.assertEqual(actual, expected) def test_simple_idempotence(self): original = base + "?foo=yes" expected = base + "?foo=yes" params = dict(foo="yes") actual = update_qs(original, params) self.assertEqual(actual, expected) def test_simple_with_overwrite(self): original = base + "?foo=yes" expected = base + "?foo=no" params = dict(foo="no") actual = update_qs(original, params) self.assertEqual(actual, expected) def test_simple_without_overwrite(self): original = base + "?foo=yes" expected = base + "?foo=yes&foo=no" params = dict(foo="no") actual = update_qs(original, params, overwrite=False) self.assertEqual(actual, expected) def test_simple_without_overwrite_and_same(self): original = base + "?foo=yes" expected = base + "?foo=yes&foo=yes" params = dict(foo="yes") actual = update_qs(original, params, overwrite=False) self.assertEqual(actual, expected) def test_simple_with_tuples(self): original = base expected = base + "?foo=yes" params = [('foo', 'yes')] actual = update_qs(original, params) self.assertEqual(actual, expected) python-fedora-1.1.1/tox.ini000066400000000000000000000007151375747342300156260ustar00rootroot00000000000000[tox] envlist = {py27,py34}-six{14,17} downloadcache = {toxworkdir}/_download/ [testenv] basepython = py27: python2.7 py34: python3.4 setenv = devtests: DEVELOPER_TESTS=yes deps = six14: six==1.4.0 six17: six==1.7.3 munch kitchen requests beautifulsoup4 urllib3 lockfile -r{toxinidir}/test_requirements.txt py26: unittest2 py26: ordereddict sitepackages = False commands = nosetests {posargs} tests/ python-fedora-1.1.1/translations/000077500000000000000000000000001375747342300170315ustar00rootroot00000000000000python-fedora-1.1.1/translations/af.po000066400000000000000000000116261375747342300177650ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Afrikaans\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: af\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/am.po000066400000000000000000000116231375747342300177710ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Amharic\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: am\n" "Plural-Forms: nplurals=2; plural=(n > 1)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/anp.po000066400000000000000000000116241375747342300201530ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Angika\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: anp\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/ar.po000066400000000000000000000117331375747342300200000ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Arabic\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ar\n" "Plural-Forms: nplurals=6; plural= n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/as.po000066400000000000000000000116251375747342300200010ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Assamese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: as\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/ast.po000066400000000000000000000116261375747342300201660ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Asturian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ast\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/bal.po000066400000000000000000000116161375747342300201340ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Baluchi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: bal\n" "Plural-Forms: nplurals=1; plural=0\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/be.po000066400000000000000000000117411375747342300177630ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Belarusian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: be\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/bg.po000066400000000000000000000116261375747342300177670ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Bulgarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/bn.po000066400000000000000000000116241375747342300177740ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Bengali\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: bn\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/bn_IN.po000066400000000000000000000116371375747342300203660ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Bengali (India)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: bn-IN\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/bo.po000066400000000000000000000116151375747342300177750ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Tibetan\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: bo\n" "Plural-Forms: nplurals=1; plural=0\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/br.po000066400000000000000000000116221375747342300177760ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Breton\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: br\n" "Plural-Forms: nplurals=2; plural=(n > 1)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/brx.po000066400000000000000000000116221375747342300201660ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Bodo\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: brx\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/bs.po000066400000000000000000000117361375747342300200050ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Bosnian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: bs\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/ca.po000066400000000000000000000155631375747342300177660ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # # Translators: # Albert Carabasa Giribet , 2009 # Robert Antoni Buj i Gelonch , 2010 # Ralph Bean , 2015. #zanata # Robert Antoni Buj Gelonch , 2015. #zanata msgid "" msgstr "" "Project-Id-Version: python-fedora 0.8.0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2016-04-21 16:57+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "PO-Revision-Date: 2015-09-29 06:23-0400\n" "Last-Translator: Robert Antoni Buj Gelonch \n" "Language-Team: Catalan (http://www.transifex.com/projects/p/python-fedora/" "language/ca/)\n" "Generated-By: Babel 1.3\n" "Language: ca\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Zanata 3.8.3\n" #: fedora/client/wiki.py:102 #, python-format msgid "From %(then)s to %(now)s" msgstr "Des del %(then)s fins al %(now)s" #: fedora/client/wiki.py:105 #, python-format msgid "%d wiki changes in the past week" msgstr "%d canvis al wiki la passada setmana" #: fedora/client/wiki.py:107 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" "Advertència: el nombre de canvis arriba al límit de retorn de l'API.\n" "No obtindreu la llista completa de canvis llevat que\n" "executeu aquest script utilitzant un compte «bot»." #: fedora/client/wiki.py:118 msgid "\n" "== Most active wiki users ==" msgstr "\n" "== Els usuaris més actius del wiki ==" #: fedora/client/wiki.py:125 msgid "\n" "== Most edited pages ==" msgstr "\n" "== Les pàgines més modificades ==" #: fedora/django/auth/models.py:54 msgid "Loading FAS groups..." msgstr "S'estan carregant els grups del FAS..." #: fedora/django/auth/models.py:60 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" "No es poden carregar els grups del FAS. Heu establert FAS_USERNAME i " "FAS_PASSWORD?" #: fedora/django/auth/models.py:67 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" "Es van carregar els grups del FAS. No oblideu d'establir FAS_USERNAME i " "FAS_PASSWORD per als comptes amb pocs privilegis." #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "Benvingut, %s" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" "Les credencials proporcionades no són correctes o bé no donen permís per " "accedir a aquest recurs." #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" "Heu de proporcionar les vostres credencials abans d'accedir a aquest recurs." #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "Si us plau, inicieu la sessió." #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "Heu tancat la sessió correctament." #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "Inici de la sessió" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "Nom d'usuari:" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "Contrasenya:" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "Inicia la sessió" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "Atacs CSRF" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you " "are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" " són un mitjà perquè un lloc web maliciós faci una petició a un altre\n" " lloc web, com si l'usuari hagués contactat amb el lloc web\n" " maliciós. El propòsit d'aquesta pàgina és ajudar a protegir el " "vostre\n" " compte i aquest servidor d'atacs de llocs web maliciosos. En fer " "clic\n" " a sota, esteu provant que sou una persona en lloc d'un navegador\n" " web reenviant les seves galetes d'autenticació en nom d'un lloc web\n" " maliciós." #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "Sóc humà" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "Heu oblidat la contrasenya?" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "Registrar-se" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "Benvingut" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "No heu iniciat la sessió" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "Amb protecció contra CSRF" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "Verifiqueu l'inici de la sessió" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "Tanca la sessió" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "s'està actualitzant la visita (%s)" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "Nom d'usuari:" python-fedora-1.1.1/translations/cs.po000066400000000000000000000127711375747342300200060ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # # Translators: # Jiří Vírava , 2012 # Jan Varta , 2011 # Ralph Bean , 2015. #zanata msgid "" msgstr "" "Project-Id-Version: python-fedora 0.8.0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2016-04-21 16:57+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "PO-Revision-Date: 2014-08-07 11:51-0400\n" "Last-Translator: Toshio Kuratomi \n" "Language-Team: Czech (http://www.transifex.com/projects/p/python-fedora/" "language/cs/)\n" "Generated-By: Babel 1.3\n" "Language: cs\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" "X-Generator: Zanata 3.8.3\n" #: fedora/client/wiki.py:102 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:105 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:107 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:118 msgid "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:125 msgid "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:54 msgid "Loading FAS groups..." msgstr "Nahrávání FAS skupin..." #: fedora/django/auth/models.py:60 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "Nelze načíst FAS skupiny. Nastavili jste FAS_USERNAME a FAS_PASSWORD?" #: fedora/django/auth/models.py:67 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "Vítejte, %s" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "Přihlaste se, prosím." #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "Jste úspěšně odhlášeni." #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "Přihlášení" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "Heslo:" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "Přihlásit" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "CSRF útoky" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you " "are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "Jsem člověk" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "Zapomenuté heslo?" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "Registrace" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "Vítejte" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "Nejste přihlášeni" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "CSRF chráněno" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "Ověřit přihlášení" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "Odhlásit" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/cy.po000066400000000000000000000117001375747342300200030ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Welsh\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: cy\n" "Plural-Forms: nplurals=4; plural= (n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/da.po000066400000000000000000000151141375747342300177570ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # # Translators: # Kris Thomsen , 2011, 2012 # Morten Juhl-Johansen Zölde-Fejér , 2011 # Ralph Bean , 2015. #zanata msgid "" msgstr "" "Project-Id-Version: python-fedora 0.8.0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2016-04-21 16:57+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "PO-Revision-Date: 2014-08-07 11:51-0400\n" "Last-Translator: Toshio Kuratomi \n" "Language-Team: Danish (http://www.transifex.com/projects/p/python-fedora/" "language/da/)\n" "Generated-By: Babel 1.3\n" "Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Zanata 3.8.3\n" #: fedora/client/wiki.py:102 #, python-format msgid "From %(then)s to %(now)s" msgstr "Fra %(then)s til %(now)s" #: fedora/client/wiki.py:105 #, python-format msgid "%d wiki changes in the past week" msgstr "%d wiki-ændringer den seneste uge" #: fedora/client/wiki.py:107 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" "Advarsel: Antallet af ændringer når API-returneringsgræsen.\n" "Du vil ikke få den komplette liste over ændringer medmindre\n" "du kører dette script med \"bot\"-kontoen." #: fedora/client/wiki.py:118 msgid "\n" "== Most active wiki users ==" msgstr "\n" "== Mest aktive wiki-brugere ==" #: fedora/client/wiki.py:125 msgid "\n" "== Most edited pages ==" msgstr "\n" "== Mest redigerede sider ==" #: fedora/django/auth/models.py:54 msgid "Loading FAS groups..." msgstr "Indlæser FAS-grupper..." #: fedora/django/auth/models.py:60 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" "Kunne ikke indlæse FAS-grupper. Angav du FAS_USERNAME og FAS_PASSWORD?" #: fedora/django/auth/models.py:67 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" "FAS-grupper indlæst. Glem ikke at angive FAS_USERNAME og FAS_PASSWORD til en " "konto med få privilegier." #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "Velkommen, %s" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" "Kredentialerne du angav var ikke korrekte eller fik ikke adgang til denne " "ressource." #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" "Du skal angive dine kredentialer før du kan få adgang til denne ressource." #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "Log venligst ind." #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "Du er logget ud med success." #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "Logind" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "Adgangskode:" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "Logind" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "CSRF-angreb" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you " "are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" " er et middel for et ondsindet websted at lave en forespørgsel af en anden\n" " web-server som brugeren der har kontaktet det ondsindede websted.\n" " Formålet med denne side er at hjælpe med at beskytte din konto og " "denne server\n" " fra angreb fra sådanne ondsindede websteder. Ved at klikke nedenfor, " "bekræfter\n" " du at du er et mennesker og ikke bare webbrowseren som vidersender " "din\n" " godkendelsescookie på vegne af et ondsindet websted." #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "Jeg er et menneske" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "Glemt adgangskode?" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "Meld dig til" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "Velkommen" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "Du er nu logget ind" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "CSRF-beskyttet" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "Bekræft logind" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "Log ud" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "opdaterer besøg (%s)" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "Brugernavn:" python-fedora-1.1.1/translations/de.po000066400000000000000000000147611375747342300177720ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # # Translators: # Fabian Affolter , 2009 # Gerd Koenig , 2011 # Laurin , 2011 # Mario Blättermann , 2011 # Tobias Portmann , 2011 # Mario Blättermann , 2015. #zanata # Ralph Bean , 2015. #zanata msgid "" msgstr "" "Project-Id-Version: python-fedora 0.8.0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2016-04-21 16:57+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "PO-Revision-Date: 2014-08-07 11:51-0400\n" "Last-Translator: Toshio Kuratomi \n" "Language-Team: German (http://www.transifex.com/projects/p/python-fedora/" "language/de/)\n" "Generated-By: Babel 1.3\n" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Zanata 3.8.3\n" #: fedora/client/wiki.py:102 #, python-format msgid "From %(then)s to %(now)s" msgstr "Von %(then)s bis %(now)s" #: fedora/client/wiki.py:105 #, python-format msgid "%d wiki changes in the past week" msgstr "%d Wiki-Änderungen in der letzten Woche" #: fedora/client/wiki.py:107 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" "Warnung: Anzahl der Änderungen erreichte das Limit der API. Sie werden keine " "vollständige Liste der Änderungen erhalten, es sei denn, Sie führen dieses " "Skript mit einem »bot«-Konto aus." #: fedora/client/wiki.py:118 msgid "\n" "== Most active wiki users ==" msgstr "\n" "== Aktivste Wiki-Benutzer ==" #: fedora/client/wiki.py:125 msgid "\n" "== Most edited pages ==" msgstr "\n" "== Am meisten bearbeitete Seiten ==" #: fedora/django/auth/models.py:54 msgid "Loading FAS groups..." msgstr "FAS-Gruppen werden geladen …" #: fedora/django/auth/models.py:60 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" "FAS-Gruppen konnten nicht geladen werden. Haben Sie FAS_USERNAME und " "FAS_PASSWORD gesetzt?" #: fedora/django/auth/models.py:67 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" "FAS-Gruppen wurden geladen. Vergessen Sie nicht, FAS_USERNAME und " "FAS_PASSWORD zu setzen, um die Zugriffsrechte des Kontos zu beschränken." #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "Willkommen, %s" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" "Die von Ihnen angegebenen Anmeldeinformationen waren nicht korrekt oder " "erlauben keinen Zugriff auf diese Ressource." #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" "Sie müssen Ihre Anmeldeinformationen eingeben, bevor Sie auf diese Ressource " "zugreifen können." #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "Bitte melden Sie sich an." #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "Sie haben sich erfolgreich angemeldet." #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "Anmeldung" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "Benutzername:" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "Passwort:" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "Anmelden" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "CSRF-Angriffe" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you " "are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "Ich bin ein Mensch" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "Passwort vergessen?" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "Registrieren" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "Willkommen" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "Sie sind nicht angemeldet" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "CSRF-geschützt" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "Anmeldung bestätigen" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "Abmelden" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "Besuch wird aktualisiert (%s)" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "Benutzername:" python-fedora-1.1.1/translations/de_CH.po000066400000000000000000000116441375747342300203410ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: German (Switzerland)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: de-CH\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/el.po000066400000000000000000000116221375747342300177730ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Greek\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: el\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/el_GR.po000066400000000000000000000121341375747342300203620ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # # Translators: # Michael Michaelides , 2011 # Toshio Kuratomi , 2013 msgid "" msgstr "" "Project-Id-Version: python-fedora\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: 2014-08-07 15:51+0000\n" "Last-Translator: Toshio Kuratomi \n" "Language-Team: Greek (Greece) (http://www.transifex.com/projects/p/python-fedora/language/el_GR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 1.3\n" "Language: el_GR\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/en_GB.po000066400000000000000000000116501375747342300203460ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: English (United Kingdom)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: en-GB\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/eo.po000066400000000000000000000116261375747342300200020ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Esperanto\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: eo\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/es.po000066400000000000000000000156061375747342300200100ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # # Translators: # Claudio Rodrigo Pereyra Diaz , 2011, 2012 # Daniel Cabrera , 2011 # beckerde , 2011 # FIRST AUTHOR , 2009 # Gladys Guerrero , 2009 # Daniel Cabrera , 2011 # Kenneth Guerra , 2015. #zanata # Ralph Bean , 2015. #zanata msgid "" msgstr "" "Project-Id-Version: python-fedora 0.8.0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2016-04-21 16:57+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "PO-Revision-Date: 2015-04-29 08:36-0400\n" "Last-Translator: Kenneth Guerra \n" "Language-Team: Spanish (http://www.transifex.com/projects/p/python-fedora/" "language/es/)\n" "Generated-By: Babel 1.3\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Zanata 3.8.3\n" #: fedora/client/wiki.py:102 #, python-format msgid "From %(then)s to %(now)s" msgstr "Desde %(then)s hasta %(now)s" #: fedora/client/wiki.py:105 #, python-format msgid "%d wiki changes in the past week" msgstr "%d cambios en la wiki en la semana pasada" #: fedora/client/wiki.py:107 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" "Advertencia: El número de cambios ha alcanzado el límite de regreso de la " "API.\n" "Usted no tendrá la lista completa de cambios a menos que\n" "ejecute este programa usando una cuenta 'bot'." #: fedora/client/wiki.py:118 msgid "\n" "== Most active wiki users ==" msgstr "\n" "== Usuarios wiki más activos ==" #: fedora/client/wiki.py:125 msgid "\n" "== Most edited pages ==" msgstr "\n" "== Páginas más editadas ==" #: fedora/django/auth/models.py:54 msgid "Loading FAS groups..." msgstr "Cargando grupos FAS..." #: fedora/django/auth/models.py:60 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" "No se pudieron cargar los grupos FAS. ¿Se establecieron FAS_USERNAME y " "FAS_PASSWORD?" #: fedora/django/auth/models.py:67 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" "Los grupos FAS han sido cargados. No olvide poner FAS_USERNAME y " "FAS_PASSWORD a una cuenta de bajos privilegios." #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "Bienvenido, %s" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" "Las credenciales que se proporcionaron no son correctas o no proveen el " "acceso a este recurso." #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "Debe proveer sus credenciales antes de acceder a este recurso." #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "Por favor, inicie sesión." #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "Ha cerrado con éxito su sesión." #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "Iniciar sesión" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "Nombre de usuario:" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "Contraseña:" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "Entrar" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "ataques CSRF" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you " "are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" " son un medio para que un sitio web maligno haga un pedido de otro\n" " sitio web como el usuario que contactó el sitio maligno. El\n" " propósito de este paquete es ayudar a proteger su cuenta y a este " "servidor\n" " de ataques de dichos sitios. Haciendo clic abajo, estará probando\n" " que Ud. es la persona en vez del navegador de web que usó sus " "cookies de\n" " autenticación como si fuera el sitio\n" " web maligno." #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "Soy un humano" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "¿Olvidó la contraseña?" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "Registrarse" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "Bienvenido" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "No ha ingresado al sistema" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "Protegido por CSRF" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "Verificar Entrada" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "Salir" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "actualizando visita (%s)" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "Nombre de Usuario:" python-fedora-1.1.1/translations/et.po000066400000000000000000000116251375747342300200060ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Estonian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: et\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/eu.po000066400000000000000000000116231375747342300200050ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Basque\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: eu\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/fa.po000066400000000000000000000116151375747342300177630ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Persian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fa\n" "Plural-Forms: nplurals=1; plural=0\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/fi.po000066400000000000000000000116241375747342300177730ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Finnish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fi\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/fr.po000066400000000000000000000154051375747342300200050ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # # Translators: # Jérôme Fenal , 2012 # Kévin Raymond , 2011 # Jibec , 2015. #zanata # Ralph Bean , 2015. #zanata msgid "" msgstr "" "Project-Id-Version: python-fedora 0.8.0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2016-04-21 16:57+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "PO-Revision-Date: 2015-10-28 08:55-0400\n" "Last-Translator: Jibec \n" "Language-Team: French (http://www.transifex.com/projects/p/python-fedora/" "language/fr/)\n" "Generated-By: Babel 1.3\n" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Zanata 3.8.3\n" #: fedora/client/wiki.py:102 #, python-format msgid "From %(then)s to %(now)s" msgstr "De %(then)s à %(now)s" #: fedora/client/wiki.py:105 #, python-format msgid "%d wiki changes in the past week" msgstr "%d changements du wiki cette semaine" #: fedora/client/wiki.py:107 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" "Attention : la limite de retour de l'API est atteinte.\n" "Vous n'aurez pas la liste complète des modifications sauf en\n" "exécutant ce script avec un compte « bot »." #: fedora/client/wiki.py:118 msgid "\n" "== Most active wiki users ==" msgstr "\n" "== Utilisateurs du wiki les plus actifs ==" #: fedora/client/wiki.py:125 msgid "\n" "== Most edited pages ==" msgstr "\n" "== Pages les plus éditées ==" #: fedora/django/auth/models.py:54 msgid "Loading FAS groups..." msgstr "Chargement des groupes FAS..." #: fedora/django/auth/models.py:60 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" "Impossible de charger les groupes FAS. Avez-vous défini FAS_USERNAME et " "FAS_PASSWORD ?" #: fedora/django/auth/models.py:67 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" "Groupes FAS chargés. N'oubliez pas de définir FAS_USERNAME et FAS_PASSWORD " "sur un compte à faibles privilèges." #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "Bienvenue %s" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" "Les accréditations fournies ne sont pas correctes ou ne vous permettent pas " "l'accès à cette ressource." #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" "Vous devez fournir les accréditations avant d'accéder à cette ressource." #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "Veuillez vous connecter." #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "Vous vous êtes déconnecté avec succès." #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "Connexion" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "Nom d'utilisateur :" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "Mot de passe :" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "Se connecter" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "Attaques CSRF" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you " "are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" " moyen pour un site malicieux de faire une requête vers un autre serveur\n" " en se faisant passer pour l'utilisateur qui a joint le site. Le but " "de\n" " cette page est de vous aider à protéger votre compte et le serveur\n" " des attaques de ces sites malicieux. En cliquant ci-dessous, vous\n" " prouvez que vous êtes une personne et non pas un simple navigateur\n" " qui relaie le cookie d'authentification pour le compte d'un site " "malicieux." #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "Je suis un humain" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "Mot de passe oublié ?" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "S'enregistrer" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "Bienvenue" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "Vous n'êtes pas connecté" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "Protégé contre les CSRF" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "Vérifier l'identifiant" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "Se déconnecter" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "Mise à jour de la visite (%s)" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "Nom d'utilisateur :" python-fedora-1.1.1/translations/gl.po000066400000000000000000000116251375747342300200000ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Galician\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: gl\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/gu.po000066400000000000000000000116251375747342300200110ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Gujarati\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: gu\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/he.po000066400000000000000000000116231375747342300177700ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Hebrew\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: he\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/hi.po000066400000000000000000000116221375747342300177730ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Hindi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: hi\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/hr.po000066400000000000000000000117371375747342300200130ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Croatian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: hr\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/hu.po000066400000000000000000000153601375747342300200120ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # # Translators: # Sulyok Péter , 2009 # Zoltan Hoppár , 2011, 2012 # Ralph Bean , 2015. #zanata msgid "" msgstr "" "Project-Id-Version: python-fedora 0.8.0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2016-04-21 16:57+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "PO-Revision-Date: 2014-08-07 11:51-0400\n" "Last-Translator: Toshio Kuratomi \n" "Language-Team: Hungarian (http://www.transifex.com/projects/p/python-fedora/" "language/hu/)\n" "Generated-By: Babel 1.3\n" "Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Zanata 3.8.3\n" #: fedora/client/wiki.py:102 #, python-format msgid "From %(then)s to %(now)s" msgstr "%(then)s - %(now)s" #: fedora/client/wiki.py:105 #, python-format msgid "%d wiki changes in the past week" msgstr "%d wiki változás a múlt héten" #: fedora/client/wiki.py:107 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" "Figyelmeztetés: Számos változás éri el az API visszatérés korlátot.\n" "Nem fogja megkapni a változások teljes listáját, hacsak nem\n" "„bot” számlára futtatja ezt az írást." #: fedora/client/wiki.py:118 msgid "\n" "== Most active wiki users ==" msgstr "\n" "== Legtevékenyebb wiki használók ==" #: fedora/client/wiki.py:125 msgid "\n" "== Most edited pages ==" msgstr "\n" "== Legtöbbet szerkesztett oldalak ==" #: fedora/django/auth/models.py:54 msgid "Loading FAS groups..." msgstr "Fedora csoportok betöltése…" #: fedora/django/auth/models.py:60 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" "Nem lehet Fedora csoportokat betölteni. FAS_USERNAME és FAS_PASSWORD " "beállítva?" #: fedora/django/auth/models.py:67 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" "FAS csoport betöltve. Ne felejtse el beállítani a FAS_USERNAME és " "FAS_PASSWORD változókat az alacsony prioritású felhasználói nevekhez." #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "Üdvözlöm, %s" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" "A megadott igazolvány nem jó vagy nem jogosítja fel a hozzáférésre az " "erőforráshoz." #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "Fel kell mutatnia az igazolványát, mielőtt hozzáfér az erőforráshoz." #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "Kérem jelentkezzen be." #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "Sikerült kijelentkezni." #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "Bejelentkezés" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "Jelszó:" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "Bejelentkezés" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "CSRF támadások" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you " "are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" "rosszindulatú webhelyek eszköze arra, hogy kérést intézzen más\n" " webszolgálókhoz a rosszindulatú webhellyel kapcsolatba lépő\n" " használóként. E lap célja, hogy segítsen megvédeni az ön\n" " számláját és e szolgálót az ilyen rosszindulatú webhelyektől.\n" " Alább kattintva ön bizonyítja, hogy inkább élő személy\n" " mint csak egy rosszindulatú webhely nevében eljáró és az\n" " ön hitelesítő sütijét továbbító webböngésző." #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "Ember vagyok" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "Elfelejtett jelszó?" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "Beiratkozás" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "Üdvözöm" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "Ön nem jelentkezett be" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "CSRF védve" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "Bejelentkezés ellenőrzése" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "Kijelentkezés" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "látogatás frissítése (%s)" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "Felhasználói név:" python-fedora-1.1.1/translations/ia.po000066400000000000000000000116301375747342300177630ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Interlingua\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ia\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/id.po000066400000000000000000000116201375747342300177650ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Indonesian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: id\n" "Plural-Forms: nplurals=1; plural=0\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/ilo.po000066400000000000000000000116141375747342300201570ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Iloko\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ilo\n" "Plural-Forms: nplurals=1; plural=0\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/is.po000066400000000000000000000116441375747342300200120ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Icelandic\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: is\n" "Plural-Forms: nplurals=2; plural=(n%10!=1 || n%100==11)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/it.po000066400000000000000000000152521375747342300200120ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # # Translators: # Francesco D'Aluisio , 2011 # Francesco Tombolini , 2011 # mario_santagiuliana , 2009 # Ralph Bean , 2015. #zanata msgid "" msgstr "" "Project-Id-Version: python-fedora 0.8.0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2016-04-21 16:57+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "PO-Revision-Date: 2014-08-07 11:51-0400\n" "Last-Translator: Toshio Kuratomi \n" "Language-Team: Italian (http://www.transifex.com/projects/p/python-fedora/" "language/it/)\n" "Generated-By: Babel 1.3\n" "Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Zanata 3.8.3\n" #: fedora/client/wiki.py:102 #, python-format msgid "From %(then)s to %(now)s" msgstr "Da %(then)s a %(now)s" #: fedora/client/wiki.py:105 #, python-format msgid "%d wiki changes in the past week" msgstr "%d cambiamenti wiki nella scorsa settimana" #: fedora/client/wiki.py:107 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" "Avvertenza: Numero di cambiamenti portano l'API al limite.\n" "Non si otterrà la lista completa di cambiamenti a meno che\n" "non si usa lo script in un account 'bot'." #: fedora/client/wiki.py:118 msgid "\n" "== Most active wiki users ==" msgstr "\n" "== Utenti wiki più attivi ==" #: fedora/client/wiki.py:125 msgid "\n" "== Most edited pages ==" msgstr "\n" "== Pagine più modificate ==" #: fedora/django/auth/models.py:54 msgid "Loading FAS groups..." msgstr "Caricamento gruppi FAS..." #: fedora/django/auth/models.py:60 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" "Impossibile caricare i gruppi FAS. Sono stati impostati FAS_USERNAME e " "FAS_PASSWORD?" #: fedora/django/auth/models.py:67 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" "Gruppi FAS caricati. Non dimenticare di impostare FAS_USERNAME e " "FAS_PASSWORD su un account con bassi privilegi." #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "Benvenuto, %s" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" "Le credenziali fornite non sono corrette o non garantiscono l'accesso a " "questa risorsa." #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" "Si devono fornire le proprie credenziali prima di accedere alla risorsa." #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "Per favore autenticarsi." #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "Ti sei disconnesso correttamente." #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "Log In" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "Password:" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "Entra" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "attacchi CSRF" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you " "are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" " sono un modo per un sito web malizioso di fare una richiesta ad un altro\n" " web server come se fosse l'utente che ha contattato il sito web\n" " maligno. Lo scopo di questa pagina è di aiutare a proteggere il tuo \n" " account e questo server da attacchi provenienti da questi siti web \n" " maliziosi. Cliccando qui sotto, proverai che tu sei una persona e " "non \n" " solo un browser web che inoltra i tuoi cookie di autenticazione al " "posto\n" " di un sito web malizioso." #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "Sono un uomo" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "Passowrd dimenticata?" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "Iscriviti" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "Benvenuto" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "Non sei autenticato" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "CSRF protetto" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "Verifica Login" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "Uscita" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "aggiornamento visite (%s)" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "Username:" python-fedora-1.1.1/translations/ja.po000066400000000000000000000163111375747342300177650ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # # Translators: # FIRST AUTHOR , 2009 # Hajime Taira , 2011 # Tomoyuki KATO , 2011, 2012 # carrotsoft , 2011 # Ralph Bean , 2015. #zanata # Noriko Mizumoto , 2016. #zanata msgid "" msgstr "" "Project-Id-Version: python-fedora 0.8.0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2016-04-21 16:57+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "PO-Revision-Date: 2016-01-27 10:35-0500\n" "Last-Translator: Noriko Mizumoto \n" "Language-Team: Japanese (http://www.transifex.com/projects/p/python-fedora/" "language/ja/)\n" "Generated-By: Babel 1.3\n" "Language: ja\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Zanata 3.8.3\n" #: fedora/client/wiki.py:102 #, python-format msgid "From %(then)s to %(now)s" msgstr "%(then)s から %(now)s" #: fedora/client/wiki.py:105 #, python-format msgid "%d wiki changes in the past week" msgstr "%d wiki は先週変更されました" #: fedora/client/wiki.py:107 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" "警告: このAPIの返り値の制限に対し、多くの変更がされました。\n" "あなたがこのスクリプトで 'bot' アカウントを使用している限り、\n" "全ての変更リストを入手することはできません。" #: fedora/client/wiki.py:118 msgid "\n" "== Most active wiki users ==" msgstr "\n" "== 最も活発な wiki ユーザ ==" #: fedora/client/wiki.py:125 msgid "\n" "== Most edited pages ==" msgstr "\n" "== 最も編集されているページ ==" #: fedora/django/auth/models.py:54 msgid "Loading FAS groups..." msgstr "FAS グループをロードしています..." #: fedora/django/auth/models.py:60 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "FAS グループをロード出来ません。FAS_USERNAME と FAS_PASSWORDをセットしましたか?" #: fedora/django/auth/models.py:67 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" "FAS グループがロードされました。FAS_USERNAME と FAS_PASSWORDを 制限アカウントにセットするのを忘れないでください。" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "ようこそ %s" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "あなたの証明書は正しくないか、このソースにアクセスする権限がありません。" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "このソースにアクセスする前に、あなたの証明書を提示しなければいけません。" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "ログインしてください。" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "ログアウトに成功しました。" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "ログイン" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "ユーザー名:" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "パスワード:" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "ログイン" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "CSRF アタック" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you " "are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" "とは、有害なウェブサイトが他のウェブサーバーに対し、その有害なウェブサイト\n" "  にアクセスしたことのあるユーザのアカウント利用してリクエストをすることです。\n" "  このページの目的は、あなたのアカウントと、\n" "  このサーバーを有害なウェブサイトからの攻撃から守ることです。\n" "  以下をクリックしてください。あなたが人間であり、\n" "  有害なウェブサイトが貴方の認証を転送してきたのではないことを証明できます。" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "私は人間です" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "パスワードを忘れましたか?" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "サインアップ" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "ようこそ" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "ログインしていません" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "CSRF は保護されました" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "ログイン認証" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "ログアウト" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "(%s) の訪問をアップデートしています" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "ユーザー名:" python-fedora-1.1.1/translations/ka.po000066400000000000000000000116161375747342300177710ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Georgian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ka\n" "Plural-Forms: nplurals=1; plural=0\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/kk.po000066400000000000000000000116141375747342300200010ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Kazakh\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: kk\n" "Plural-Forms: nplurals=1; plural=0\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/km.po000066400000000000000000000116131375747342300200020ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Khmer\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: km\n" "Plural-Forms: nplurals=1; plural=0\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/kn.po000066400000000000000000000116221375747342300200030ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Kannada\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: kn\n" "Plural-Forms: nplurals=2; plural=(n!=1)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/ko.po000066400000000000000000000116141375747342300200050ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Korean\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ko\n" "Plural-Forms: nplurals=1; plural=0\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/kw.po000066400000000000000000000116671375747342300200250ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Cornish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: kw\n" "Plural-Forms: nplurals=4; plural= (n==1) ? 0 : (n==2) ? 1 : (n == 3) ? 2 : 3\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/kw@kkcor.po000066400000000000000000000117221375747342300211470ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Cornish (Common Orthography)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: kw@kkcor\n" "Plural-Forms: nplurals=4; plural= (n==1) ? 0 : (n==2) ? 1 : (n == 3) ? 2 : 3\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/kw@uccor.po000066400000000000000000000117231375747342300211520ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Cornish (Unified Orthography)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: kw@uccor\n" "Plural-Forms: nplurals=4; plural= (n==1) ? 0 : (n==2) ? 1 : (n == 3) ? 2 : 3\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/kw_GB.po000066400000000000000000000117131375747342300203650ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Cornish (United Kingdom)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: kw-GB\n" "Plural-Forms: nplurals=4; plural= (n==1) ? 0 : (n==2) ? 1 : (n == 3) ? 2 : 3\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/ky.po000066400000000000000000000116151375747342300200200ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Kirghiz\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ky\n" "Plural-Forms: nplurals=1; plural=0\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/lv.po000066400000000000000000000116671375747342300200250ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Latvian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: lv\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/mai.po000066400000000000000000000116261375747342300201450ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Maithili\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: mai\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/mk.po000066400000000000000000000116471375747342300200110ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Macedonian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: mk\n" "Plural-Forms: nplurals=2; plural= n==1 || n%10==1 ? 0 : 1\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/ml.po000066400000000000000000000116261375747342300200070ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Malayalam\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ml\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/mn.po000066400000000000000000000116261375747342300200110ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Mongolian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: mn\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/mr.po000066400000000000000000000116241375747342300200130ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Marathi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: mr\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/ms.po000066400000000000000000000116131375747342300200120ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Malay\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ms\n" "Plural-Forms: nplurals=1; plural=0\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/nb.po000066400000000000000000000116361375747342300177770ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Norwegian Bokmål\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: nb\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/nds.po000066400000000000000000000116211375747342300201560ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Low German\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: nds\n" "Plural-Forms: nplurals=1; plural=0\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/ne.po000066400000000000000000000116231375747342300177760ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Nepali\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ne\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/nl.po000066400000000000000000000154051375747342300200070ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # # Translators: # Geert Warrink , 2011 # Geert Warrink , 2015. #zanata # Ralph Bean , 2015. #zanata # Patrick Uiterwijk , 2016. #zanata msgid "" msgstr "" "Project-Id-Version: python-fedora 0.8.0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2016-04-21 16:57+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "PO-Revision-Date: 2016-01-27 08:27-0500\n" "Last-Translator: Patrick Uiterwijk \n" "Language-Team: Dutch (http://www.transifex.com/projects/p/python-fedora/" "language/nl/)\n" "Generated-By: Babel 1.3\n" "Language: nl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Zanata 3.8.3\n" #: fedora/client/wiki.py:102 #, python-format msgid "From %(then)s to %(now)s" msgstr "Van %(then)s naar %(now)s " #: fedora/client/wiki.py:105 #, python-format msgid "%d wiki changes in the past week" msgstr "%d wiki veranderingen in de afgelopen week" #: fedora/client/wiki.py:107 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" "Waarschuwing: Het aantal veranderingen bereikt de API return limiet.\n" "Je krijgt niet de complete lijst van wijzigingen, tenzij\n" "je dit script uitvoert met een 'bot' account." #: fedora/client/wiki.py:118 msgid "\n" "== Most active wiki users ==" msgstr "\n" "== Meest actieve wiki gebruikers ==" #: fedora/client/wiki.py:125 msgid "\n" "== Most edited pages ==" msgstr "\n" "== De meeste bewerkte pagina's ==" #: fedora/django/auth/models.py:54 msgid "Loading FAS groups..." msgstr "FAS groepen laden..." #: fedora/django/auth/models.py:60 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" "Kan FAS groepen niet laden. Heb je FAS_USERNAME en FAS_PASSWORD ingesteld?" #: fedora/django/auth/models.py:67 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" "FAS groepen geladen. Vergeet niet om FAS_USERNAME en FAS_PASSWORD in te " "stellen op een lage-rechten account." #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "Welkom, %s" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" "De referenties die je opgegeven hebt zijn niet juist of verlenen geen " "toegang tot deze hulpbron." #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" "Je moet jouw referenties aanbieden voordat deze hulpbron toegankelijk wordt." #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "Gelieve in te loggen." #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "Je hebt succesvol afgemeld." #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "Inloggen" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "Gebruikersnaam" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "Wachtwoord:" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "Inloggen" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "CSRF aanvallen" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you " "are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" " zijn een manier voor een kwaadaardige website om een verzoek van een andere\n" " webserver te vragen als de gebruiker die contact opgenomen heeft met " "de schadelijke website. Het\n" " doel van deze pagina is te helpen om jouw account en deze server\n" " te beschermen tegen aanvallen van dergelijke kwaadaardige websites. " " Door hieronder\n" " te klikken, bewijs je dat je een persoon bent in plaats van alleen de " "webbrowser\n" " die jouw authenticatie cookies doorstuurt in naam van een " "kwaadaardige\n" " website." #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "Ik ben een mens" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "Wachtwoord vergeten?" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "Aanmelden" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "Welkom" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "Je bent niet ingelogd" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "CSRF beschermd" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "Inlog verifiëren" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "Afmelden" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "bijwerken van bezoek (%s)" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "Gebruikersnaam:" python-fedora-1.1.1/translations/nn.po000066400000000000000000000116361375747342300200130ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Norwegian Nynorsk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: nn\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/nso.po000066400000000000000000000116341375747342300201750ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Northern Sotho\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: nso\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/or.po000066400000000000000000000116221375747342300200130ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Oriya\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: or\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/pa.po000066400000000000000000000116241375747342300177750ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Punjabi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pa\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/pl.po000066400000000000000000000153221375747342300200070ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # # Translators: # Piotr Drąg , 2011, 2012 # Piotr Drąg , 2015. #zanata # Ralph Bean , 2015. #zanata msgid "" msgstr "" "Project-Id-Version: python-fedora 0.8.0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2016-04-21 16:57+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "PO-Revision-Date: 2015-08-28 10:55-0400\n" "Last-Translator: Piotr Drąg \n" "Language-Team: Polish (http://www.transifex.com/projects/p/python-fedora/" "language/pl/)\n" "Generated-By: Babel 1.3\n" "Language: pl\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2);\n" "X-Generator: Zanata 3.8.3\n" #: fedora/client/wiki.py:102 #, python-format msgid "From %(then)s to %(now)s" msgstr "Od %(then)s do %(now)s" #: fedora/client/wiki.py:105 #, python-format msgid "%d wiki changes in the past week" msgstr "%d zmian wiki w przeszłym tygodniu" #: fedora/client/wiki.py:107 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" "Ostrzeżenie: liczba zmian osiąga ograniczenie zwrotu API.\n" "Pełna lista zmian nie zostanie uzyskana, chyba że ten\n" "skrypt zostanie wykonany używając konta „bot”." #: fedora/client/wiki.py:118 msgid "\n" "== Most active wiki users ==" msgstr "\n" "== Najbardziej aktywni użytkownicy wiki ==" #: fedora/client/wiki.py:125 msgid "\n" "== Most edited pages ==" msgstr "\n" "== Najczęściej modyfikowane strony ==" #: fedora/django/auth/models.py:54 msgid "Loading FAS groups..." msgstr "Wczytywanie grup FAS…" #: fedora/django/auth/models.py:60 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "Nie można wczytać grup FAS. Ustawiono FAS_USERNAME i FAS_PASSWORD?" #: fedora/django/auth/models.py:67 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" "Wczytano grupy FAS. Proszę nie zapomnieć o ustawieniu NAZWY_UŻYTKOWNIKA_FAS " "i HASŁA_FAS nisko uprawnionego konta." #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "Witaj, %s" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" "Podane dane uwierzytelniające nie są poprawne lub nie gwarantują dostępu do " "tego zasobu." #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" "Należy podać dane uwierzytelniające przed uzyskaniem dostępu do tego zasobu." #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "Proszę się zalogować." #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "Pomyślnie wylogowano." #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "Zaloguj" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "Nazwa użytkownika:" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "Hasło:" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "Login" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "Ataki CSRF" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you " "are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" " służą złośliwym stronom WWW, aby utworzyć żądanie innego serwera WWW\n" " jako użytkownik, który skontaktował się ze złośliwą stroną WWW.\n" " Celem tej strony jest ochrona konta użytkownika i tego serwera\n" " przed atakami z takich złośliwych stron WWW. Naciskając przycisk\n" " poniżej użytkownik udowadnia, że jesteś osobą, a nie przeglądarką\n" " WWW, przekierowującą ciasteczka uwierzytelniania na złośliwą\n" " stronę WWW." #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "Jestem człowiekiem" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "Zapomniano hasło?" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "Zarejestruj się" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "Witaj" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "Użytkownik nie jest zalogowany" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "Ochrona przed CSRF" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "Sprawdzenie logowania" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "Wyloguj" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "aktualizowanie wizyty (%s)" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "Nazwa użytkownika:" python-fedora-1.1.1/translations/pt.po000066400000000000000000000132601375747342300200160ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # # Translators: # nunmiranda , 2011 # Rui Gouveia , 2011 # Ralph Bean , 2015. #zanata msgid "" msgstr "" "Project-Id-Version: python-fedora 0.8.0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2016-04-21 16:57+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "PO-Revision-Date: 2014-08-07 11:51-0400\n" "Last-Translator: Toshio Kuratomi \n" "Language-Team: Portuguese (http://www.transifex.com/projects/p/python-fedora/" "language/pt/)\n" "Generated-By: Babel 1.3\n" "Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Zanata 3.8.3\n" #: fedora/client/wiki.py:102 #, python-format msgid "From %(then)s to %(now)s" msgstr "De %(then)s para %(now)s" #: fedora/client/wiki.py:105 #, python-format msgid "%d wiki changes in the past week" msgstr "%d mudanças na wiki na semana passada" #: fedora/client/wiki.py:107 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:118 msgid "\n" "== Most active wiki users ==" msgstr "\n" "== Utilizadores da wiki mais ativos ==" #: fedora/client/wiki.py:125 msgid "\n" "== Most edited pages ==" msgstr "\n" "== Páginas mais editadas ==" #: fedora/django/auth/models.py:54 msgid "Loading FAS groups..." msgstr "A ler grupos FAS..." #: fedora/django/auth/models.py:60 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:67 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "Bem-vindo, %s" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" "As credenciais fornecidas não estão corretas ou não concedem acesso a este " "recurso." #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "Deve fornecer as suas credenciais antes de aceder a este recurso." #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "Por favor, inicie sessão." #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "A sua sessão foi terminada com sucesso." #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "Iniciar Sessão" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "Senha:" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "Iniciar sessão" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "ataques CSRF" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you " "are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "Eu sou humano" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "Esqueceu a senha?" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "Bem vindo" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "Não tem sessão iniciada" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "Terminar a sessão" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/pt_BR.po000066400000000000000000000155551375747342300204120ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # # Translators: # Cleiton Lima , 2011 # Diego Búrigo Zacarão , 2009 # felipemocruha , 2013 # FIRST AUTHOR , 2008, 2009 # Marcelo Barbosa , 2013 # ufa , 2010 # Marco Aurélio Krause , 2015. #zanata # Ralph Bean , 2015. #zanata msgid "" msgstr "" "Project-Id-Version: python-fedora 0.8.0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2016-04-21 16:57+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "PO-Revision-Date: 2015-09-21 05:09-0400\n" "Last-Translator: Marco Aurélio Krause \n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/" "python-fedora/language/pt_BR/)\n" "Generated-By: Babel 1.3\n" "Language: pt-BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Zanata 3.8.3\n" #: fedora/client/wiki.py:102 #, python-format msgid "From %(then)s to %(now)s" msgstr "De %(then)s para %(now)s" #: fedora/client/wiki.py:105 #, python-format msgid "%d wiki changes in the past week" msgstr "%d mudanças na wiki na semana passada" #: fedora/client/wiki.py:107 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" "Atenção: Números de mudanças ultrapassou o limite de retorno da API.\n" "Você não obterá a lista completa das mudanças sem que\n" "você execute esse script utilizando uma conta 'bot'." #: fedora/client/wiki.py:118 msgid "\n" "== Most active wiki users ==" msgstr "\n" "== Usuários mais ativos do wiki ==" #: fedora/client/wiki.py:125 msgid "\n" "== Most edited pages ==" msgstr "\n" "== Páginas mais editadas ==" #: fedora/django/auth/models.py:54 msgid "Loading FAS groups..." msgstr "Abrindo grupos do FAS..." #: fedora/django/auth/models.py:60 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" "Não foi possível abrir os grupos do FAS. Você definiu FAS_USERNAME e " "FAS_PASSWORD?" #: fedora/django/auth/models.py:67 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" "Grupos FAS carregados. Não esqueça de configurar o FAS_USERNAME e " "FAS_PASSWORD para uma conta de baixo privilégio." #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "Bem vindo, %s" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" "As credenciais que forneceu não foram corretas ou não concederam o acesso a " "este recurso." #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "Você deve prover sua credencial antes de acessar esse recurso." #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "Por favor efetue log in." #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "Você efetuou log off com sucesso." #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "Log In" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "Nome de usuário:" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "Senha:" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "Login" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "Ataques CSRF" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you " "are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" "São um meio para um site malicioso fazer uma requisição para outro\n" " servidor web como o usuário contactou o malicioso site. O\n" " propósito dessa página é ajudar a proteger sua conta e esse servidor\n" " de ataques desses sites maliciosos. Clicando abaixo, você está\n" " provando que você é uma pessoa e não apenas o navegador web\n" " encaminhando seus cookies de autenticação em nome de um site\n" " malicioso." #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "Eu sou humano" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "Esqueceu a senha" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "Inscrever-se" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "Bem vindo" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "Você não está logado" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "Protegido contra CSRF" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "Verifique o login" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "Logout" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "atualizando visita (%s)" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "Usuário" python-fedora-1.1.1/translations/python-fedora.pot000066400000000000000000000116421375747342300223400ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2016 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2016. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: python-fedora 0.8.0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2016-04-21 16:57+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 1.3\n" #: fedora/client/wiki.py:102 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:105 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:107 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:118 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:125 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:54 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:60 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:67 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a" " low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The" "\n" " purpose of this page is to help protect your account and this " "server\n" " from attacks from such malicious web sites. By clicking below, " "you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/ro.po000066400000000000000000000117061375747342300200160ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Romanian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ro\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < 20)) ? 1 : 2);\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/ru.po000066400000000000000000000130441375747342300200210ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # # Translators: # FIRST AUTHOR , 2009 # Narek Babadjanyan , 2011 # Andrey Olykainen , 2010 # Ralph Bean , 2015. #zanata msgid "" msgstr "" "Project-Id-Version: python-fedora 0.8.0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2016-04-21 16:57+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "PO-Revision-Date: 2014-08-07 11:51-0400\n" "Last-Translator: Toshio Kuratomi \n" "Language-Team: Russian (http://www.transifex.com/projects/p/python-fedora/" "language/ru/)\n" "Generated-By: Babel 1.3\n" "Language: ru\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: Zanata 3.8.3\n" #: fedora/client/wiki.py:102 #, python-format msgid "From %(then)s to %(now)s" msgstr "Из %(then)s в %(now)s" #: fedora/client/wiki.py:105 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:107 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:118 msgid "\n" "== Most active wiki users ==" msgstr "\n" "== Самые активные пользователи Wiki ==" #: fedora/client/wiki.py:125 msgid "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:54 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:60 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:67 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "Добро пожаловать, %s" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "Пароль:" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "Логин" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you " "are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "Я человек" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "Забыли пароль?" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "Войти" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "Добро пожаловать" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "Вы не вошли" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "Выйти" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/si.po000066400000000000000000000116241375747342300200100ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Sinhala\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: si\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/sk.po000066400000000000000000000116561375747342300200170ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Slovak\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sk\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/sl.po000066400000000000000000000117121375747342300200110ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Slovenian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sl\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n%100==4 ? 3 : 0)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/sq.po000066400000000000000000000116251375747342300200210ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Albanian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sq\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/sr.po000066400000000000000000000117361375747342300200250ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Serbian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sr\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/sr@latin.po000066400000000000000000000117541375747342300211550ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Serbian (LATIN)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sr@latin\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/sv.po000066400000000000000000000152561375747342300200320ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # # Translators: # Göran Uddeborg , 2011 # Ulrika , 2012 # Göran Uddeborg , 2015. #zanata # Ralph Bean , 2015. #zanata msgid "" msgstr "" "Project-Id-Version: python-fedora 0.8.0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2016-04-21 16:57+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "PO-Revision-Date: 2015-08-31 01:43-0400\n" "Last-Translator: Göran Uddeborg \n" "Language-Team: Swedish (http://www.transifex.com/projects/p/python-fedora/" "language/sv/)\n" "Generated-By: Babel 1.3\n" "Language: sv\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Zanata 3.8.3\n" #: fedora/client/wiki.py:102 #, python-format msgid "From %(then)s to %(now)s" msgstr "Från %(then)s till %(now)s" #: fedora/client/wiki.py:105 #, python-format msgid "%d wiki changes in the past week" msgstr "%d wiki-förändringar under den senaste veckan" #: fedora/client/wiki.py:107 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" "Varning: Antalet förändringar når API:ets gräns för returer.\n" "Du kommer inte få den kompletta listan över förändringar om du\n" "inte kör detta skript med ett ”bot”-konto." #: fedora/client/wiki.py:118 msgid "\n" "== Most active wiki users ==" msgstr "\n" "== Mest aktiva wiki-användare ==" #: fedora/client/wiki.py:125 msgid "\n" "== Most edited pages ==" msgstr "\n" "== Mest redigerade sidor ==" #: fedora/django/auth/models.py:54 msgid "Loading FAS groups..." msgstr "Läser in FAS-grupper …" #: fedora/django/auth/models.py:60 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" "Kan inte läsa in FAS-grupper. Har du ställt in FAS_USERNAME och " "FAS_PASSWORD?" #: fedora/django/auth/models.py:67 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" "FAS-grupper inlästa. Glöm inte att ställa in FAS_USERNAME och FAS_PASSWORD " "till ett lågprivilegierat konto." #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "Välkommen, %s" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" "Kreditiven du angav var inte korrekta eller gav inte tillgång till denna " "resurs." #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "Du måste ange dina kreditiv före åtkomst till denna resurs." #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "Logga in." #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "Du har nu loggat ut." #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "Logga in" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "Användarnamn:" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "Lösenord:" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "Logga in" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "CSRF-attacker" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you " "are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" "är ett sätt för en skadlig webbplats att skicka en begäran till en annan\n" " webbserver som den användare som kontaktade den skadliga webbplatsen." "\n" " Syftet med denna sida är att hjälpa till att skydda ditt konto och\n" " denna server från attacker från sådana skadliga webbplatser. Genom\n" " att klicka nedan, bevisar du att du är en person snarare än bara\n" " webbläsaren som vidarebefordrar dina autentiseringskakor på uppdrag\n" " av en skadlig webbplats." #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "Jag är en människa" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "Glömt lösenord?" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "Registrera dig" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "Välkommen" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "Du är inte inloggad" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "CSRF-skyddad" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "Verifiera inloggning" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "Logga ut" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "uppdaterar besök (%s)" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "Användarnamn:" python-fedora-1.1.1/translations/ta.po000066400000000000000000000116221375747342300177770ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Tamil\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ta\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/te.po000066400000000000000000000116231375747342300200040ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Telugu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: te\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/tg.po000066400000000000000000000116131375747342300200050ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Tajik\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: tg\n" "Plural-Forms: nplurals=1; plural=0\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/th.po000066400000000000000000000200321375747342300200010ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # # Translators: # FIRST AUTHOR , 2009 # Manatsawin Hanmongkolchai , 2010 # Ralph Bean , 2015. #zanata msgid "" msgstr "" "Project-Id-Version: python-fedora 0.8.0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2016-04-21 16:57+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "PO-Revision-Date: 2014-08-07 11:51-0400\n" "Last-Translator: Toshio Kuratomi \n" "Language-Team: Thai (http://www.transifex.com/projects/p/python-fedora/" "language/th/)\n" "Generated-By: Babel 1.3\n" "Language: th\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Zanata 3.8.3\n" #: fedora/client/wiki.py:102 #, python-format msgid "From %(then)s to %(now)s" msgstr "จาก %(then)s ถึง %(now)s" #: fedora/client/wiki.py:105 #, python-format msgid "%d wiki changes in the past week" msgstr "มีการแก้ไขวิกิ %d ครั้งในสัปดาห์ที่ผ่านมา" #: fedora/client/wiki.py:107 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" "คำเตือน: จำนวนการเปลี่ยนแปลงครบการจำกัดจำนวนการคืนค่าของ\n" "API คุณจะไม่ได้รับรายการการเปลี่ยนแปลงทั้งหมดเว้นเสียแต่ว่าคุณรัน\n" "สคริปต์นี้ด้วยบัญชี 'bot'" #: fedora/client/wiki.py:118 msgid "\n" "== Most active wiki users ==" msgstr "\n" "== ผู้ใช้วิกิที่ขยันที่สุด ==" #: fedora/client/wiki.py:125 msgid "\n" "== Most edited pages ==" msgstr "\n" "== หน้าที่แก้ไขมากที่สุด ==" #: fedora/django/auth/models.py:54 msgid "Loading FAS groups..." msgstr "กำลังโหลดกลุ่มใน FAS..." #: fedora/django/auth/models.py:60 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" "ไม่สามารถโหลดกลุ่มใน FAS คุณกำหนด FAS_USERNAME และ FAS_PASSWORD หรือยัง?" #: fedora/django/auth/models.py:67 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "ยินดีต้อนรับ %s" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "ข้อมูลที่คุณระบุมาไม่ถูกต้อง หรือไม่มีสิทธิพอที่จะเข้าถึงทรัพยากรนี้" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "คุณต้องระบุข้อมูลของคุณก่อนเข้าใช้ทรัพยากรนี้" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "โปรดเข้าระบบ" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "คุณได้ออกจากระบบสำเร็จแล้ว" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "เข้าระบบ" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "รหัสผ่าน:" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "เข้าระบบ" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "การโจมตี CSRF" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you " "are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" " เป็นวิธีที่เว็บไซต์ประสงค์ร้ายสร้างคำขอร้องไปยังเว็บเซิร์ฟเวอร์อื่นโดยใช้ผู้ใช้ของ\n" " ผู้ที่เข้าสู่เว็บไซต์นั้น " "วัตถุประสงค์ของหน้านี้คือช่วยคุณป้องกันบัญชีของคุณ\n" " และเซิร์ฟเวอร์นี้จากการโจมตีจากเว็บไซต์เหล่านั้น " "การคลิกด้านล่างนี้คุณจะ\n" " แสดงว่าคุณเป็นมนุษย์ " "ไม่ใช่เว็บเบราว์เซอร์ที่ส่งคุ๊กกี้ยึนยันตนของคุณจาก\n" " เว็บไซต์ประสงค์ร้าย" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "เราคือมนุษย์" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "ลืมรหัสผ่าน?" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "สมัครสมาชิก" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "ยินดีต้อนรับ" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "คุณยังไม่ได้เข้าระบบ" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "ป้องกันจาก CSRF แล้ว" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "ยึนยันการเข้าระบบ" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "ออกจากระบบ" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "อัพเดตกรุณาเข้าที่ (%s)" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/tr.po000066400000000000000000000132501375747342300200170ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # # Translators: # doganaydin , 2011 # Hasan Alp İNAN , 2011 # Talha Okur , 2013 # Ralph Bean , 2015. #zanata msgid "" msgstr "" "Project-Id-Version: python-fedora 0.8.0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2016-04-21 16:57+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "PO-Revision-Date: 2014-08-07 11:51-0400\n" "Last-Translator: Toshio Kuratomi \n" "Language-Team: Turkish (http://www.transifex.com/projects/p/python-fedora/" "language/tr/)\n" "Generated-By: Babel 1.3\n" "Language: tr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Zanata 3.8.3\n" #: fedora/client/wiki.py:102 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:105 #, python-format msgid "%d wiki changes in the past week" msgstr "%d wiki geçtiğimiz hafta değişti" #: fedora/client/wiki.py:107 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:118 msgid "\n" "== Most active wiki users ==" msgstr "\n" "== En aktif wiki kullanıcıları ==" #: fedora/client/wiki.py:125 msgid "\n" "== Most edited pages ==" msgstr "\n" "==En çok düzenlenen sayfalar ==" #: fedora/django/auth/models.py:54 msgid "Loading FAS groups..." msgstr "FAS grupları yükleniyor..." #: fedora/django/auth/models.py:60 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" "FAS grupları yüklenemiyor. FAS_USERNAME ve FAS_PASSWORD değişkenlerini " "atadınız mı?" #: fedora/django/auth/models.py:67 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "Hoşgeldiniz, %s" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "Lütfen giriş yapın." #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "Başarıyla çıkış yaptınız." #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "Giriş" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "Parola:" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "Giriş" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "CSRF saldırıları" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you " "are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "Ben bir insanım" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "Parolanızı mı unuttunuz?" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "Kayıt Ol" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "Hoşgeldiniz" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "Giriş yapmadınız" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "CSRF korumalı" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "Girişi Doğrula" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "Çıkış" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/tw.po000066400000000000000000000116111375747342300200230ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Twi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: tw\n" "Plural-Forms: nplurals=1; plural=0\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/uk.po000066400000000000000000000176371375747342300200260ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # # Translators: # Yuri Chornoivan , 2011-2013 # Ralph Bean , 2015. #zanata msgid "" msgstr "" "Project-Id-Version: python-fedora 0.8.0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2016-04-21 16:57+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "PO-Revision-Date: 2014-08-07 11:51-0400\n" "Last-Translator: Toshio Kuratomi \n" "Language-Team: Ukrainian (http://www.transifex.com/projects/p/python-fedora/" "language/uk/)\n" "Generated-By: Babel 1.3\n" "Language: uk\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: Zanata 3.8.3\n" #: fedora/client/wiki.py:102 #, python-format msgid "From %(then)s to %(now)s" msgstr "З %(then)s до %(now)s" #: fedora/client/wiki.py:105 #, python-format msgid "%d wiki changes in the past week" msgstr "%d змін у вікі протягом попереднього тижня" #: fedora/client/wiki.py:107 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" "Попередження: кількість змін досягла обмеження, яке накладено програмним " "інтерфейсом.\n" "Вам не буде повернуто повний список змін, якщо ви не запустите цей скрипт\n" "від імені облікового запису «bot»." #: fedora/client/wiki.py:118 msgid "\n" "== Most active wiki users ==" msgstr "\n" "== Найактивніші користувачі вікі ==" #: fedora/client/wiki.py:125 msgid "\n" "== Most edited pages ==" msgstr "\n" "== Найчастіше редаговані сторінки ==" #: fedora/django/auth/models.py:54 msgid "Loading FAS groups..." msgstr "Завантаження груп FAS…" #: fedora/django/auth/models.py:60 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" "Не вдалося завантажити групи FAS. Чи встановили ви значення FAS_USERNAME і " "FAS_PASSWORD?" #: fedora/django/auth/models.py:67 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" "Групи FAS завантажено. Не забудьте встановити FAS_USERNAME і FAS_PASSWORD на " "значення облікового запису зі зниженими правами доступу." #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "Вітаємо, %s" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" "Вами було вказано реєстраційні дані, які не є коректними або не надають " "доступу до цього ресурсу." #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" "До отримання доступу до цього ресурсу вам слід вказати ваші реєстраційні " "дані." #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "Будь ласка, увійдіть до системи." #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "Ви успішно вийшли з системи." #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "Вхід" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "Користувач:" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "Пароль:" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "Увійти" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "Напади типу CSRF" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you " "are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" " — це можливість для зловмисників, що володіють певним веб-сайтом, виконати " "запит\n" " до іншого веб-сервера від імені користувача, який встановив " "з’єднання з веб-сайтом\n" " зловмисників. Метою цієї сторінки є захист вашого облікового запису " "і цього сервера\n" " від нападів з таких веб-сайтів. Натисканням відповідної кнопки, " "розташованої нижче,\n" " ви підтверджуєте, що ви людина, а на просто програма, яка " "переспрямовує\n" " ваші куки розпізнавання з веб-сайта зловмисників." #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "Я — людина" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "Забули пароль?" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "Зареєструватися" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "Ласкаво просимо" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "Ви не увійшли до системи" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "Захищено від CSRF" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "Перевірити реєстраційні дані" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "Вийти" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "оновлення відвідування (%s)" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "Користувач:" python-fedora-1.1.1/translations/ur.po000066400000000000000000000116211375747342300200200ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Urdu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ur\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/vi.po000066400000000000000000000116201375747342300200070ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: vi\n" "Plural-Forms: nplurals=1; plural=0\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/wba.po000066400000000000000000000116121375747342300201430ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: wba\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: wba\n" "Plural-Forms: nplurals=1; plural=0\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/yo.po000066400000000000000000000116231375747342300200230ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Yoruba\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: yo\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/zh_CN.po000066400000000000000000000145741375747342300204050ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # # Translators: # caoyu1099 , 2011 # chongfengcf , 2012 # Christopher Meng , 2012 # Ji WenCong , 2012 # Tommy He , 2011, 2012 # simonyanix , 2011 # Ralph Bean , 2015. #zanata msgid "" msgstr "" "Project-Id-Version: python-fedora 0.8.0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2016-04-21 16:57+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "PO-Revision-Date: 2014-08-07 11:51-0400\n" "Last-Translator: Toshio Kuratomi \n" "Language-Team: Chinese (China) (http://www.transifex.com/projects/p/python-" "fedora/language/zh_CN/)\n" "Generated-By: Babel 1.3\n" "Language: zh-CN\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Zanata 3.8.3\n" #: fedora/client/wiki.py:102 #, python-format msgid "From %(then)s to %(now)s" msgstr "从 %(then)s 到 %(now)s" #: fedora/client/wiki.py:105 #, python-format msgid "%d wiki changes in the past week" msgstr "在上一周有 %d Wiki 更改" #: fedora/client/wiki.py:107 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "警告:通过 API 返回的变更次数达到上限。\n" "您将无法获得完整的变化列表除非\n" "您使用 'bot' 账户运行该脚本。" #: fedora/client/wiki.py:118 msgid "\n" "== Most active wiki users ==" msgstr "\n" "== 最活跃的 Wiki 用户 ==" #: fedora/client/wiki.py:125 msgid "\n" "== Most edited pages ==" msgstr "\n" "== 编辑数最多的页面 ==" #: fedora/django/auth/models.py:54 msgid "Loading FAS groups..." msgstr "加载 FAS 组..." #: fedora/django/auth/models.py:60 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "不能加载 FAS groups. 您是否设置了 FAS_USERNAME 和 FAS_PASSWORD?" #: fedora/django/auth/models.py:67 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "FAS 组已加载。别忘记设定 FAS_USERNAME 和 FAS_PASSWORD 为低权限账户。" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "欢迎,%s" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "您提供的证书信息不正确,或者并未授权访问该资源。" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "您必须提供您的证书来访问该资源。" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "请登录" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "您已经注销成功。" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "登录" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "密码:" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "登录" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "CSRF 攻击" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you " "are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" "是恶意站点伪装成受害用户的身份来请求其他网站服务器的方式。\n" "该页面的目的是协助您保护账户和该服务器免受此类站点的攻击。\n" "点击下面的内容将证明您是真实的人,而不是恶意站点转发您授权 cookies 的浏览器。" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "我是人类" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "忘记密码?" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "注册" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "欢迎" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "您还没有登录" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "CSRF 保护" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "登录确认" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "注销" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "更新访问 (%s)" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "用户名:" python-fedora-1.1.1/translations/zh_HK.po000066400000000000000000000116461375747342300204040ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Chinese (Hong Kong SAR China)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: zh-HK\n" "Plural-Forms: nplurals=1; plural=0\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/zh_TW.po000066400000000000000000000127721375747342300204350ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # # Translators: # Cheng-Chia Tseng , 2011 # Ralph Bean , 2015. #zanata msgid "" msgstr "" "Project-Id-Version: python-fedora 0.8.0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2016-04-21 16:57+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "PO-Revision-Date: 2014-08-07 11:51-0400\n" "Last-Translator: Toshio Kuratomi \n" "Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/python-" "fedora/language/zh_TW/)\n" "Generated-By: Babel 1.3\n" "Language: zh-TW\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Zanata 3.8.3\n" #: fedora/client/wiki.py:102 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:105 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:107 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:118 msgid "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:125 msgid "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:54 msgid "Loading FAS groups..." msgstr "正在登入 FAS 群組..." #: fedora/django/auth/models.py:60 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "無法載入 FAS 群組。您是否已設定 FAS_USERNAME 與 FAS_PASSWORD?" #: fedora/django/auth/models.py:67 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "FAS 群組已載入。不要忘記設定低特權帳號的 FAS_USERNAME 與 FAS_PASSWORD 。" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "歡迎您,%s" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "請登入。" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "您已經成功登出。" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "登入" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "密碼:" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "登入" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "CSRF 攻擊" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you " "are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "我是人類" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "忘記密碼?" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "註冊" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "歡迎" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "CSRF 已受保護" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "驗證登入" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "登出" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "正在更新訪問 (%s)" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/translations/zu.po000066400000000000000000000116121375747342300200300ustar00rootroot00000000000000# Translations template for python-fedora. # Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the python-fedora # project. # FIRST AUTHOR , 2014. # msgid "" msgstr "" "Project-Id-Version: python-fedora 0.3.35\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-07 08:36-0700\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Zulu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: zu\n" "Plural-Forms: nplurals=1; plural=0\n" "X-Generator: Zanata 3.7.3\n" #: fedora/client/wiki.py:93 #, python-format msgid "From %(then)s to %(now)s" msgstr "" #: fedora/client/wiki.py:96 #, python-format msgid "%d wiki changes in the past week" msgstr "" #: fedora/client/wiki.py:98 msgid "" "Warning: Number of changes reaches the API return limit.\n" "You will not get the complete list of changes unless\n" "you run this script using a 'bot' account." msgstr "" #: fedora/client/wiki.py:109 msgid "" "\n" "== Most active wiki users ==" msgstr "" #: fedora/client/wiki.py:116 msgid "" "\n" "== Most edited pages ==" msgstr "" #: fedora/django/auth/models.py:52 msgid "Loading FAS groups..." msgstr "" #: fedora/django/auth/models.py:58 msgid "Unable to load FAS groups. Did you set FAS_USERNAME and FAS_PASSWORD?" msgstr "" #: fedora/django/auth/models.py:65 msgid "" "FAS groups loaded. Don't forget to set FAS_USERNAME and FAS_PASSWORD to a " "low-privilege account." msgstr "" #: fedora/tg/controllers.py:73 #, python-format msgid "Welcome, %s" msgstr "" #: fedora/tg/controllers.py:82 msgid "" "The credentials you supplied were not correct or did not grant access to " "this resource." msgstr "" #: fedora/tg/controllers.py:85 msgid "You must provide your credentials before accessing this resource." msgstr "" #: fedora/tg/controllers.py:88 msgid "Please log in." msgstr "" #: fedora/tg/controllers.py:116 msgid "You have successfully logged out." msgstr "" #: fedora/tg/templates/genshi/login.html:14 #: fedora/tg2/templates/genshi/login.html:9 #: fedora/tg2/templates/mako/login.mak:3 msgid "Log In" msgstr "" #: fedora/tg/templates/genshi/login.html:18 msgid "User Name:" msgstr "" #: fedora/tg/templates/genshi/login.html:21 #: fedora/tg2/templates/genshi/login.html:31 #: fedora/tg2/templates/mako/login.mak:25 msgid "Password:" msgstr "" #: fedora/tg/templates/genshi/login.html:25 #: fedora/tg/templates/genshi/login.html:88 #: fedora/tg2/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:66 #: fedora/tg2/templates/mako/login.mak:27 #: fedora/tg2/templates/mako/login.mak:63 msgid "Login" msgstr "" #: fedora/tg/templates/genshi/login.html:32 #: fedora/tg2/templates/genshi/login.html:14 #: fedora/tg2/templates/mako/login.mak:9 msgid "CSRF attacks" msgstr "" #: fedora/tg/templates/genshi/login.html:33 #: fedora/tg2/templates/genshi/login.html:15 #: fedora/tg2/templates/mako/login.mak:10 msgid "" " are a means for a malicious website to make a request of another\n" " web server as the user who contacted the malicious web site. The\n" " purpose of this page is to help protect your account and this server\n" " from attacks from such malicious web sites. By clicking below, you are\n" " proving that you are a person rather than just the web browser\n" " forwarding your authentication cookies on behalf of a malicious\n" " website." msgstr "" #: fedora/tg/templates/genshi/login.html:40 #: fedora/tg2/templates/genshi/login.html:23 #: fedora/tg2/templates/mako/login.mak:18 msgid "I am a human" msgstr "" #: fedora/tg/templates/genshi/login.html:45 #: fedora/tg2/templates/genshi/login.html:37 #: fedora/tg2/templates/mako/login.mak:31 msgid "Forgot Password?" msgstr "" #: fedora/tg/templates/genshi/login.html:46 #: fedora/tg2/templates/genshi/login.html:38 #: fedora/tg2/templates/mako/login.mak:32 msgid "Sign Up" msgstr "" #: fedora/tg/templates/genshi/login.html:64 #: fedora/tg2/templates/genshi/login.html:47 #: fedora/tg2/templates/mako/login.mak:40 msgid "Welcome" msgstr "" #: fedora/tg/templates/genshi/login.html:86 #: fedora/tg2/templates/genshi/login.html:64 #: fedora/tg2/templates/mako/login.mak:61 msgid "You are not logged in" msgstr "" #: fedora/tg/templates/genshi/login.html:93 #: fedora/tg2/templates/genshi/login.html:70 #: fedora/tg2/templates/mako/login.mak:69 msgid "CSRF protected" msgstr "" #: fedora/tg/templates/genshi/login.html:95 #: fedora/tg2/templates/genshi/login.html:72 #: fedora/tg2/templates/mako/login.mak:72 msgid "Verify Login" msgstr "" #: fedora/tg/templates/genshi/login.html:101 #: fedora/tg2/templates/genshi/login.html:78 #: fedora/tg2/templates/mako/login.mak:79 msgid "Logout" msgstr "" #: fedora/tg/visit/jsonfasvisit1.py:109 #, python-format msgid "updating visit (%s)" msgstr "" #: fedora/tg2/templates/genshi/login.html:28 #: fedora/tg2/templates/mako/login.mak:22 msgid "Username:" msgstr "" python-fedora-1.1.1/zanata.xml000066400000000000000000000060511375747342300163120ustar00rootroot00000000000000 https://fedora.zanata.org/ python-fedora 0.8.0 gettext translations translations sq ar as ast bal eu bn bn-IN brx bs br bg ca zh-CN zh-HK zh-TW kw kw-GB cs da nl en-GB eo et fi fr gl ka de el gu he hi hu is id ia it ja kn kk km ky ko lt nds mk mai ms ml mr mn ne nb nn or pa fa pl pt pt-BR ro ru sr sr@latin si sk sl es sv tg ta te bo tr uk ur wba cy lv kw@uccor kw@kkcor af am be hr de-CH th vi zu ilo nso tw yo anp