apport-2.20.1/AUTHORS0000644000000000000000000000171212677230222012303 0ustar 00000000000000Copyright: --------- General: Copyright (C) 2006 - 2015 Canonical Ltd. backends/packaging_rpm.py: Copyright (C) 2007 Red Hat Inc. Authors and Contributors: ------------------------- Martin Pitt : Lead developer, design, backend, GTK frontend development, maintenance of other frontends Michael Hofmann : Creation of Qt4 and CLI frontends Richard A. Johnson : Changed Qt4 frontend to KDE frontend Robert Collins : Python crash hook Will Woods : RPM packaging backend Matt Zimmerman : Convenience function library for hooks (apport/hookutils.py) Troy James Sobotka : Apport icon (apport/apport.svg) Kees Cook : Various fixes, additional GDB output, SEGV parser. Brian Murray : Various fixes, installation of packages from Launchpad and PPAs. apport-2.20.1/COPYING0000644000000000000000000004310312677230222012266 0ustar 00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. apport-2.20.1/ChangeLog0000644000000000000000000252107012677230222013013 0ustar 00000000000000=== 2.20.1 === 2016-03-31 Martin Pitt * NEWS, * apport/ui.py: [3070] release 2.20.1 * test/test_crash_digger.py: [3069] test_crash_digger.test_crashes_error: Adjust for behaviour change in r3060 * test/test_crash_digger.py: [3068] test_crash_digger.py: Modernize assertions 2016-03-24 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/ce.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/ia.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [3067] Launchpad automatic translations update. 2016-03-16 Martin Pitt * NEWS, * apport/report.py, * apport_python_hook.py, * test/test_python_crashes.py: [3066] * Disambiguate overly generic Python exceptions in duplicate signature computation: dbus-glib's DBusException wraps a "real" server-side exception, so add the class of that to disambiguate different crashes; for OSError that is not a known subclass like FileNotFoundError, add the errno. (LP: #989819) 2016-03-08 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/ce.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/ia.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [3065] Launchpad automatic translations update. 2016-03-02 Martin Pitt * data/apport: [3064] apport: Drop unused pid argument from drop_privileges() Thanks to Sander Bos for spotting. 2016-03-01 Martin Pitt * data/apport: [3063] data/apport: Fix spelling of systemd, bump copyright year 2016-02-29 Martin Pitt * data/apport: [3062] data/apport: Fix wrong unit name in log message Thanks to Snader_LB for spotting. 2016-02-29 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/ce.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/ia.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [3061] Launchpad automatic translations update. 2016-02-21 Martin Pitt * NEWS, * bin/crash-digger: [3060] * crash-digger: Untag bugs which cannot be retraced instead of stopping crash-digger. This led to too many pointless manual restarts on broken bug reports. 2016-02-20 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/ce.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/ia.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [3059] Launchpad automatic translations update. 2016-02-16 Martin Pitt * NEWS, * test/test_report.py: [3058] * Relax report.test_add_gdb_info gdb warning check, as this changed with gdb 7.10.90. * test/test_report.py: [3057] test/test_report.py: Modernize assertions * test/test_report.py: [3056] test/test_report.py: Fix C warnings 2016-02-15 Martin Pitt * NEWS, * test/test_signal_crashes.py: [3055] * Fix signal_crashes.test_modify_after_start test when running as root. === 2.20 === 2016-02-12 Martin Pitt * NEWS, * apport/ui.py: [3054] release 2.20 * NEWS, * test/test_signal_crashes.py: [3053] * Drop obsolete signal_crashes.test_ns_forward_privilege() test case. This code was dropped long ago. 2016-02-12 Martin Pitt * data/systemd, * data/systemd/apport-forward.socket, * data/systemd/apport-forward@.service: Added. * NEWS, * data/apport, * setup.py, * test/test_signal_crashes.py: Modified. [3052] * Reimplement forwarding crashes into a container, via activating the new apport-forward.socket in the container and handing over the core dump fd. This is a much safer way than the original implementation with nsexec. Thanks St?phane Graber! (LP: #1445064) 2016-02-03 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/ce.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/ia.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [3051] Launchpad automatic translations update. === 2.19.4 === 2016-01-26 Martin Pitt * NEWS, * apport/ui.py: [3050] release 2.19.4 * NEWS, * apport/hookutils.py: [3049] * hookutils.py, attach_hardware(): Stop attaching /var/log/udev. This was an upstart-ism, mostly redundant with the udev db and is not being written under systemd. (LP: #1537211) 2016-01-24 Launchpad Translations on behalf of apport-hackers * po/sr.po: [3048] Launchpad automatic translations update. 2016-01-23 Launchpad Translations on behalf of apport-hackers * po/sr.po: [3047] Launchpad automatic translations update. 2016-01-21 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/ce.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/ia.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [3046] Launchpad automatic translations update. 2016-01-13 Martin Pitt * NEWS, * test/test_hooks.py: [3045] * Fix test_hooks.py for unreleased gcc versions which have a different --version format. * NEWS, * test/test_ui.py: [3044] * Fix ui.test_run_crash_anonymity test case to not fail if the base64 encoded core dump happens to contain the user name, as that's just by chance. 2015-12-28 Launchpad Translations on behalf of apport-hackers * po/ne.po: [3043] Launchpad automatic translations update. 2015-12-24 Launchpad Translations on behalf of apport-hackers * po/fr.po: [3042] Launchpad automatic translations update. 2015-12-22 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/ce.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/ia.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [3041] Launchpad automatic translations update. 2015-12-14 Martin Pitt * apport/hookutils.py: [3040] small typo fix 2015-12-11 Launchpad Translations on behalf of apport-hackers * po/pl.po: [3039] Launchpad automatic translations update. 2015-12-10 Martin Pitt * NEWS, * test/test_fileutils.py: [3038] * Fix fileutils.test_find_package_desktopfile test for symlinks and other unowned files in /usr/share/applications/. === 2.19.3 === 2015-12-08 Martin Pitt * NEWS, * apport/ui.py: [3037] release 2.19.3 * NEWS, * apport/crashdb_impl/launchpad.py, * test/test_fileutils.py, * test/test_ui_gtk.py, * test/test_ui_kde.py: [3036] * Tests: Move to unittest's builtin "mock" module. * NEWS, * test/test_backend_apt_dpkg.py: [3035] * Move backend_apt_dpkg -dbgsym test cases to Ubuntu 15.10. * apport/fileutils.py: [3034] fileutils.get_recent_crashes(): Read Date field too Regression from commit 3030, exposed by python_crashes.test_no_flooding. * test/test_python_crashes.py: [3033] test_python_crashes.py: Modernize assertions * NEWS, * test/test_python_crashes.py: [3032] * test_python_crashes.py: Be less sensitive to the precise names of gvfs-metadata D-Bus service files. 2015-12-05 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/ce.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/ia.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [3031] Launchpad automatic translations update. 2015-12-04 Martin Pitt * NEWS, * apport/fileutils.py: [3030] * Don't read the entire report when determining the CrashCounter. This avoids long delays for existing large reports. * NEWS, * problem_report.py, * test/test_problem_report.py: [3029] * Add key filtering to ProblemReport.load(). * NEWS, * data/general-hooks/generic.py: [3028] * generic hook: Limit JournalErrors to the 1.000 last lines. This avoids long report load times when processes cause massive log spew. (LP: #1516947) 2015-11-27 Martin Pitt * NEWS, * apport/hookutils.py: [3027] * hookutils.py, attach_gsettings_schema(): Don't replace the schema variable; fixes attaching relocatable schemas. Thanks S?bastien Bacher! 2015-11-12 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/ce.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/ia.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [3026] Launchpad automatic translations update. 2015-11-06 Martin Pitt * NEWS, * backends/packaging-apt-dpkg.py: [3025] * apt/dpkg: Fix source record lookup in install_packages. Thanks Brian Murray! 2015-11-04 Martin Pitt * NEWS, * data/apport: [3024] * apport: Fix comparison against SIGQUIT to work for current Python versions. 2015-10-28 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/ce.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/ia.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [3023] Launchpad automatic translations update. === 2.19.2 === 2015-10-27 Martin Pitt * NEWS, * apport/ui.py: [3022] release 2.19.2 * NEWS, * apport/report.py, * test/test_report.py: [3021] * SECURITY FIX: When determining the path of a Python module for a program like "python -m module_name", avoid actually importing and running the module; this could lead to local root privilege escalation. Thanks to Gabriel Campana for discovering this and the fix! (CVE-2015-1341, LP: #1507480) 2015-10-22 Martin Pitt * NEWS, * test/test_backend_apt_dpkg.py: [3020] * test_backend_apt_dpkg.py: Reset internal apt caches between tests. Avoids random test failures due to leaking paths from previous test cases. 2015-10-19 Martin Pitt * NEWS, * test/test_backend_apt_dpkg.py: [3019] * Fix backend_apt_dpkg.test_install_packages_system for recent "Fall back to direct Launchpad ddeb download" fix. coreutils-dbgsym should now always be available independent of whether the local system has ddeb apt sources. 2015-10-08 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/ce.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/ia.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [3018] Launchpad automatic translations update. 2015-10-08 Martin Pitt * NEWS, * backends/packaging-apt-dpkg.py: [3017] * apt/dpkg: Don't mark packages downloaded from Launchpad for installation by apt. Thanks Brian Murray. === 2.19.1 === 2015-10-07 Martin Pitt * NEWS, * apport/ui.py: [3016] release 2.19.1 2015-10-05 Martin Pitt * NEWS, * doc/data-format.tex, * problem_report.py: [3015] * doc/data-format.tex: Clarify that key names are being treated as case sensitive (unlike RFC822). 2015-09-30 Martin Pitt * NEWS, * backends/packaging-apt-dpkg.py: [3014] * apt/dpkg: Fall back to direct Launchpad ddeb download if we can't find it in the apt cache. Thanks Brian Murray! (LP: #1500557) * NEWS, * data/gcc_ice_hook, * data/java_uncaught_exception, * data/kernel_oops, * data/package_hook, * data/recoverable_problem, * data/unkillable_shutdown: [3013] * Consistently intercept "report file already exists" errors in all writers of report files (package_hook, kernel_crashdump, and similar) to avoid unhandled exceptions on those. (LP: #1500450) 2015-09-29 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/ce.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/ia.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [3012] Launchpad automatic translations update. === 2.19 === 2015-09-24 Martin Pitt * NEWS, * apport/ui.py: [3011] release 2.19 * NEWS, * bin/apport-cli, * bin/apport-retrace, * bin/apport-unpack, * bin/apport-valgrind, * bin/crash-digger, * bin/dupdb-admin, * data/apport, * data/apport-checkreports, * data/apportcheckresume, * data/dump_acpi_tables.py, * data/gcc_ice_hook, * data/general-hooks/parse_segv.py, * data/iwlwifi_error_dump, * data/java_uncaught_exception, * data/kernel_crashdump, * data/kernel_oops, * data/package_hook, * data/recoverable_problem, * data/unkillable_shutdown, * data/whoopsie-upload-all, * gtk/apport-gtk, * kde/apport-kde, * setup.py: [3010] * Switch all executables to use Python 3 by default. * NEWS, * data/apport: [3009] * apport: Ignore process restarts from systemd's watchdog. Their traces are usually useless as they don't have any information about the actual reasaon why processes hang (like VM suspends or kernel lockups with bad hardware) (LP: #1433320) 2015-09-21 Martin Pitt * NEWS, * apport/fileutils.py, * data/gcc_ice_hook, * data/iwlwifi_error_dump, * data/java_uncaught_exception, * data/kernel_crashdump, * data/kernel_oops, * data/package_hook, * data/recoverable_problem, * data/unkillable_shutdown, * test/test_fileutils.py: [3008] SECURITY FIX: Fix all writers of report files to open the report file exclusively Fix package_hook, kernel_crashdump, and similar hooks to fail if the report already exists. This prevents privilege escalation through symlink attacks. Note that this will also prevent overwriting previous reports with the same same. Thanks to halfdog for discovering this! CVE-2015-1338 LP: #1492570 * NEWS, * data/kernel_crashdump, * test/test_hooks.py: [3007] kernel_crashdump: Enforce that the log/dmesg files are not a symlink This prevents normal users from pre-creating a symlink to the predictable .crash file, and thus triggering a "fill up disk" DoS attack when the .crash report tries to include itself. Also clean up the code to make this easier to read: Drop the "vmcore_root" alias, move the vmcore and vmcore.log cleanup into the "no kdump" section, and replace the buggy os.walk() loop with a glob to only catch direct timestamp subdirectories of /var/crash/. Thanks to halfdog for discovering this! CVE-2015-1338 Part of LP #1492570 2015-09-18 Launchpad Translations on behalf of apport-hackers * po/be.po: [3006] Launchpad automatic translations update. 2015-09-14 Launchpad Translations on behalf of apport-hackers * po/ro.po: [3005] Launchpad automatic translations update. 2015-09-11 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/ce.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/ia.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [3004] Launchpad automatic translations update. 2015-09-10 Martin Pitt * NEWS, * data/apport: [3003] * apport: Drop re-nicing. This might decrease the time a user has to wait for apport to finish the core dump for a crashed/hanging foreground process. (See LP #1278780) === 2.18.1 === 2015-09-10 Martin Pitt * NEWS, * apport/ui.py: [3002] release 2.18.1 * po/de.po: [3001] update German translations * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/apport.pot, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/ce.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/ia.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [3000] merge po files 2015-09-09 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/ce.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/ia.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2999] Launchpad automatic translations update. 2015-09-01 Martin Pitt * data/apportcheckresume, * data/iwlwifi_error_dump: [2998] Adjust apportcheckresume and iwlwifi_error_dump for simplified Package: handling Follow-up for r2996. * NEWS, * apport/sandboxutils.py: [2997] * sandboxutils.py, make_sandbox(): Make "Cannot find package which ships Executable/InterpreterPath" fatal, to save some unnecessary package unpack cycles. (LP: #1487174) * NEWS, * apport/report.py, * data/kernel_crashdump, * data/kernel_oops, * data/package_hook, * test/test_hooks.py: [2996] * Unify and simplify Package: field generation in kernel_crashdump, kernel_oops, and package_hook by using the new Report.add_package() method. (LP: #1485787) 2015-09-01 Launchpad Translations on behalf of apport-hackers * po/ro.po: [2995] Launchpad automatic translations update. 2015-08-31 Martin Pitt * NEWS, * apport/packaging.py: [2994] * packaging.py: Only consider first word in /etc/os-release's NAME value. This works around Debian's inconsistent value. (LP: #1408245) * data/kernel_oops: [2993] kernel_oops: Add missing whitespace 2015-08-27 Martin Pitt * NEWS, * bin/apport-retrace: [2992] * apport-retrace: Only consider the file name of a source file, not its path; the latter often contains parts like "../" or directories which are specific to a build machine. This fixes most broken StacktraceSource results. (LP: #1462491) 2015-08-18 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/ce.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/ia.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2991] Launchpad automatic translations update. 2015-08-14 Martin Pitt * NEWS, * data/whoopsie-upload-all: [2990] * whoopsie-upload-all: Intercept OSError too (e. g. "No space left on device"). (LP: #1476258) 2015-08-10 Martin Pitt * NEWS, * apport/hookutils.py, * apport/report.py: [2989] * When determinining the logind session and $XDG_SESSION_ID is not set, fall back to reading it from /proc/pid/cgroup. * apport/__init__.py, * apport/crashdb.py, * apport/crashdb_impl/launchpad.py, * apport/hookutils.py, * apport/ui.py, * apport_python_hook.py, * bin/apport-cli, * data/package-hooks/source_apport.py, * gtk/apport-gtk, * problem_report.py, * test/run: [2988] Fix PEP-8 errors * NEWS, * test/test_hooks.py: [2987] * test_hooks.py: Adjust for gcc executable names that don't include the minor version number. 2015-07-22 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/ce.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/ia.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2986] Launchpad automatic translations update. === 2.18 === 2015-07-17 Martin Pitt * NEWS, * apport/ui.py: [2985] release 2.18 * NEWS, * test/test_crashdb.py: [2984] * Fix wrong assertion in crashdb.test_check_duplicate() which surfaces under Python 3.5. (LP: #1474539) * apport/crashdb_impl/memory.py, * test/test_crashdb.py: [2983] apport/crashdb_impl/memory.py: Fix typo 2015-07-16 Martin Pitt * NEWS, * apport/hookutils.py: [2982] * hookutils.attach_wifi(): Shorten value of CRDA if iw isn't available on the system. Thanks Brian Murray. 2015-07-15 Brian Murray * backends/packaging-apt-dpkg.py: [2981] resolve test failure with python2 and test_use_sources_for_a_ppa, also unquote urls before using them in a warning. 2015-07-15 Martin Pitt * AUTHORS, * NEWS, * apport/packaging.py, * apport/sandboxutils.py, * backends/packaging-apt-dpkg.py, * bin/apport-retrace, * test/test_backend_apt_dpkg.py: [2980] * Add support for retracing with discovering and enabling foreign Launchpad PPA origins, as specified in reports' Package:/Dependencies: fields. Thanks Brian Murray! 2015-07-07 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/ce.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/ia.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2979] Launchpad automatic translations update. 2015-07-02 Martin Pitt * NEWS, * apport/packaging.py, * apport/ui.py, * backends/packaging-apt-dpkg.py: [2978] * Keep "[origin: ...]" information in Package: and Dependencies: fields for native-origins.d/ origins, so that it's possible to retrace them. Thanks Brian Murray! (LP: #1470572) 2015-06-29 Martin Pitt * NEWS, * backends/packaging-apt-dpkg.py, * test/test_backend_apt_dpkg.py: [2977] * apt/dpkg install_packages(): Ignore -dbg packages whose descriptions contain "transitional". (LP: #1469635) * backends/packaging-apt-dpkg.py: [2976] Fix deprecation warning with passing a hash to python-apt's AcquireFile 2015-06-25 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/ce.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/ia.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2975] Launchpad automatic translations update. 2015-06-24 Martin Pitt * NEWS, * data/kernel_oops: [2974] * kerneloops: Fix crash when determining the version of a custom kernel. Thanks Brian Murray. (LP: #1468154) 2015-06-18 Brian Murray * backends/packaging-apt-dpkg.py: [2973] Remove redundant variable setting for Dir::Cache::archives config, and return None if we don't find a publishedSource url. 2015-06-17 Martin Pitt * test/test_backend_apt_dpkg.py: [2972] test_backend_apt_dpkg.py: Fix split() call for Python 2 * NEWS, * backends/packaging-apt-dpkg.py, * test/test_backend_apt_dpkg.py: [2971] * apt/dpkg install_packages(): If a requested package version is not available from apt in the given archive, try to download it from Launchpad. Thanks to Brian Murray! 2015-06-13 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/ce.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/ia.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2970] Launchpad automatic translations update. 2015-06-11 Martin Pitt * NEWS, * apport/sandboxutils.py: [2969] * sandboxutils, make_sandbox(): Fix second round of package installs to go into permanent root dir as well. 2015-06-10 Martin Pitt * NEWS, * apport/sandboxutils.py: [2968] * sandboxutils, make_sandbox(): Don't exit with 0 (success) if the ExecutablePath does not exist. (LP: #1462469) 2015-06-05 Martin Pitt * NEWS, * gtk/apport-gtk.ui: [2967] * apport-gtk: Use GtkWidget::valign property instead of GtkMisc::yalign which is deprecated in GTK 3.16. Thanks Iain Lane. 2015-05-29 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/ce.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/ia.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2966] Launchpad automatic translations update. 2015-05-28 Martin Pitt * test/test_backend_apt_dpkg.py: [2965] Fix backend_apt_dpkg.test_install_packages_permanent_sandbox test to restore proxy settings at the right time * NEWS, * etc/init.d/apport: [2964] * init.d script: Fix tab usage inconsistencies. * NEWS, * etc/init.d/apport: [2963] * Enable suid_dumpable in the init.d script to also get Apport reports about suid, unreadable, and otherwise protected binaries. These will be "system reports" owned and readable by root only. * NEWS, * test/test_backend_apt_dpkg.py: [2962] * Fix backend_apt_dpkg.test_install_packages_permanent_sandbox test to more carefully restore the environment and apt config. === 2.17.3 === 2015-05-20 Martin Pitt * NEWS, * apport/ui.py: [2961] release 2.17.3 * NEWS, * test/run: [2960] * test/run: Run UI tests under dbus-launch, newer GTK versions require this now. 2015-05-13 Martin Pitt * .bzrignore: [2959] .bzrignore: add __pycache__ * NEWS, * data/apport, * test/test_signal_crashes.py: [2958] SECURITY UPDATE: Fix core dump file injection When writing a core dump file for a crashed packaged program, don't close and reopen the .crash report file but just rewind and re-read it. This prevents the user from modifying the .crash report file while "apport" is running to inject data and creating crafted core dump files. By itself this is not a vulnerability, but in conjunction with the previous vulnerability of writing core dump files to arbitrary directories (CVE-2015-1324) this could be exploited to gain root privileges, by writing a crafted "core" file to /etc/sudoers.d/, /etc/cron.d, or similar. Thanks to Philip Pettersson for discovering this issue! CVE-2015-1325 LP: #1453900 * NEWS, * data/apport, * test/test_signal_crashes.py: [2957] SECURITY UPDATE: Fix local root privilege escalation through suid root exe core files When /proc/sys/fs/suid_dumpable is enabled, crashing a program that is suid root or not readable for the user would create root-owned core files in the current directory of that program. Creating specially crafted core files in /etc/logrotate.d or similar could then lead to arbitrary code execution with root privileges. Fix apport's drop_privileges() to actually drop privileges to the crashed program's real ID. Before it was dropping to the owner of /proc/pid/stat, which is root for suid root or unreadable executables. This requires special-casing when writing .crash reports: We can't chmod the written file to become readable as it needs to be owned by root and we already dropped privileges; so create the reports with 0640 permissions right from the start. Don't write a core file for the kinds of executables above. Their /proc/pid/stat is owned by root (or the user suid'ed to), only write core files for processes whose real ID matches that ownership. (Note that comparing against effective ID does not work as processes can drop their privileges.) This is in accordance with the intention of core(5) and proc(5) whose intention is to only allow suid_dumpable to pipes (i. e. apport) but not to core files in cwd. Adjust signal_crashes.test_crash_setuid_{keep,drop} accordingly. Add tests for running a suid root and an unreadable executable in a non-user- writable cwd. These reproduce the original exploit. Thanks to Sander Bos for discovering this issue! CVE-2015-1324 LP: #1452239 2015-05-06 Martin Pitt * test/test_signal_crashes.py: [2956] test_signal_crashes: fix comments * NEWS, * test/test_signal_crashes.py: [2955] * signal_crashes test: Fix test_crash_setuid_* to look at whether suid_dumpable was enabled. * test/test_signal_crashes.py: [2954] test_signal_crashes(): Drop hardcoded /tmp/ path in do_crash(), test_nonwritable_cwd() uses a different dir 2015-04-29 Launchpad Translations on behalf of apport-hackers * po/ia.po: Added. [2953] Launchpad automatic translations update. 2015-04-28 Launchpad Translations on behalf of apport-hackers * po/ast.po, * po/be.po, * po/bg.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/eu.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/gd.po, * po/gl.po, * po/he.po, * po/hr.po, * po/hu.po, * po/id.po, * po/is.po, * po/it.po, * po/km.po, * po/lt.po, * po/ms.po, * po/nb.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/tg.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_TW.po: [2952] Launchpad automatic translations update. 2015-04-27 Martin Pitt * NEWS, * data/apportcheckresume, * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/ce.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2951] * apportcheckresume: Fix "occured" typo, thanks Matthew Paul Thomas. (LP: #1448636) 2015-04-22 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/ce.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2950] Launchpad automatic translations update. === 2.17.2 === 2015-04-16 Martin Pitt * NEWS, * apport/ui.py: [2949] release 2.17.2 * NEWS, * data/apport: [2948] * SECURITY UPDATE: Disable crash forwarding to containers. The previous fix in 2.17.1 was not sufficient against all attack scenarios. By binding to specially crafted sockes, a normal user program could forge arbitrary entries in /proc/net/unix. We cannot currently rely on a kernel-side solution for this; this feature will be re-enabled once it gets re-done to be secure. (LP: #1444518) 2015-04-15 Martin Pitt * NEWS, * data/recoverable_problem, * test/test_recoverable_problem.py: [2947] * Really create a better duplicate signature for recoverable problems, using ExecutablePath. Thanks Brian Murray. (LP: #1316763) * NEWS, * kde/apport-kde: [2946] * apport-kde: Fix crash when showing byte array values. Thanks Jonathan Riddell. (LP: #1443659) 2015-04-14 Martin Pitt * NEWS, * do-release: [2945] * do-release: Force UTC timezone for upstream changelog generation. === 2.17.1 === 2015-04-14 Martin Pitt * NEWS, * apport/ui.py: [2944] release 2.17.1 * NEWS, * data/apport, * test/test_signal_crashes.py: [2943] SECURITY UPDATE: Fix root privilege escalation through crash forwarding to containers Version 2.13 introduced forwarding a crash to a container's apport. By crafting a specific file system structure, entering it as a namespace ("container"), and crashing something in it, a local user could access arbitrary files on the host system with root privileges. Thanks to St?phane Graber for discovering and fixing this! CVE-2015-1318 LP: #1438758 2015-04-09 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/ce.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2942] Launchpad automatic translations update. 2015-04-01 Martin Pitt * NEWS, * data/apport: [2941] * apport: use the proper pid when calling apport in another PID namespace. Thanks Brian Murray. (LP: #1300235) * NEWS, * apport/report.py, * data/apport, * test/test_signal_crashes.py: [2940] * Fix UnicodeDecodeError on parsing non-ASCII environment variables. 2015-04-01 Launchpad Translations on behalf of apport-hackers * po/hr.po: [2939] Launchpad automatic translations update. 2015-03-31 Martin Pitt * NEWS, * test/test_ui_kde.py: [2938] * apport-kde tests: Fix imports to make tests work again. === 2.17 === 2015-03-31 Martin Pitt * NEWS, * apport/ui.py: [2937] release 2.17 * apport/report.py, * test/test_ui.py: [2936] anonymize JournalErrors field 2015-03-27 Martin Pitt * NEWS, * data/general-hooks/generic.py: [2935] * general-hooks/generic.py: Add systemd journal warnings and errors to the new "JournalErrors" field. 2015-03-27 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/ce.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2934] Launchpad automatic translations update. 2015-03-26 Dmitry Shachnev * kde/apport-kde: [2933] Fix syntax error in apport-kde 2015-03-26 Martin Pitt * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/apport.pot, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/ce.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2932] update po * NEWS, * kde/apport-kde, * test/test_ui_kde.py: [2931] * apport-kde: Port to Qt5. Thanks Harald Sitter! 2015-03-17 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/ce.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2930] Launchpad automatic translations update. 2015-03-09 Martin Pitt * NEWS, * test/test_signal_crashes.py: [2929] * Adjust signal_crashes.test_crash_setuid_{keep,drop} for systemd. 2015-03-05 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/ce.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2928] Launchpad automatic translations update. === 2.16.2 === 2015-03-02 Martin Pitt * NEWS, * apport/ui.py: [2927] release 2.16.2 * apport/hookutils.py: [2926] hookutils.py: Fix arguments to tail subprocess call * NEWS, * bin/crash-digger: [2925] revert r2919, httplib2 is an external module * NEWS, * apport/hookutils.py: [2924] * hookutils, attach_mac_events(): Read kernel violation messages from dmesg instead of /var/log/kern.log, as that's specific to rsyslog and its configuration. * NEWS, * apport/hookutils.py, * test/test_hookutils.py: [2923] * hookutils, recent_syslog(): Read system logs from the journal when running under systemd, and fall back to /var/log/syslog if not. * NEWS, * apport/hookutils.py, * test/test_hookutils.py: [2922] * hookutils, attach_dmesg(): Only attach dmesg as CurrentDmesg, drop BootDmesg as /var/log/dmesg is upstart specific and thus not reliably correct any more. * NEWS, * test/test_backend_apt_dpkg.py: [2921] * Move backend_apt_dpkg testsuite to use Ubuntu 14.04 LTS. * NEWS, * gtk/apport-gtk, * gtk/apport-gtk.ui: [2920] * apport-gtk: Update legacy icon names to modern GTK ones, to fix icons under GNOME. Thanks Scott Sanbar. (LP: #1422176) * NEWS, * bin/crash-digger: [2919] * crash-digger: Intercept httplib2.HttpLib2Error on download. 2015-02-27 Martin Pitt * NEWS, * apport/hookutils.py: [2918] * hookutils, attach_drm_info(): Avoid UnicodeDecodeErrors in Python 3 when reading binary files. Thanks Chad Miller. (LP: #1425254) 2015-02-26 Martin Pitt * NEWS, * apport/ui.py: [2917] * ui.py, collect_info(): Fix crash on bug pattern checking with broken gzipped values. (LP: #1345653) * apport/crashdb_impl/launchpad.py: [2916] PEP-8 fix 2015-02-25 Martin Pitt * NEWS, * apport/crashdb_impl/launchpad.py: [2915] * launchpad backend download(): Try to convert textual values from byte arrays into into strings. * NEWS, * apport/crashdb_impl/launchpad.py: [2914] * launchpad backend: Fix wrong use of filter() with Python 3. * NEWS, * apport/crashdb_impl/launchpad.py: [2913] * launchpad backend: Fix unclosed file in upload(). * NEWS, * problem_report.py: [2912] * ProblemReport: Set a timestamp of 0 in gzip compressed fields; they are meaningless and cause unnecessary jitter in the output. 2015-02-13 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/ce.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2911] Launchpad automatic translations update. 2015-02-10 Martin Pitt * NEWS, * apport/hookutils.py: [2910] * hookutils.in_session_of_problem(): Check $XDG_SESSION_ID and /run/systemd/sessions instead of the cgroup, as the latter does not work under cgmanager. === 2.16.1 === 2015-02-10 Martin Pitt * NEWS, * apport/ui.py: [2909] release 2.16.1 * NEWS, * apport/report.py, * test/test_report.py: [2908] * Report.get_logind_session(): Check $XDG_SESSION_ID and /run/systemd/sessions instead of the cgroup, as the latter does not work under cgmanager. 2015-02-09 Martin Pitt * setup.cfg: Added. * NEWS: Modified. [2907] * Set gettext translation domain in setup.cfg, so that tools like dh_translations pick it up and show correct polkit translations. Thanks to Aron Xu! (LP: #1306857) 2015-02-06 Martin Pitt * NEWS: [2906] fix typo in changelog === 2.16 === 2015-02-06 Martin Pitt * NEWS, * apport/ui.py: [2905] release 2.16 * NEWS, * setup.py: [2904] * Don't install the test suite any more, to save 1 MB of installed space. It can be run out of trunk easily enough, and distributions can install it from tests/ if they desire. * NEWS: [2903] NEWS: Sort into improvements and bug fixes * NEWS, * gtk/apport-gtk: [2902] * apport-gtk: When running under Wayland, avoid Gdk/Wnck operation for setting crash window modal to the PID of the crashed window; these only work under X11. * gtk/apport-gtk, * kde/apport-kde, * test/run: [2901] apport-{gtk,kde}: Fix PEP-8 errors * gtk/apport-gtk, * kde/apport-kde, * test/run: [2900] apport-{gtk,kde}: Fix pyflakes errors * NEWS, * bin/apport-bug, * gtk/apport-gtk: [2899] * apport-bug, apport-gtk: Also check for $WAYLAND_SESSION, to use apport-gtk instead of apport-cli under Wayland. Thanks Tim Lunn. (LP: #1418766) * NEWS, * apport/ui.py, * test/test_ui.py: [2898] * Fix check for available terminal when checking whether to display the "Examine locally" button. * NEWS, * data/whoopsie-upload-all: [2897] * whoopsie-upload-all: Add package information to the report before calling package hooks. Thanks Brian Murray. 2015-02-05 Martin Pitt * NEWS, * bin/apport-unpack, * problem_report.py, * test/test_problem_report.py: [2896] * Add a new method ProblemReport.extract_keys() which writes binary keys (which can be very large) directly to files without loading them all into memory first. Use that in apport-unpack. Thanks Louis Bouchard! (LP: #1307413) * NEWS, * apport/ui.py: [2895] * ui.py: Only provide a UI to hooks if the crash db will accept the report. This avoids asking questions if the report is merely sent to whoopsie for Ubuntu stable releases. Thanks Brian Murrary. (LP: #1084979) 2015-01-31 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/ce.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2894] Launchpad automatic translations update. 2015-01-23 Martin Pitt * NEWS, * apport/crashdb_impl/launchpad.py: [2893] * launchpad backend: Work with Python 3, now that launchpadlib exists for Python 3. (LP: #1153671) * apport/crashdb_impl/launchpad.py: [2892] launchpad.py tests: use proper assertions 2015-01-16 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/ce.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2891] Launchpad automatic translations update. 2015-01-08 Martin Pitt * NEWS, * apport/hookutils.py: [2890] * hookutils, attach_root_command_outputs(): Fix UnicodeDecodeError crash for non- textual values. (LP: #1370259) 2014-12-24 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/ce.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2889] Launchpad automatic translations update. === 2.15.1 === 2014-12-19 Martin Pitt * NEWS, * apport/ui.py: [2888] release 2.15.1 * NEWS, * gtk/apport-gtk.ui: [2887] * apport-gtk: Drop properties which are deprecated in GTK 3.14. 2014-12-17 Martin Pitt * NEWS, * backends/packaging-apt-dpkg.py: [2886] * apt/dpkg _search_contents(): Check HTTP last-modified header to avoid re- downloading Contents.gz every day unless it actually changed. Thanks Brian Murray! * NEWS, * apport/crashdb_impl/launchpad.py: [2885] * Adjust launchpad crashdb testsuite to work against current Launchpad. 2014-12-16 Martin Pitt * test/test_signal_crashes.py: [2884] Work around signal_crashes.test_limit_size race condition Sometimes the read stderr is completely empty, but this is almost impossible to reproduce interactively. Don't fail the entire test suite on this issue for now. 2014-12-10 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/ce.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2883] Launchpad automatic translations update. 2014-12-04 Martin Pitt * NEWS, * test/test_signal_crashes.py: [2882] * Robustify signal_crashes.test_limit_size test. * NEWS, * test/test_report.py: [2881] * Robustify report.test_get_timestamp test. 2014-12-02 Martin Pitt * test/test_ui.py: [2880] ui.test_run_report_bug_unpackaged_pid: Mitigate a race condition === 2.15 === 2014-12-02 Martin Pitt * NEWS, * apport/ui.py: [2879] release 2.15 * setup.py: [2878] setup.py: Fix build failure due to test/data/ subdir * NEWS, * data/whoopsie-upload-all: [2877] * data/whoopsie-upload-all: confirm that the crash file exists before trying to remove it. (LP: #1384358) * data/apport: [2876] data/apport: Put back python 2 hashbang, fallout from r2871 * NEWS, * test/test_backend_apt_dpkg.py: [2875] * Fix backend_apt_dpkg.test_install_packages_permanent_sandbox test case with proxy env variables with latest apt. * NEWS, * apport/sandboxutils.py: [2874] * apport-retrace: Fix location of cached Contents.gz when using --sandbox-dir. (LP: #1394798) 2014-11-11 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/ce.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2873] Launchpad automatic translations update. 2014-11-03 Martin Pitt * NEWS, * gtk/apport-gtk, * gtk/apport-gtk.ui: [2872] * apport-gtk: Fix jump-to-top on first click of the details treeview. Thanks Marius Gedminas. (LP: #1387328) * NEWS, * data/apport, * test/test_signal_crashes.py: [2871] * When core size exceeds the limit (3/4 of available memory) and thus the core dump is skipped, log this to /var/log/apport.log. (LP: #1387835) 2014-10-25 Launchpad Translations on behalf of apport-hackers * po/bs.po: [2870] Launchpad automatic translations update. 2014-10-20 Martin Pitt * NEWS, * etc/init.d/apport: [2869] * Stop setting $PATH in the init.d script. It breaks assumptions from /lib/lsb/init-functions.d/ which might call other tools which are not in /bin; also, we generally shouldn't meddle with $PATH in individual scripts. (LP: #1372665) 2014-10-18 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/ce.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2868] Launchpad automatic translations update. 2014-10-15 Martin Pitt * data/recoverable_problem: [2867] recoverable_problem: Fix crash when encountering a PID that went away underneath us. Follow-up fix for r2859 2014-10-10 Martin Pitt * apport/packaging.py, * backends/packaging-apt-dpkg.py: [2866] move packaging.enabled() implementation from apt/dpkg backend to parent class 2014-10-10 Martin Pitt * test/data, * test/data/testclick, * test/data/testclick/CMakeLists.txt, * test/data/testclick/bin, * test/data/testclick/bin/pycrash, * test/data/testclick/click, * test/data/testclick/click/CMakeLists.txt, * test/data/testclick/click/manifest.json.in, * test/data/testclick_0.1_all.click: Added. [2865] add a test click source and binary package to test/data 2014-10-10 Martin Pitt * data/recoverable_problem: [2864] whitespace cleanup * NEWS, * data/whoopsie-upload-all: [2863] * whoopsie-upload-all: Refactor to behave more reliably in case of overlapping crash processing. Thanks Steve Langasek and Brian Murray. (LP: #1354318) * whoopsie-upload-all: Remove crash reports that have a core dump which is broken and cannot be processed by gdb. Thanks Brian Murray. (LP: #1376374) 2014-10-07 Launchpad Translations on behalf of apport-hackers * po/hu.po: [2862] Launchpad automatic translations update. 2014-09-30 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/ce.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2861] Launchpad automatic translations update. 2014-09-24 Martin Pitt * NEWS, * backends/packaging-apt-dpkg.py: [2860] * apport-retrace: Stop considering a package download error as transient; it can too easily lead to unnoticed eternal retry loops. 2014-09-22 Evan Dandrea * NEWS, * data/recoverable_problem: [2859] * recoverable_problem: Handle the parent process going away while we're attempting to read from proc. 2014-09-19 Launchpad Translations on behalf of apport-hackers * po/bs.po: [2858] Launchpad automatic translations update. 2014-09-12 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/ce.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2857] Launchpad automatic translations update. 2014-09-04 Martin Pitt * NEWS, * apport/ui.py: [2856] * ui.py: Robustify check if apport-retrace is installed. This brings back the "Examine locally" UI option. (LP: #1358734) 2014-08-30 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/ce.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2855] Launchpad automatic translations update. === 2.14.7 === 2014-08-29 Martin Pitt * NEWS, * apport/ui.py: [2854] release 2.14.7 * NEWS, * apport/report.py, * bin/apport-retrace, * data/whoopsie-upload-all, * test/test_report.py: [2853] * report.py, add_gdb_info(): Check for truncated core dumps, and set UnreportableReason and raise an IOError on them. Handle this in apport-retrace and whoopsie-upload-all to fail properly instead of silently producing broken Stacktraces. (LP: #1354571) * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/apport.pot, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/ce.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2852] merge i18n * NEWS, * test/test_report.py: [2851] * Fix report.test_add_proc_info test to stop assuming that pid 1 is named "init", as one can specify a different one on the kernel command line. 2014-08-28 Martin Pitt * etc/apport/crashdb.conf: [2850] etc/apport/crashdb.conf: Fix whitespace 2014-08-27 Martin Pitt * NEWS, * apport/sandboxutils.py: [2849] * sandboxutils.py, make_sandbox(): Drop check for already existing files when dynamically resolving libraries and ExecutablePaths; with that, these packages would never get updated in a permanent sandbox. The new version tracking from above now takes care of that. (LP: #1352591) * NEWS, * backends/packaging-apt-dpkg.py, * test/test_backend_apt_dpkg.py: [2848] * apt/dpkg install_packages(): Avoid re-downloading/installing packages which are already installed into a permanent sandbox. Prerequisite for LP #1352591. * NEWS, * backends/packaging-apt-dpkg.py, * test/test_backend_apt_dpkg.py: [2847] * apt/dpkg install_packages(): Write a "packages.txt" into sandbox root directory to keep track of installed packages and their versions. Prerequisite for LP #1352591. * NEWS, * apport/ui.py: [2846] * Write report even on UnreportableReasons, so that whoopsie can still upload them. (LP: #1360417) * NEWS, * bin/apport-retrace: [2845] * apport-retrace: Don't require specifying an operation; default to updating the given .crash file. (LP: #1361242) * NEWS, * data/apport, * test/test_signal_crashes.py: [2844] * Fix interpretation of core dump ulimits: they are in bytes, not kB. (LP: #1346497) 2014-08-22 Launchpad Translations on behalf of apport-hackers * po/uk.po: [2843] Launchpad automatic translations update. 2014-08-20 Launchpad Translations on behalf of apport-hackers * po/it.po: [2842] Launchpad automatic translations update. 2014-08-19 Martin Pitt * NEWS, * test/test_backend_apt_dpkg.py: [2841] * Adjust backend_apt_dpkg.test_get_file_package() test: newer util-linux versions do not provide /etc/blkid.tab any more. 2014-08-19 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/ce.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2840] Launchpad automatic translations update. === 2.14.6 === 2014-08-18 Martin Pitt * NEWS, * apport/ui.py: [2839] release 2.14.6 2014-08-18 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/ce.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2838] Launchpad automatic translations update. 2014-08-18 Martin Pitt * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/apport.pot, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/ce.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2837] update i18n * NEWS, * gtk/apport-gtk, * gtk/apport-gtk.ui, * po/apport.pot: [2836] * apport-gtk: Drop usage of deprecated GTK stock items. (LP: #1348116) * gtk/apport-gtk.ui: [2835] apport-gtk.ui: Replace deprecated "stock" property with "icon-name", and drop duplicate prop 2014-08-12 Launchpad Translations on behalf of apport-hackers * po/ce.po: Added. [2834] Launchpad automatic translations update. 2014-08-05 Martin Pitt * NEWS, * bin/apport-retrace: [2833] * apport-retrace: Declare -s/-g/-o as mutually exclusive, to get proper error messages instead of silent misbehaviour. (LP: #1352450) * bin/apport-retrace: [2832] apport-retrace: Port to argparse * NEWS, * apport/ui.py: [2831] * collect_info(): Don't assume that reports have a ProblemType. Fixes crashes with apport-collect. (LP: #1325729) 2014-07-31 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2830] Launchpad automatic translations update. 2014-07-30 Martin Pitt * NEWS, * data/general-hooks/generic.py: [2829] * general-hooks/generic.py: Fix hook crash if there are non-distro libraries and no user interface. === 2.14.5 === 2014-07-29 Martin Pitt * NEWS, * apport/ui.py: [2828] release 2.14.5 * NEWS, * test/test_report.py: [2827] * Fix report.test_check_interpreted_twistd test to skip instead of fail if twisted is not installed. * NEWS, * test/test_report.py: [2826] * Adjust report.test_get_logind_session test to work with systemd >= 205. * NEWS, * data/whoopsie-upload-all: [2825] * whoopsie-upload-all: Collect hooks information to gather ApportVersion, NonfreeKernelModules, and SystemImageInfo. Do this before collecting package data to minimize hook run time. (LP: #1349579) * apport/report.py: [2824] apport.Report.add_os_info(): This does not add NonfreeKernelModules, fix docstring * NEWS, * etc/default/apport: [2823] * etc/default/apport: Fix comment to use "service" instead of calling the init.d script directly. * data/kernel_oops: [2822] data/kernel_oops: PEP-8 fixes * NEWS, * data/whoopsie-upload-all: [2821] * whoopsie-upload-all: Ignore crash reports with incomplete core dumps instead of crashing on them. Thanks Brian Murray. (LP: #1329520) 2014-07-24 Martin Pitt * NEWS, * backends/packaging-apt-dpkg.py: [2820] * apt/dpkg install_packages(): Disable fetching apt translation indexes, to save some bandwidth. 2014-07-12 Launchpad Translations on behalf of apport-hackers * po/de.po: [2819] Launchpad automatic translations update. 2014-07-11 Martin Pitt * NEWS, * backends/packaging-apt-dpkg.py, * test/test_backend_apt_dpkg.py: [2818] * apt/dpkg get_file_package(): If checking for uninstalled packages, don't use package information from the host system, but always look it up in the correct indexes. Otherwise this returns wrong results when files move to a different package between releases. Thanks Brian Murray! (LP: #1336062) 2014-07-10 Martin Pitt * po/de.po: [2817] Fix duplicate key shortcut in German translation * NEWS, * bin/apport-bug: [2816] * apport-bug: Stop checking the autoreport flag and calling whoopsie-upload-all; these two are different tasks, and that breaks bug reporting. (LP: #1339663) 2014-07-10 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/az.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2815] Launchpad automatic translations update. === 2.14.4 === 2014-07-03 Martin Pitt * NEWS, * apport/ui.py: [2814] release 2.14.4 * NEWS, * apport/report.py, * test/test_report.py: [2813] * Report.crash_signature_addresses(): Drop kernel architecture from StacktraceAddressSignature field. It isn't useful there (at most the ELF architecture, but we don't really need that either). This makes it easier to regenerate broken signatures from existing reports on different architectures. (LP: #1336565) 2014-07-02 Martin Pitt * NEWS, * apport/report.py: [2812] * Report.crash_signature_addresses(): If the report has an Uname field, use that instead of querying uname. This makes it easier to regenerate broken signatures from existing reports on different architectures. (LP: #1336565) * NEWS, * apport/__init__.py, * apport/crashdb_impl/launchpad.py, * apport/report.py, * apport/ui.py, * backends/packaging-apt-dpkg.py, * bin/dupdb-admin, * data/general-hooks/parse_segv.py, * data/kernel_crashdump, * data/whoopsie-upload-all, * test/test_fileutils.py, * test/test_python_crashes.py, * test/test_ui.py: [2811] * Adjust code to match latest pep8 checker. 2014-07-02 Launchpad Translations on behalf of apport-hackers * po/az.po: Added. [2810] Launchpad automatic translations update. 2014-06-26 Launchpad Translations on behalf of apport-hackers * po/de.po, * po/fr.po: [2809] Launchpad automatic translations update. 2014-06-24 Martin Pitt * po/fr.po: [2808] fix duplicate hotkey in French translation 2014-06-07 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2807] Launchpad automatic translations update. === 2.14.3 === 2014-05-30 Martin Pitt * NEWS, * apport/ui.py: [2806] release 2.14.3 2014-05-22 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2805] Launchpad automatic translations update. 2014-05-19 Martin Pitt * NEWS, * data/apportcheckresume: [2804] Revert dupe sig from apportcheckresume (r2800), moved to linux package hook 2014-05-15 Martin Pitt * NEWS, * data/recoverable_problem, * data/whoopsie-upload-all, * test/test_recoverable_problem.py: [2803] * Use package name in duplicate signature for recoverable problems. Thanks Brian Murray. (LP: #1316763) * Have whoopsie-upload-all upload recoverable problems. Thanks Brian Murray. (LP: #1319099) 2014-05-14 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2802] Launchpad automatic translations update. 2014-05-12 Martin Pitt * NEWS: [2801] add bug ref to NEWS 2014-05-10 Martin Pitt * NEWS, * data/apportcheckresume: [2800] * Add a duplicate signature to suspend resume failures. Thanks Brian Murray. (LP: #1316841) 2014-05-06 Martin Pitt * NEWS, * apport/hookutils.py, * data/apportcheckresume, * data/iwlwifi_error_dump, * data/kernel_crashdump, * data/kernel_oops: [2799] * Add kernel package version to the various kernel-related hooks. Thanks Brian Murray. 2014-05-01 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2798] Launchpad automatic translations update. 2014-04-30 Martin Pitt * test/test_backend_apt_dpkg.py: [2797] backend_apt_dpkg.test_install_packages_versioned: Fix namespacing of ver === 2.14.2 === 2014-04-30 Martin Pitt * NEWS, * apport/ui.py: [2796] release 2.14.2 * NEWS, * test/test_signal_crashes.py: [2795] * signal_crashes test: Ensure that we don't inherit an ignored SIGQUIT from the caller. * NEWS, * test/test_signal_crashes.py: [2794] * signal_crashes test: Time out after 5 seconds if the test process does not terminate on the specified signal, to avoid eternal hangs. 2014-04-29 Martin Pitt * NEWS, * data/iwlwifi_error_dump: [2793] * iwlwifi_error_dump: Make reports private, and subscribe canonical-kernel-team. Thanks Seth Forshee. (LP: #1313818) 2014-04-23 Martin Pitt * NEWS, * apport/sandboxutils.py: [2792] * sandboxutils.py, make_sandbox(): When determining packages to install from ProcMaps, look up and use the package versions from the reporter, to improve retracing results. Thanks Brian Murray for the initial patch! * NEWS, * backends/packaging-apt-dpkg.py, * test/test_backend_apt_dpkg.py: [2791] * apt/dpkg install_packages(): Try to install the requested package version instead of always picking the most recent one. This should improve retracing results for older crash reports. Thanks to Brian Murray for inspiring this. * backends/packaging-apt-dpkg.py: [2790] backend_apt_dpkg.install_packages(): Rename "c" to "cache". Suggested by Brian Murray * NEWS, * apport/ui.py, * test/test_ui.py, * test/test_ui_gtk.py: [2789] * Move error handling for invalid .crash files into collect_info(), so that it also applies when using the "Show Details..." button in the UI. Otherwise the UI just hangs eternally at this point when encountering broken core dumps. (LP: #1282349) 2014-04-23 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2788] Launchpad automatic translations update. 2014-04-15 Martin Pitt * NEWS, * apport_python_hook.py: [2787] * Delay the import of the glob and re modules in the python apport hook, and only import them when needed. Speeds up interpreter startup time by 50%. Thanks Matthias Klose! (LP: #1307684) 2014-04-11 Launchpad Translations on behalf of apport-hackers * po/zh_CN.po: [2786] Launchpad automatic translations update. 2014-04-10 Launchpad Translations on behalf of apport-hackers * po/zh_CN.po: [2785] Launchpad automatic translations update. === 2.14.1 === 2014-04-04 Martin Pitt * NEWS, * apport/ui.py: [2784] release 2.14.1 * NEWS, * kde/apport-kde: [2783] * apport-kde: Work around crash in sip by skipping the destructors of SIP objects. Thanks Rohan Garg! (LP: #1282713) * NEWS, * apport/ui.py: [2782] * ui.py, open_url(): Skip any Python cleanup/atexit handlers in the forked xdg-open child, to avoid calling them twice. (Side issue of LP #1300474 and #1282713) 2014-04-04 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2781] Launchpad automatic translations update. 2014-04-01 Martin Pitt * NEWS, * apport/crashdb_impl/launchpad.py: [2780] * Fix FileNotFoundError from temporary launchpadlib cache dir cleanup. (LP: #1300474) === 2.14 === 2014-03-31 Martin Pitt * NEWS, * apport/ui.py: [2779] release 2.14 2014-03-27 Martin Pitt * data/iwlwifi_error_dump, * udev, * udev/50-apport.rules: Added. * NEWS, * setup.py: Modified. [2778] * Add KernelCrash reports when iwlwifi encounters a firmware error (via the "error_dump" uevent and the new iwlwifi_error_dump helper). Thanks Seth Forshee! 2014-03-27 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2777] Launchpad automatic translations update. 2014-03-24 Martin Pitt * NEWS, * apport/report.py: [2776] * Fix crash in logind session detection. Thanks Dimitri Ledkov! (LP: #1296026) 2014-03-19 Martin Pitt * NEWS, * apport/crashdb_impl/launchpad.py: [2775] * launchpad: Really use a temporary launchpadlib cache dir by default. This avoids piling up gigabytes of useless cached data over time, which also tends to break every now and then. 2014-03-15 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/fr_CA.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pa.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2774] Launchpad automatic translations update. === 2.13.3 === 2014-03-07 Martin Pitt * NEWS, * apport/ui.py: [2773] release 2.13.3 * NEWS, * apport/ui.py: [2772] * ui.py: Try to grab session D-BUS address from user's session when being called through pkexec. (LP: #1287460) 2014-02-13 Launchpad Translations on behalf of apport-hackers * po/fr_CA.po: Added. [2771] Launchpad automatic translations update. 2014-02-12 Martin Pitt * NEWS, * etc/cron.daily/apport: [2770] * etc/cron.daily/apport: Cleanup .drkonqi files after 7 days. Thanks Harald Sitter. 2014-02-11 Launchpad Translations on behalf of apport-hackers * po/bg.po: [2769] Launchpad automatic translations update. 2014-02-04 Launchpad Translations on behalf of apport-hackers * po/bg.po: [2768] Launchpad automatic translations update. 2014-02-03 Launchpad Translations on behalf of apport-hackers * po/bg.po, * po/pa.po, * po/sq.po: [2767] Launchpad automatic translations update. 2014-02-02 Launchpad Translations on behalf of apport-hackers * po/pa.po: Added. * po/sq.po: Modified. [2766] Launchpad automatic translations update. 2014-01-28 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2765] Launchpad automatic translations update. 2014-01-27 Martin Pitt * NEWS, * test/test_backend_apt_dpkg.py: [2764] * Fix backend_apt_dpkg.test_get_file_package_uninstalled test that got broken in the previous release. === 2.13.2 === 2014-01-27 Martin Pitt * NEWS, * apport/ui.py: [2763] release 2.13.2 * NEWS, * data/apport, * test/test_report.py: [2762] * data/apport: Fix stdout/stderr initialization of the error log, don't close the original fd after dup2'ing as it is usually already fd 1. This makes Apport work with Python 3.4. (LP: #1272355) * Adjust report tests to work with Python 3.4 (LP: #1272355) * apport/ui.py, * test/test_ui.py: [2761] KnownReport is an internal transient key, rename to _KnownReport * NEWS, * apport/ui.py, * bin/apport-cli, * gtk/apport-gtk, * kde/apport-kde, * test/test_ui.py: [2760] * Only drop internal/private keys (starting with '_') from uploading to the crash DB and from the UI report views, but not already when updating the report. (LP: #1272505) 2014-01-22 Martin Pitt * test/test_backend_apt_dpkg.py: [2759] fix backend_apt_dpkg.test_install_packages_system test for newer coreutils * NEWS, * backends/packaging-apt-dpkg.py, * test/test_backend_apt_dpkg.py: [2758] * apt/dpkg: Also consider Contents.gz from updates/security/proposed pockets, so that e. g. apport-retrace works for crash reports with files that are new in those. Thanks to Brian Murray for the initial patch. (LP: #1271258) 2014-01-20 Martin Pitt * NEWS, * apport/report.py: [2757] * Fix crash if systemd cgroup is unreadable in /sys, such as in containers. (LP: #1270783) 2014-01-15 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2756] Launchpad automatic translations update. === 2.13.1 === 2014-01-10 Martin Pitt * NEWS, * apport/ui.py: [2755] release 2.13.1 * NEWS, * test/test_ui.py: [2754] * Fix ui.test_run_crash_older_session for different file system file orders. * apport/report.py: [2753] Don't warn about missing gdb-multiarch if report has no Architecture: field * NEWS, * test/test_ui.py: [2752] * Fix ui.test_run_crash_older_session test for running as root. 2014-01-10 Martin Pitt * NEWS, * test/test_ui.py: [2751] Fix erroneous "gdb-multiarch not installed" warnings in ui tests. 2014-01-10 Martin Pitt * NEWS, * test/test_report.py: [2750] * Fix report.test_get_timestamp test for running in other time zones. === 2.13 === 2014-01-10 Martin Pitt * NEWS, * apport/ui.py: [2749] release 2.13 * NEWS, * etc/init.d/apport: [2748] * etc/init.d/apport: Don't change core_pattern when running in a container, as this influences the host and other containers, too. (LP: #1267728) * NEWS, * data/apport, * etc/init.d/apport, * use-local: [2747] Add support for PID namespaces (Linux containers) Crashes originating from a container on a system running a >= 3.12 kernel will be automatically redirected to apport inside the container, or ignored if apport is not installed in the container. Thanks to St?phane Graber! 2014-01-09 Martin Pitt * NEWS, * apport/report.py, * apport/ui.py, * test/test_report.py, * test/test_ui.py: [2746] In "run all pending crashes" mode, skip reports that happened during logout Yhey are uninteresting and confusing to see at the next login. (LP: #1033932) They can still be reported manually with running the .crash file directly, but this sufficiently reduces the need to explicitly flag whether the report concerns a logout crash. (LP: #1067646) * NEWS, * apport/ui.py, * test/test_ui.py: [2745] Do not report keys starting with '_' to the crash database This can be used for keeping private keys in .crash files between crash and report time, or to store data between hooks etc., without cluttering reports. * NEWS, * data/whoopsie-upload-all: [2744] * whoopsie-upload-all: Add a -t/--timeout option. In CI environments it is undesirable to block on upload for 30 mins, but it's still a reasonable timeout on less well connected devices. * NEWS, * apport/report.py: [2743] * Print a warning when trying to retrace a report from a foreign architecture and gdb-multiarch is not installed. (LP: #1239395) 2014-01-07 Martin Pitt * test/run: [2742] test/run: Also filter out apport-collect * NEWS, * setup.py: [2741] * setup.py: Make updating of hashbangs work when building without Java, and also apply it on bin/. 2013-12-27 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mhr.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2740] Launchpad automatic translations update. 2013-12-19 Martin Pitt * NEWS, * test/test_signal_crashes.py: [2739] * test_signal_crashes: Stop checking that gdb prints nothing on stderr, as latest gdb 7.6.50 now almost always prints some about missing source files. * NEWS, * test/test_signal_crashes.py: [2738] * test_signal_crashes: Clean up unexpected reports after every test, to avoid breaking all subsequent tests. 2013-12-11 Launchpad Translations on behalf of apport-hackers * po/mhr.po: Added. [2737] Launchpad automatic translations update. 2013-11-20 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2736] Launchpad automatic translations update. === 2.12.7 === 2013-11-19 Martin Pitt * NEWS, * apport/ui.py: [2735] release 2.12.7 * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/apport.pot, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2734] merge i18n 2013-11-18 Martin Pitt * NEWS, * backends/packaging-apt-dpkg.py: [2733] * apt/dpkg: Don't call dpkg- divert with full path, it moved in Ubuntu 14.04. 2013-11-14 Martin Pitt * NEWS, * apport/fileutils.py, * test/test_fileutils.py: [2732] * fileutils.py, get_all_system_reports(): Filter out "guest..." users, they might have a system UID. (LP: #1250679) 2013-11-14 Launchpad Translations on behalf of apport-hackers * po/lt.po: [2731] Launchpad automatic translations update. 2013-11-07 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2730] Launchpad automatic translations update. 2013-11-05 Martin Pitt * NEWS, * apport/report.py, * test/test_report.py: [2729] * report.py, add_proc_info(): Add "CurrentDesktop" field with the value of $XDG_CURRENT_DESKTOP, if present. (LP: #1247904) 2013-10-30 Martin Pitt * NEWS, * apport/packaging.py: [2728] * Properly fall back to lsb_release if /etc/os-release is invalid. 2013-10-26 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2727] Launchpad automatic translations update. 2013-10-25 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2726] Launchpad automatic translations update. === 2.12.6 === 2013-10-25 Martin Pitt * NEWS, * apport/ui.py: [2725] release 2.12.6 * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/apport.pot, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2724] merge po files * NEWS, * data/apport, * test/test_signal_crashes.py: [2723] * SECURITY FIX: For setuid programs which drop their privileges after startup, make the report and core dumps owned by root, to avoid possible data disclosure. Also, change core dump files to permissions "0600". Thanks to Martin Carpenter for discovering this! (CVE-2013-1067, LP: #1242435) 2013-10-24 Launchpad Translations on behalf of apport-hackers * po/is.po: [2722] Launchpad automatic translations update. 2013-10-23 Martin Pitt * test/test_signal_crashes.py: [2721] simplify signal_crashes.test_modify_after_start using addCleanup * test/test_signal_crashes.py: [2720] test_signal_crashes.py: verify that crash report has expected owner 2013-10-15 Launchpad Translations on behalf of apport-hackers * po/fi.po: [2719] Launchpad automatic translations update. 2013-10-11 Martin Pitt * NEWS, * backends/packaging-apt-dpkg.py, * test/test_backend_apt_dpkg.py: [2718] * apt/dpkg: Recognize options in apt sources.list. (LP: #1238620) * backends/packaging-apt-dpkg.py, * test/test_backend_apt_dpkg.py: [2717] packaging-apt-dpkg.py: Factor out apt source list parsing for primary mirror and add test 2013-10-08 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2716] Launchpad automatic translations update. 2013-09-30 Martin Pitt * NEWS, * apport/sandboxutils.py: [2715] * sandboxutils.needed_runtime_packages(): Create cache directory for Contents.gz if missing. (LP: #933199) 2013-09-27 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2714] Launchpad automatic translations update. === 2.12.5 === 2013-09-27 Martin Pitt * NEWS, * apport/ui.py: [2713] release 2.12.5 2013-09-27 Martin Pitt * data/icons/32/apps/apport.png, * data/icons/32/mimetypes, * data/icons/32/mimetypes/text-x-apport.png, * data/icons/48/apps/apport.png, * data/icons/48/mimetypes, * data/icons/48/mimetypes/text-x-apport.png, * data/icons/64, * data/icons/64/apps, * data/icons/64/apps/apport.png, * data/icons/64/mimetypes, * data/icons/64/mimetypes/text-x-apport.png: Added. * data/icons/32/apps/apport.svg, * data/icons/48/apps/apport.svg: Removed. * NEWS: Modified. [2712] * Replace fixed size icons with PNGs, which are more efficient and avoid rendering artifacts. (LP: #1231763) 2013-09-19 Martin Pitt * NEWS, * data/kernel_oops, * test/test_hooks.py: [2711] * kernel_oops hook: Collect uname at the time of invoking the hook, instead of at data collection time. (LP: #1226776) * NEWS, * apport/report.py, * gtk/apport-gtk, * test/test_report.py: [2710] * Report.add_os_info(): Do not overwrite already existing data. (LP: #1226776) === 2.12.4 === 2013-09-19 Martin Pitt * NEWS, * apport/ui.py: [2709] release 2.12.4 2013-09-19 Martin Pitt * data/icons/32, * data/icons/32/apps, * data/icons/32/apps/apport.svg, * data/icons/48, * data/icons/48/apps, * data/icons/48/apps/apport.svg: Added. * NEWS, * data/icons/scalable/apps/apport.svg: Modified. [2708] * Update icons to new design from Vishnoo Charan Reddy, many thanks! (LP: #1079639) === 2.12.3 === 2013-09-19 Martin Pitt * NEWS, * apport/ui.py: [2707] release 2.12.3 * NEWS, * apport/ui.py, * bin/apport-cli, * kde/apport-kde, * test/test_ui.py: [2706] * Fix ui_present_report_details() "modal_for" keyword for all UI implementations, so that --hanging works for -cli and -kde, too. (LP: #1213790) * NEWS, * gtk/apport-gtk: [2705] * apport-gtk: Don't use obsolete add_with_viewport() method any more. * NEWS, * problem_report.py: [2704] * ProblemReport.write_mime(): Adjust MIMEText handling to latest Python 3.3 upstream changes which now don't tolerate passing bytes any more. (LP: #1227381) 2013-09-18 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2703] Launchpad automatic translations update. === 2.12.2 === 2013-09-17 Martin Pitt * NEWS, * apport/ui.py: [2702] release 2.12.2 * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/apport.pot, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2701] merge i18n * NEWS, * apport/ui.py, * test/test_ui.py: [2700] * Move "program is not installed any more" check from report loading into data collection, so that crash reports can be moved and reported on machines without that program installed. (LP: #1226030) 2013-09-17 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2699] Launchpad automatic translations update. 2013-09-16 Martin Pitt * NEWS, * gtk/apport-gtk, * test/test_ui_gtk.py: [2698] * apport-gtk: When loading a Bug report from a file, properly set up for bug reporting mode. (LP: #1226140) 2013-09-09 Martin Pitt * NEWS, * bin/crash-digger: [2697] * crash-digger: Write pid into lock file. Thanks Steve Langasek. 2013-09-07 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2696] Launchpad automatic translations update. 2013-08-30 Martin Pitt * NEWS, * test/test_ui_kde.py: [2695] * test_ui_kde.py: Cleanly skip the test if PyQt/PyKDE are not installed, instead of failing. * NEWS, * apport/fileutils.py, * test/test_fileutils.py: [2694] * fileutils.py, get_{new,all}_reports(): Don't consider reports which are readable, but not writable. (LP: #1098844) * apport/ui.py: [2693] fix PEP-8 error 2013-08-30 Launchpad Translations on behalf of apport-hackers * po/et.po: [2692] Launchpad automatic translations update. 2013-08-29 Launchpad Translations on behalf of apport-hackers * po/et.po: [2691] Launchpad automatic translations update. 2013-08-20 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2690] Launchpad automatic translations update. === 2.12.1 === 2013-08-19 Martin Pitt * NEWS, * apport/ui.py: [2689] release 2.12.1 * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/apport.pot, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2688] merge i18n * NEWS, * apport/report.py, * apport/ui.py, * test/test_report.py, * test/test_ui.py: [2687] * apport/report.py: Gracefully handle being unable to get the source package for a binary package, as when the latter does not exist in the cache. (LP: #1097773) 2013-08-19 Evan Dandrea * data/apport-noui: Removed. * NEWS, * bin/apport-bug: Modified. [2686] * Drop apport-noui in favour of whoopsie-upload-all. We don't want to process hooks when run noninteractively, since they may ask questions or determine a report is not due to a bug in Ubuntu. whoopsie-upload-all skips these hooks. 2013-08-09 Launchpad Translations on behalf of apport-hackers * po/ar.po: [2685] Launchpad automatic translations update. 2013-08-08 Launchpad Translations on behalf of apport-hackers * po/ar.po: [2684] Launchpad automatic translations update. 2013-08-03 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2683] Launchpad automatic translations update. 2013-08-02 Martin Pitt * NEWS, * test/test_ui_gtk.py, * test/test_ui_kde.py: [2682] * Robustify "progress bar visible" GTK and KDE UI checks for the faster collection due to dropping lsb_release. * NEWS, * apport/sandboxutils.py: [2681] make_sandbox(): Bring back the ProcMaps optimization for distro packages Only get the full set of Package/Dependencies packages if there is any non-distro package in that set (containing '[origin'). This keeps the opimization for native distro packages. * NEWS, * apport/sandboxutils.py: [2680] * sandboxutils.py, make_sandbox(): Install packages from Package: and Dependencies: fields also if we have a ProcMaps: field. Not doing that was a nice optimization for distro packages, but makes life hard for retracing crashes that use PPAs (as they don't have Contents.gz) === 2.12 === 2013-08-02 Martin Pitt * NEWS, * apport/ui.py: [2679] release 2.12 * do-release: [2678] do-release: drop pyflakes check, already covered by testsuite * NEWS, * doc/data-format.tex: [2677] * doc/data-format.tex: Drop unused "OS" and "OSRelease" fields, replace with "DistroRelease" which is actually being used. (LP: #1018387) * NEWS, * apport/packaging.py, * apport/report.py, * backends/packaging-apt-dpkg.py, * test/test_backend_apt_dpkg.py, * test/test_packaging.py: [2676] * Eliminate multiple calls to lsb_release by caching the result. On systems which provide /etc/os- release, use that instead of lsb_release. (LP: #1164742) * NEWS, * apport/ui.py: [2675] * Fix error message when PID is inaccessible. (LP: #1204718) * NEWS, * bin/apport-retrace: [2674] * apport-retrace: Fix crash when using --sandbox without --cache. (LP: #1197034) * NEWS, * apport/report.py: [2673] * report.py, add_gdb_info(): Fix crash if gdb cannot load the symbol map. (LP: #1171484) * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/apport.pot, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2672] merge i18n 2013-08-02 Martin Pitt * data/whoopsie-upload-all: Added. * NEWS: Modified. [2671] * Add data/whoopsie-upload-all: Process all pending crashes and mark them for whoopsie upload, but do not upload them to any other crash database. Wait until whoopsie is done uploading. 2013-08-02 Martin Pitt * gtk/apport-gtk.desktop.in: Removed. * NEWS: Modified. * gtk/apport-gtk-mime.desktop.in: Renamed to gtk/apport-gtk.desktop.in and modified. [2670] * Rename apport-gtk-mime.desktop to apport-gtk.desktop and drop the old apport-gtk.desktop that wasn't even being installed. With that, the window will be shown as "Report a problem..." instead of "Apport-gtk" in GNOME shell and other DEs. Thanks Jeremy Bicha. (LP: #1207496) 2013-07-30 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2669] Launchpad automatic translations update. 2013-07-23 Martin Pitt * NEWS, * data/recoverable_problem: [2668] * recoverable_problem: Can take the PID as an argument. 2013-07-22 Martin Pitt * NEWS, * apport/report.py, * data/apport: [2667] * apport: Fix "Exectuable" typo, leading to reports not being synced on upstart crashes. Thanks James Hunt. (LP: #1203744) 2013-07-19 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2666] Launchpad automatic translations update. 2013-07-18 Martin Pitt * NEWS, * apport/ui.py, * test/test_ui.py: [2665] * ui.py: Check if options for updating and reporting a new bug get used together, and give a proper error message in this case. (LP: #1071905) * NEWS, * apport/crashdb_impl/launchpad.py: [2664] * launchpad.py: Show the Python major version in the error message about missing launchpadlib. === 2.11 === 2013-07-17 Martin Pitt * NEWS, * apport/ui.py: [2663] release 2.11 * NEWS: [2662] bump version number to 2.11, this has new features * NEWS, * bin/apport-bug: [2661] apport-bug: Check /etc/apport/autoreport flag file We don't want to check an "automatic" option in /etc/default/apport, as we want different defaults on different images (desktop/phone), and this is a conffile. * NEWS, * apport/hookutils.py: [2660] * hookutils.py, attach_upstart_logs(): Also attach ~/.cache/upstart/application-.log for any *.desktop file shipped by a package. 2013-07-15 Martin Pitt * test/test_hookutils.py: [2659] test_hookutils.py: Cover attach_upstart_logs() in "no crash" check * data/apport-noui: [2658] apport-noui: Fix PEP-8 and pyflakes errors 2013-07-12 Evan Dandrea * bin/apport-bug: [2657] Don't run through the noninteractive frontend and then the gtk frontend. 2013-07-11 Evan Dandrea * data/apport-noui: Added. * NEWS, * bin/apport-bug: Modified. [2656] * data/apport-noui: A noninteractive frontend for automatic error reporting. 2013-06-28 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2655] Launchpad automatic translations update. 2013-06-21 Martin Pitt * NEWS, * apport/hookutils.py: [2654] * hookutils.py, attach_conffiles(): Fix check for inaccessible or modified conffiles. (LP: #1192899) 2013-06-18 Launchpad Translations on behalf of apport-hackers * po/nb.po: [2653] Launchpad automatic translations update. 2013-06-08 Launchpad Translations on behalf of apport-hackers * po/sr.po: [2652] Launchpad automatic translations update. 2013-06-07 Launchpad Translations on behalf of apport-hackers * po/de.po: [2651] Launchpad automatic translations update. 2013-05-30 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2650] Launchpad automatic translations update. === 2.10.2 === 2013-05-22 Martin Pitt * NEWS, * apport/ui.py: [2649] release 2.10.2 * NEWS, * test/test_hookutils.py: [2648] * test_hookutils.py: Don't assume that /etc/motd exists. * NEWS, * apport/sandboxutils.py, * backends/packaging-apt-dpkg.py: [2647] * sandboxutils.py: Call get_file_package() with the report's release, so that we actually get files from the target release, not the host release. * NEWS, * backends/packaging-apt-dpkg.py, * test/test_backend_apt_dpkg.py: [2646] * apt/dpkg: Fix get_file_package()'s "release" field to actually mean DistroRelease:, not a distro code name. This now requires a previous call to install_packages() with a configdir, which needs to have a file //codename with the release's code name in it. 2013-05-22 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2645] Launchpad automatic translations update. 2013-05-21 Martin Pitt * backends/packaging-apt-dpkg.py: [2644] remove debug statement * NEWS, * apport/report.py: [2643] * report.py, add_gdb_info(): Fix crash if gdb did not determine an assertion message. (LP: #1171484) * NEWS, * apport/ui.py: [2642] * Fix endless loop of EOFErrors with broken core dumps. (LP: #1168849) * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/apport.pot, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2641] update po files 2013-05-21 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2640] Launchpad automatic translations update. 2013-05-17 Martin Pitt * NEWS, * apport/report.py, * test/test_python_crashes.py: [2639] * Resolve symlinks in file references in Python crash signatures. (LP: #1179979) 2013-05-16 Martin Pitt * TODO: [2638] drop implemented TODO item === 2.10.1 === 2013-05-14 Martin Pitt * NEWS, * apport/ui.py: [2637] release 2.10.1 * NEWS, * backends/packaging-apt-dpkg.py: [2636] * apt/dpkg: When there is no -dbg package, install all -dbg packages of the corresponding source package, and only then fall back to -dbgsym. (LP: #1003234) 2013-05-13 Martin Pitt * NEWS, * apport/crashdb_impl/launchpad.py: [2635] * launchpad.py: Fix crash when trying to adjust a distro-only bug task if the bug also already has a distropackage task. 2013-05-12 Launchpad Translations on behalf of apport-hackers * po/et.po: [2634] Launchpad automatic translations update. 2013-05-03 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/mr.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/tg.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2633] Launchpad automatic translations update. 2013-05-02 Martin Pitt * NEWS, * test/test_ui.py: [2632] * Fix ui.test_run_crash_anonymity_escaping test when running as root. === 2.10 === 2013-04-30 Martin Pitt * NEWS, * apport/ui.py: [2631] release 2.10 * NEWS, * apport/hookutils.py, * test/test_hookutils.py: [2630] * hookutils.py, in_session_of_problem(): Port from ConsoleKit to logind. * NEWS, * apport/hookutils.py: [2629] * hookutils.py: Add attach_upstart_logs(), thanks Steve Langasek. * NEWS: [2628] NEWS: separate out the improvements 2013-04-25 Evan Dandrea * NEWS, * apport/report.py, * test/test_report.py: [2627] * apport/report.py: Generate a crash signature for suspend/resume failures. 2013-04-25 Martin Pitt * NEWS, * apport/report.py, * test/test_report.py: [2626] * Fix UnicodeDecodeError when apport encounters non-ASCII environment variables. (LP: #1172638) * NEWS, * test/run, * test/test_fileutils.py, * test/test_report.py: [2625] * Run tests under LC_CTYPE=C and unset LANG as well, to discover assumptions about UTF-8 locales. Fix the two failing tests. 2013-04-21 Launchpad Translations on behalf of apport-hackers * po/tg.po: Added. [2624] Launchpad automatic translations update. 2013-04-09 Launchpad Translations on behalf of apport-hackers * po/mr.po: Added. [2623] Launchpad automatic translations update. 2013-04-03 Martin Pitt * NEWS, * apport/report.py, * test/test_ui.py: [2622] * Fix anonymization of user/GECOS fields with regexp control characters like '+'. (LP: #985049) * NEWS, * apport/report.py, * test/test_report.py: [2621] * apport/report.py: Handle the case where the user has been removed from the system, but one of its still- running binaries crashes (LP: #1163453). * NEWS, * apport/report.py: [2620] * Support retracing foreign powerpc reports, thanks Steve Langasek. 2013-04-02 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2619] Launchpad automatic translations update. 2013-03-27 Martin Pitt * NEWS, * data/gcc_ice_hook, * test/test_hooks.py: [2618] * data/gcc_ice_hook: Fix crash with source files that have non-UTF8 data. (LP: #1045283) 2013-03-25 Martin Pitt * NEWS, * apport/hookutils.py: [2617] * hookutils.in_session_of_problem(): Fix crash when the current locale is invalid. (LP: #1154896) * NEWS, * apport/hookutils.py, * backends/packaging-apt-dpkg.py: [2616] * hookutils.attach_conffiles(): Fix IOError crash on inaccessible conffiles; mark them as '[inaccessible: ]' instead. (LP: #1154536) 2013-03-21 Launchpad Translations on behalf of apport-hackers * po/de.po: [2615] Launchpad automatic translations update. 2013-03-20 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2614] Launchpad automatic translations update. === 2.9.2 === 2013-03-19 Martin Pitt * NEWS, * apport/ui.py: [2613] release 2.9.2 * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/apport.pot, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2612] merge po files 2013-03-18 Martin Pitt * NEWS, * data/kernel_crashdump, * etc/cron.daily/apport, * etc/init.d/apport, * test/test_hooks.py: [2611] * Adjust kernel_crashdump to the format kdump-tools produces. Thanks Louis Bouchard. 2013-03-14 Martin Pitt * data/apport: [2610] apport: move ulimit kB ? bytes conversion to more logical place, thanks Graeme Hewson * NEWS, * data/apport, * test/test_signal_crashes.py: [2609] * Write core dumps on SIGQUIT if ulimit allows. Thanks Graeme Hewson. (LP: #1153662) * test/test_signal_crashes.py: [2608] test_signal_crashes.py: some factorization of core dump tests 2013-03-12 Martin Pitt * NEWS, * apport/report.py: [2607] * report.py, add_package_info(): Add "[origin: unknown]" tag to Package/Dependencies fields for non-distro package whose origin cannot be determined. (LP: #1148116) 2013-03-08 Launchpad Translations on behalf of apport-hackers * po/ru.po: [2606] Launchpad automatic translations update. === 2.9.1 === 2013-03-07 Martin Pitt * NEWS, * apport/ui.py: [2605] release 2.9.1 * NEWS, * backends/packaging-apt-dpkg.py: [2604] * apt/dpkg get_modified_files(): Fix crash when encountering non-ASCII file names in an ASCII locale. (LP: #1044014) 2013-03-07 Launchpad Translations on behalf of apport-hackers * po/ru.po, * po/tr.po: [2603] Launchpad automatic translations update. 2013-03-06 Martin Pitt * NEWS, * apport/crashdb_impl/launchpad.py, * doc/crashdb-conf.txt: [2602] * launchpad.py: Add support for filing bugs as private. Document this in doc/crashdb-conf.txt. (LP: #1144647) * NEWS, * apport/fileutils.py: [2601] * fileutils.py, find_package_desktopfile(): Restrict to autostart and application .desktop files. (LP: #1147528) * NEWS, * po/tr.po: [2600] * Fix Turkish translation to add missing keyboard accelerator. (LP: #648750) * NEWS, * apport/__init__.py: [2599] * Fix crash in error() and warning() if there is no sys.stderr. (LP: #1012445) 2013-03-03 Launchpad Translations on behalf of apport-hackers * po/id.po: [2598] Launchpad automatic translations update. 2013-03-01 Martin Pitt * NEWS, * test/test_signal_crashes.py: [2597] * test_signal_crashes.py: Fix test_crash_apport() when being run under LD_PRELOAD. === 2.9 === 2013-03-01 Martin Pitt * NEWS, * apport/ui.py: [2596] release 2.9 * NEWS, * apport/ui.py, * test/test_ui.py: [2595] * ui.py, get_desktop_entry(): Fix for Python 2. * NEWS, * apport/sandboxutils.py, * bin/apport-valgrind, * man/apport-valgrind.1, * test/test_apport_valgrind.py: [2594] * sandboxutils.py: Support unpackaged executables, i. e. reports which do not have "Package" and "Dependencies" fields. For those, get required libraries from "ProcMaps". Thanks Kyle Nitzsche. * apport-valgrind: Fix path to debug symbols in the sandbox. * NEWS, * apport/fileutils.py, * test/test_fileutils.py: [2593] * fileutils.py, shared_libraries(): Return a "name ? path" dict instead of just a set of names. Thanks Kyle Nitzsche. 2013-03-01 Launchpad Translations on behalf of apport-hackers * po/tr.po: [2592] Launchpad automatic translations update. 2013-02-18 Launchpad Translations on behalf of apport-hackers * po/et.po: [2591] Launchpad automatic translations update. 2013-02-15 Launchpad Translations on behalf of apport-hackers * po/sr.po: [2590] Launchpad automatic translations update. 2013-02-14 Martin Pitt * NEWS, * apport/fileutils.py, * test/test_fileutils.py: [2589] * fileutils.shared_libraries(): Filter out virtual "linux-vdso" from result. Thanks Kyle Nitzsche. * apport/fileutils.py: [2588] fix previous commit for Python 2, Popen.wait() does not yet support timeout there 2013-02-11 Martin Pitt * NEWS, * apport/fileutils.py, * apport/hookutils.py, * bin/apport-valgrind, * data/general-hooks/generic.py, * test/test_fileutils.py: [2587] * Move shared_libraries() and links_with_shared_library() from hookutils into fileutils, so that we can use it from apport-valgrind. Thanks to Kyle Nitzsche for the initial patch. 2013-02-10 Launchpad Translations on behalf of apport-hackers * po/ar.po: [2586] Launchpad automatic translations update. 2013-02-08 Martin Pitt * NEWS, * apport/crashdb_impl/debian.py: [2585] * debian.py: Fix "string payload expected" crash when building the report. Thanks Dmitry Shachnev. (Debian #698010) * NEWS, * bin/apport-valgrind: [2584] * apport-valgrind: Cleanly exit on keyboard interrupts. Thanks Kyle Nitzsche. * NEWS, * apport/report.py: [2583] * apport/report.py: report if LD_PRELOAD and LD_LIBRARY_PATH are set. Thanks James Hunt. 2013-02-05 Launchpad Translations on behalf of apport-hackers * po/ja.po: [2582] Launchpad automatic translations update. 2013-02-03 Martin Pitt * apport/crashdb_impl/launchpad.py: [2581] launchpad.py: Remove running-unity from the tags to copy since the majority of users are now having unity 2013-02-01 Martin Pitt * NEWS, * apport/ui.py: [2580] * ui.py: Check $PKEXEC_UID in addition to $SUDO_UID for opening a browser. 2013-01-31 Martin Pitt * NEWS, * apport/com.ubuntu.apport.policy.in: [2579] properly name polkit action from previous commit 2013-01-30 Martin Pitt * NEWS, * apport/com.ubuntu.apport.policy.in: [2578] * Add "com.ubuntu.pkexec .apport-gtk" polkit action for running apport-gtk through pkexec to access system crash reports. Thanks Brian Murray. 2013-01-26 Launchpad Translations on behalf of apport-hackers * po/uk.po: [2577] Launchpad automatic translations update. 2013-01-15 Launchpad Translations on behalf of apport-hackers * po/fr.po, * po/pl.po: [2576] Launchpad automatic translations update. === 2.8 === 2013-01-08 Martin Pitt * NEWS, * apport/ui.py: [2575] release 2.8 * test/test_apport_valgrind.py: [2574] test_apport_valgrind.py: Skip tests if valgrind is not installed 2013-01-08 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/uz.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2573] Launchpad automatic translations update. 2013-01-07 Martin Pitt * bin/apport-valgrind, * man/apport-valgrind.1, * test/test_apport_valgrind.py: Added. * NEWS, * apport/sandboxutils.py, * bin/apport-retrace, * po/apport.pot, * test/run: Modified. [2572] * Add "apport-valgrind" tool to produce valgrind reports in a temporary sandbox with debug symbols (similar to apport-retrace). Thanks Alex Chiang and Kyle Nitzsche! 2013-01-04 Evan Dandrea * NEWS, * apport/report.py, * test/test_report.py: [2571] Generate a crash signature for kernel OOPSes. 2013-01-04 Martin Pitt * NEWS, * apport_python_hook.py, * test/test_python_crashes.py: [2570] * apport_python_hook.py: Update "ExecutableTimestamp" field when mangling "ExecutablePath". (LP: #1077253) * test/test_python_crashes.py: [2569] test_python_crashes.py: Defer removal of temporary scripts to the end of test cases, so that we can compare their mtime * NEWS, * apport/crashdb_impl/debian.py: [2568] * debian.py: Fix TypeError crash in payload generation. Thanks Ritesh Raj Sarraf. 2012-12-28 Launchpad Translations on behalf of apport-hackers * po/hr.po: [2567] Launchpad automatic translations update. 2012-12-24 Launchpad Translations on behalf of apport-hackers * po/hr.po: [2566] Launchpad automatic translations update. 2012-12-21 Launchpad Translations on behalf of apport-hackers * po/uz.po: Added. [2565] Launchpad automatic translations update. 2012-12-20 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2564] Launchpad automatic translations update. 2012-12-13 Martin Pitt * NEWS, * apport/report.py, * test/test_report.py: [2563] * Fix StacktraceAddressSignature generation on ARM. (LP: #1089778) 2012-12-12 Martin Pitt * bin/crash-digger: [2562] crash-digger: use apport.log 2012-12-12 Martin Pitt * apport/sandboxutils.py: Added. * NEWS, * apport/__init__.py, * bin/apport-retrace: Modified. [2561] * Factor out sandbox management functions from apport-retrace into apport/sandboxutils.py, so that other programs can re-use the API easily. Thanks to Kyle Nitzsche for the initial work on this. 2012-12-11 Launchpad Translations on behalf of apport-hackers * po/el.po: [2560] Launchpad automatic translations update. === 2.7 === 2012-12-10 Martin Pitt * NEWS, * apport/ui.py: [2559] release 2.7 * NEWS, * data/apportcheckresume: [2558] * apportcheckresume: Fix crash if state file does not exist. * NEWS, * apport/report.py, * test/test_report.py: [2557] * Add exceptions from package hooks to new HookError_ report field, to make them more visible. Until now they were only written to stderr. (LP: #1086309) * NEWS, * apport/crashdb_impl/launchpad.py, * doc/crashdb-conf.txt: [2556] * launchpad.py: Add "architecture" option to process reports for a foreign architecture. * NEWS, * apport/report.py, * bin/apport-retrace: [2555] * When a report's architecture does not match the system architecture, try to use gdb-multiarch (if available, as packaged on Debian/Ubuntu), and set architecture and gnutarget accordingly in gdb. This supports x86, x86_64, and ARM for now, so that reports from all these architectures can be retraced on an x86_84 machine. (LP: #1044437) * apport/report.py, * bin/apport-retrace: [2554] factor out building gdb command from add_gdb_info() and apport-retrace into Report.gdb_command() * NEWS, * apport/packaging.py, * backends/packaging-apt-dpkg.py, * test/test_backend_apt_dpkg.py: [2553] * packaging.py, install_packages(): Add optional "architecture" argument for creating a sandbox for a foreign architecture. Implement this for apt/dpkg backend. * test/test_backend_apt_dpkg.py: [2552] test/test_backend_apt_dpkg.py: move from lucid to precise 2012-12-07 Martin Pitt * NEWS, * backends/packaging-apt-dpkg.py: [2551] * backends/packaging-apt- dpkg.py, install_packages(): Set mirror to the one in the sandbox config. 2012-12-05 Martin Pitt * apport/report.py, * test/test_python_crashes.py, * test/test_signal_crashes.py: [2550] finish r2545, consistently use ignore file without $HOME * NEWS, * apport/fileutils.py: [2549] * fileutils.py, mark_report_upload(): Do not try to remove the .uploaded file, as this is not owned by the user. * NEWS, * apport/packaging.py, * backends/packaging-apt-dpkg.py, * backends/packaging_rpm.py, * test/test_backend_apt_dpkg.py: [2548] * packaging.py, get_file_package(): Add optional "release" and "arch" arguments for getting a file's package for a foreign release or architecture. Implement this for apt/dpkg backend. 2012-12-05 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2547] Launchpad automatic translations update. 2012-12-02 Martin Pitt * NEWS, * bin/apport-cli: [2546] * apport-cli: Fix showing of prompt. Thanks Dmitry Shachnev! 2012-11-30 Martin Pitt * NEWS, * apport/report.py: [2545] * report.py, mark_ignore(): Use home directory of actual effective user, not of $HOME. Fixes ignore file when using through sudo. * NEWS, * test/test_fileutils.py: [2544] * Fix test_find_package_desktopfile test to not consider packages with only one "NoDisplay=true" .desktop file for the "has one desktop file" test. === 2.6.3 === 2012-11-30 Martin Pitt * NEWS, * apport/ui.py: [2543] release 2.6.3 * NEWS, * apport/fileutils.py, * test/test_fileutils.py: [2542] * fileutils.py: Ignore .desktop files with NoDisplay=true. (LP: #1048524) * NEWS, * apport/report.py, * test/test_report.py: [2541] * Ignore implausibly low addresses when computing StacktraceAddressSignature. These are usually artifacts from gdb when not having debug symbols, and having too many of them prevents proper client-side duplicate detection and proper bucketing in daisy. (LP: #1084996) 2012-11-29 Martin Pitt * NEWS, * apport/crashdb_impl/launchpad.py, * apport/fileutils.py, * test/test_fileutils.py: [2540] * fileutils.py, mark_report_upload(): Refresh the .upload stamps if a previous version of the report was already uploaded, but another instance of the problem happened since then. Thanks Brian Murray. (LP: #1084296) * NEWS, * bin/apport-retrace: [2539] * apport-retrace: Disallow option -C without option -S. Thanks Kyle Nitzsche. 2012-11-27 Evan Dandrea * NEWS, * apport/ui.py, * gtk/apport-gtk, * kde/apport-kde, * test/test_ui_gtk.py, * test/test_ui_kde.py: [2538] apport-gtk, apport-kde: Don't provide an option to restart a crashed application when the crash occurred in a thread (LP: #1033902). 2012-11-23 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2537] Launchpad automatic translations update. 2012-11-22 Martin Pitt * NEWS, * apport/report.py, * test/test_report.py: [2536] * report.py, add_gdb_info(): Handle libnih's assertion messages. (LP: #997359) * backends/packaging-apt-dpkg.py, * test/run: [2535] fix PEP-8 issues, ignore "closing bracket does not match visual indentation" 2012-11-20 Evan Dandrea * NEWS, * data/apport: [2534] data/apport: Call fsync when writing upstart crash reports. 2012-11-20 Martin Pitt * NEWS, * apport/crashdb_impl/debian.py: [2533] * debian.py: Fix crash on broken "Package" fields, as generated by current Debian/Ubuntu dkms package. 2012-11-19 Martin Pitt * NEWS, * apport/crashdb_impl/debian.py: [2532] * debian.py: Fix UTF-8 string handling. Thanks Ritesh Raj Sarraf. 2012-11-15 Martin Pitt * NEWS, * apport/crashdb_impl/debian.py: [2531] * debian.py: Only reject reports with useless stack traces if the report actually has a stack trace at all. 2012-11-09 Launchpad Translations on behalf of apport-hackers * po/da.po: [2530] Launchpad automatic translations update. 2012-11-08 Launchpad Translations on behalf of apport-hackers * po/da.po: [2529] Launchpad automatic translations update. 2012-11-07 Martin Pitt * NEWS, * test/test_signal_crashes.py: [2528] * test_signal_crashes.py: Allow XDG_RUNTIME_DIR environment variable, as it only shows whether or not it is set. (Test regression from 2.6) * NEWS, * test/test_signal_crashes.py: [2527] * test_signal_crashes.py: Fix incompatibility with Python 3.3. 2012-11-07 Launchpad Translations on behalf of apport-hackers * po/da.po: [2526] Launchpad automatic translations update. === 2.6.2 === 2012-11-06 Martin Pitt * NEWS, * apport/ui.py: [2525] release 2.6.2 * NEWS, * apport/REThread.py: [2524] * REThread.py: Fix for Python 3.3. 2012-11-06 Launchpad Translations on behalf of apport-hackers * po/sr.po, * po/ug.po: [2523] Launchpad automatic translations update. 2012-11-05 Launchpad Translations on behalf of apport-hackers * po/sr.po: [2522] Launchpad automatic translations update. 2012-10-27 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2521] Launchpad automatic translations update. 2012-10-25 Martin Pitt * NEWS, * apport/report.py, * test/test_report.py: [2520] * report.py, add_gdb_info(): Check __glib_assert_msg for assertion messages, too. 2012-10-19 Martin Pitt * NEWS, * apport/report.py: [2519] * report.py, add_proc_info(): Throw correct exception if the executable path does not exist, to provide a more appropriate error message. (LP: #1065129) 2012-10-19 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2518] Launchpad automatic translations update. 2012-10-19 Martin Pitt * bin/apport-retrace: [2517] make previous commit Python 2 friendly 2012-10-18 Martin Pitt * NEWS, * bin/apport-retrace: [2516] * bin/apport-retrace: Fix crash when not using --sandbox mode. 2012-10-17 Martin Pitt * NEWS, * apport/crashdb_impl/debian.py: [2515] * debian.py: Fix calling of parent accepts() method and return value. Thanks Ritesh Raj Sarraf. 2012-10-11 Martin Pitt * NEWS, * problem_report.py, * test/test_problem_report.py: [2514] * problem_report.py: Fix UnicodeDecodeError crash under Python 2 when the report has an unicode field with an unprintable ASCII character < 20. * NEWS, * kde/apport-kde: [2513] kde/apport-kde: Drop dead code 2012-10-11 Launchpad Translations on behalf of apport-hackers * po/da.po: [2512] Launchpad automatic translations update. 2012-10-10 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2511] Launchpad automatic translations update. 2012-10-05 Evan Dandrea * NEWS, * backends/packaging-apt-dpkg.py: [2510] Back out the previous change. It turned out to be a packaging bug. 2012-10-02 Evan Dandrea * backends/packaging-apt-dpkg.py: [2509] The previous commit used apt_inst to extract the deb packages, which unfortunately turns any encountered symlink into an empty directory. Use python-debian with a filtered list of paths to extract instead. This list does not contain any paths that are symlinks whose target already exists. * NEWS, * backends/packaging-apt-dpkg.py: [2508] Merge my branch for bug 1059621. 2012-10-02 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2507] Launchpad automatic translations update. === 2.6.1 === 2012-10-01 Martin Pitt * NEWS, * apport/ui.py: [2506] release 2.6.1 * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/apport.pot, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2505] merge po * NEWS, * setup.py: [2504] * setup.py: Specify "-source 1.5" javac option as well, to avoid build failure with OpenJDK 7. === 2.6 === 2012-10-01 Martin Pitt * NEWS, * apport/ui.py: [2503] release 2.6 * NEWS, * test/test_python_crashes.py: [2502] * test_python_crashes.py: Robustify "$PYTHONPATH in ProcEnviron" check. 2012-10-01 Martin Pitt * apport/crashdb_impl/debian.py: Added. * NEWS, * etc/apport/crashdb.conf: Modified. [2501] * Add apport/crashdb_impl/debian.py: Initial crash database implementation for the Debian BTS. Add configuration for it to etc/apport/crashdb.conf. Thanks Ritesh Raj Sarraf! 2012-10-01 Launchpad Translations on behalf of apport-hackers * po/el.po: [2500] Launchpad automatic translations update. 2012-09-28 Evan Dandrea * backends/packaging-apt-dpkg.py: [2499] Corrupt reports can have packages with '%' in the name, which breaks apport.warning. 2012-09-28 Martin Pitt * NEWS, * apport/report.py: [2498] * report.py, add_proc_info(): Show if $XDG_RUNTIME_DIR is set. * NEWS, * setup.py: [2497] * setup.py: Build java module with "-target 1.5" option, so that you can run it with OpenJDK 6 even if you build with OpenJDK 7. === 2.5.3 === 2012-09-28 Martin Pitt * NEWS, * apport/ui.py: [2496] release 2.5.3 * NEWS, * apport_python_hook.py, * test/test_python_crashes.py: [2495] * apport_python_hook.py: Capture $PYTHONPATH and $PYTHONHOME environment variables for Python crashes. Thanks Brian Murray. 2012-09-26 Launchpad Translations on behalf of apport-hackers * po/hr.po: [2494] Launchpad automatic translations update. 2012-09-24 Martin Pitt * NEWS, * apport/report.py, * test/test_report.py: [2493] * report.py, search_bug_patterns(): Fix bug patterns containing non-ASCII characters. Thanks Brian Murray. 2012-09-23 Launchpad Translations on behalf of apport-hackers * po/fr.po: [2492] Launchpad automatic translations update. 2012-09-20 Martin Pitt * NEWS, * apport/hookutils.py: [2491] * hookutils.py, attach_root_command_outputs(): Ignore IOError crash about nonexisting files, which can happen if the user dismisses authorization. (LP: #1051222) * apport/crashdb_impl/launchpad.py: [2490] launchpad.py: Fix tag filtering (r2487) for Python 3. (LP: #1052754) * NEWS, * apport/crashdb_impl/launchpad.py: [2489] * launchpad.py: Temporarily disable filing private bugs in the test suite, to work around the SSLHandshakeError error when downloading private attachments from staging. 2012-09-19 Martin Pitt * apport/ui.py: [2488] apport/ui.py: update expected exception after r2486 2012-09-18 Martin Pitt * NEWS, * apport/crashdb_impl/launchpad.py: [2487] * launchpad.py: Replace characters from tags which are not allowed by Launchpad with '.' (LP: #1029479) * NEWS, * backends/packaging-apt-dpkg.py: [2486] * packaging-apt-dpkg.py: When throwing ValueErrors, show the non-existing package name. This makes it easier to debug such crashes. * NEWS, * data/apportcheckresume: [2485] * data/apportcheckresume: Open report file in binary mode. (LP: #1040353) === 2.5.2 === 2012-09-17 Martin Pitt * NEWS, * apport/ui.py: [2484] release 2.5.2 2012-09-13 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/my.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2483] Launchpad automatic translations update. 2012-09-10 Martin Pitt * NEWS, * apport/report.py, * test/test_report.py: [2482] * report.py, _check_bug_pattern(): Fix bug pattern matching against binary values. Thanks Brian Murray for the original patch. (LP: #1016380) 2012-09-05 Martin Pitt * NEWS, * apport/crashdb_impl/launchpad.py: [2481] * launchpad.py: Add missing "Pre-release Freeze" status. Thanks Brian Murray! 2012-09-05 Launchpad Translations on behalf of apport-hackers * po/my.po: Added. [2480] Launchpad automatic translations update. 2012-09-05 Martin Pitt * NEWS, * kde/apport-kde: [2479] * apport-kde: Fix crash with undefined QString under Python 3. Thanks Jonathan Riddell! (LP: #1028984) 2012-09-02 Launchpad Translations on behalf of apport-hackers * po/cs.po: [2478] Launchpad automatic translations update. 2012-08-31 Martin Pitt * NEWS, * apport/report.py, * test/test_report.py: [2477] * report.py: Fix crash on determination of Python module path when examining a crash of "python -m ...". * NEWS, * gtk/apport-gtk, * test/test_ui_gtk.py: [2476] * apport-gtk: For console program crashes, say "stopped" instead of "closed". Add a subtitle label with a hint about hanging programs. Thanks Matt Price and Matthew Paul Thomas! 2012-08-28 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2475] Launchpad automatic translations update. 2012-08-24 Martin Pitt * NEWS, * apport/ui.py, * test/test_ui.py: [2474] * Fix crash on broken .desktop files. (LP: #1039889) * NEWS, * test/test_hookutils.py: [2473] * test_hookutils.py, test_in_session_of_problem(): Use year 2038 for a future date instead of 2211, as current Python 3.2 now crashes with an OverflowError on 32 bit machines with later years. * NEWS, * backends/packaging-apt-dpkg.py: [2472] * packaging-apt-dpkg.py: Add recommended packages to "Dependencies:" field. (LP: #1014428) * NEWS, * test/run: [2471] * test/run: Ignore root_info_wrapper with pyflakes. === 2.5.1 === 2012-08-22 Martin Pitt * NEWS, * apport/ui.py: [2470] release 2.5.1 * NEWS: [2469] * data/root_info_wrapper: Turn into a real file, a symlink can cause some packaging problems. === 2.5 === 2012-08-22 Martin Pitt * NEWS, * apport/ui.py: [2468] release 2.5 * apport/report.py: [2467] report.py: Fix r2465 for Python 2 * NEWS, * apport/fileutils.py, * apport/report.py, * apport/ui.py, * test/test_report.py: [2466] * report.py, add_hooks_info(): If reporting against a package/program in /opt, also search for package hooks in the corresponding /opt directory. This allows such hooks to define a custom crash database and thus report bugs against their own project instead of against the distribution. (LP: #1020503) * apport/report.py: [2465] report.py, add_hooks_info(): Factorize common code * NEWS, * apport/crashdb.py, * apport/ui.py, * doc/crashdb-conf.txt, * doc/package-hooks.txt, * test/test_ui.py: [2464] * Package hooks which want to send the report to a different crash database than "default" can now also give the database specification itself in the "CrashDB" field, not just the DB name. With this, packages do not need to ship a separate /etc/apport/crashdb.conf.d/ file. Please see doc/package-hooks.txt for details. (LP: #551330) * apport/hookutils.py: [2463] hookutils.py: Clean up old code line * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/apport.pot, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/se.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2462] merge i18n, update German translations 2012-08-22 Martin Pitt * apport/com.ubuntu.apport.policy.in, * data/root_info_wrapper: Added. * NEWS, * apport/hookutils.py, * po/apport.pot: Modified. [2461] * hookutils.py, attach_root_command_outputs() and root_command_output(): Drop usage of sudo, kdesudo, and gksu, and replace with pkexec. For attach_root_command_outputs(), use a wrapper and proper .policy file which explains the action and works under every environment; thus attach_root_command_outputs() is preferred over root_command_output() now, as it provides a better user experience. 2012-08-22 Martin Pitt * NEWS, * apport/ui.py: [2460] revert r2455, incomplete fix 2012-08-18 Launchpad Translations on behalf of apport-hackers * po/se.po: Added. [2459] Launchpad automatic translations update. 2012-08-17 Launchpad Translations on behalf of apport-hackers * po/de.po: [2458] Launchpad automatic translations update. 2012-08-16 Martin Pitt * NEWS, * apport/hookutils.py, * test/test_hookutils.py: [2457] * hookutils.py: Allow specifying a list of profile names when using attach_mac_events(). Thanks Marc Deslauriers. * apport/__init__.py: [2456] Fix whitespace * NEWS, * apport/ui.py: [2455] * ui.py: Only create the .upload file after collect_info() has completed, to avoid uploading broken reports through whoopsie. Thanks Brian Murray. (LP: #1020994) 2012-08-15 Launchpad Translations on behalf of apport-hackers * po/eo.po: [2454] Launchpad automatic translations update. 2012-08-06 Launchpad Translations on behalf of apport-hackers * po/en_AU.po, * po/en_GB.po: [2453] Launchpad automatic translations update. 2012-08-05 Launchpad Translations on behalf of apport-hackers * po/es.po: [2452] Launchpad automatic translations update. 2012-08-03 Martin Pitt * NEWS, * bin/apport-retrace: [2451] * apport-retrace: Keep compressed CoreDump from .crash files instead of uncompressing them into memory. This dramatically reduces memory usage. (LP: #981155) * NEWS, * apport/__init__.py, * bin/apport-retrace: [2450] * Add an apport.memdbg() function which prints out current memory usage if APPORT_MEMDEBUG is set. Annotate apport-retrace with it. * NEWS: [2449] NEWS: Fix typo 2012-07-31 Launchpad Translations on behalf of apport-hackers * po/hi.po: [2448] Launchpad automatic translations update. 2012-07-27 Martin Pitt * NEWS, * apport/REThread.py, * test/test_rethread.py: [2447] * REThread.py: Fix re-raising of exceptions in Python 3. Thanks Martin * Packman! (LP: #1024836) 2012-07-26 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2446] Launchpad automatic translations update. 2012-07-24 Martin Pitt * NEWS, * backends/packaging-apt-dpkg.py: [2445] * packaging-apt-dpkg.py: Fix crash on writing virtual_mapping.db when running with --sandbox-dir and -S system or giving no --cache. 2012-07-23 Martin Pitt * NEWS, * test/test_recoverable_problem.py: [2444] * test_recoverable_problem.py: Fix test for calling test runner with absolute path. === 2.4 === 2012-07-18 Martin Pitt * NEWS, * apport/ui.py: [2443] release 2.4 2012-07-18 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2442] Launchpad automatic translations update. 2012-07-13 Martin Pitt * NEWS, * bin/apport-retrace: [2441] * apport-retrace: Fix UnicodeDecodeError when encountering a non-ASCII source code file and running under a non-UTF-8 locale. 2012-07-13 Martin Pitt * data/recoverable_problem, * test/test_recoverable_problem.py: Added. * NEWS, * gtk/apport-gtk, * kde/apport-kde, * test/test_ui_gtk.py, * test/test_ui_kde.py: Modified. [2440] * Add new "RecoverableProblem" report type for problems which the application can handle, but still wishes to notify the user and send a problem report about. As an example, the application may wish to notify the user because handling the error resulted in degraded functionality. The user interface may fail to load items, or the action just performed may not return any data. Applications call /usr/share/apport/recoverable_problem with a string of arbitrary NUL- separated key/value pairs that are added to the report. Thanks Evan Dandrea! 2012-07-13 Martin Pitt * NEWS, * apport/crashdb.py: [2439] * crashdb.py, check_duplicate(): Do not try to mark a bug as duplicate of itself. This can happen when re- processing a previously retraced bug. * NEWS, * bin/apport-retrace: [2438] * apport-retrace: Fix StacktraceSource generation for relative --cache paths. * NEWS, * apport/crashdb_impl/launchpad.py: [2437] * launchpad.py: Fix setting of 'Medium' importance on duplicate checking. 2012-07-10 Martin Pitt * NEWS, * test/test_python_crashes.py: [2436] * test_python_crashes.py: Fix race condition in timeout test. * NEWS, * test/test_hooks.py, * test/test_report.py, * test/test_signal_crashes.py: [2435] * testsuite: Fix ResourceWarnings when running with Python 3. * test/run: [2434] test/run: Run python_crashes against a local d-bus, not the actual session one * NEWS, * test/test_ui.py: [2433] * ui tests, test_wait_for_pid(): Fix eternal hang when running as root. * NEWS, * apport/hookutils.py: [2432] * hookutils.py, attach_alsa(): Use alsa- info.sh when available. Thanks David Henningson. 2012-07-10 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2431] Launchpad automatic translations update. 2012-07-09 Martin Pitt * NEWS, * apport_python_hook.py, * test/test_python_crashes.py: [2430] * apport_python_hook.py: For org.freedesktop.DBus.Error.ServiceUnknown exceptions, add a 'DbusErrorAnalysis' field to the report which points out whether any .service file provides the service it tried to talk to, and whether the processes for those are running. This helps to determine the root cause for such errors (missing dependencies, broken .service files, talking to the wrong bus, etc.) (LP: #1020572) === 2.3 === 2012-07-09 Martin Pitt * NEWS, * apport/ui.py: [2429] release 2.3 * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/apport.pot, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2428] merge po * NEWS, * test/test_ui_kde.py: [2427] * test_ui_kde.py: Fix occasional test failure in test_1_crash_details if the application ends before the "is progress bar visible" check is done. * NEWS, * apport_python_hook.py, * test/test_python_crashes.py: [2426] * apport_python_hook: Fix UnicodeEncodeError crash with Python 2 for exceptions with non-ASCII characters. (LP: #972436) 2012-07-07 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2425] Launchpad automatic translations update. 2012-07-04 Martin Pitt * NEWS: [2424] bump to 2.3, new features 2012-07-04 Evan Dandrea * NEWS, * apport/fileutils.py, * apport/ui.py, * bin/apport-retrace, * data/apport, * gtk/apport-gtk, * test/test_fileutils.py, * test/test_ui.py, * test/test_ui_gtk.py: [2423] * apport-gtk: Add --hanging option to specify the process ID of a hanging application. If the user chooses to report this error, apport will terminate the pid with SIGABRT, otherwise it will send SIGKILL. The normal core pipe handler will be used to process the resulting report file, with a .hanging file in /var/crash to separate these from regular crashes. 2012-07-03 Martin Pitt * NEWS, * apport/crashdb_impl/launchpad.py: [2422] * launchpad.py: Ensure that upload chunk size does not underrun. (LP: #1013334) 2012-06-29 Martin Pitt * NEWS, * bin/apport-retrace: [2421] * apport-retrace: Turn StacktraceSource generation back on, now that it works with the current sandboxing. * NEWS, * backends/packaging-apt-dpkg.py, * test/test_backend_apt_dpkg.py: [2420] * packaging-apt-dpkg.py: Fix get_source_tree() to work with apt sandboxes. 2012-06-29 Evan Dandrea * bin/crash-digger: [2419] Typo 2012-06-29 Martin Pitt * bin/crash-digger: [2418] crash-digger: Unbreak -D option again, regression from r2407 * NEWS, * bin/crash-digger, * test/test_crash_digger.py: [2417] * crash-digger: Add --crash-db option to specify a non-default crash databae name. (LP: #1003506) * apport/crashdb_impl/launchpad.py: [2416] launchpad.py: PEP8 fixes * apport/crashdb_impl/launchpad.py: [2415] launchpad.py tests: lazily create uncommon description bug for speed up * apport/crashdb_impl/launchpad.py: [2414] launchpad.py: Robustify test_get_fixed_version() against staging not having current release series * apport/crashdb_impl/launchpad.py: [2413] launchpad.py: Fix test_update_description() 2012-06-29 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2412] Launchpad automatic translations update. 2012-06-28 Martin Pitt * NEWS, * apport/crashdb_impl/launchpad.py: [2411] * launchpad.py: Rework test suite to not use Launchpad's +storeblob facility at all any more. It almost never works on staging and is horribly slow. Fake the bug creation from a blob by manually creating the comment and attachments ourselves, and just assume that storeblob works on production. Also change the structure to allow running every test individually. * NEWS, * apport/crashdb_impl/launchpad.py: [2410] * launchpad.py: Recongize Launchpad projects for bug query and marking operations. (LP: #1003506) * apport/crashdb_impl/launchpad.py: [2409] launchpad.py: Ensure that core file in test is properly written * NEWS, * apport/ui.py: [2408] * ui.py: Do not ignore certain exceptions during upload which are not likely to be a network error. * NEWS, * apport/REThread.py, * apport/crashdb.py, * apport/crashdb_impl/launchpad.py, * apport/crashdb_impl/memory.py, * apport/fileutils.py, * apport/hookutils.py, * apport/packaging.py, * apport/report.py, * apport/ui.py, * apport_python_hook.py, * backends/packaging-apt-dpkg.py, * backends/packaging_rpm.py, * bin/apport-cli, * bin/apport-retrace, * bin/crash-digger, * bin/dupdb-admin, * data/apport, * data/apport-checkreports, * data/apportcheckresume, * data/general-hooks/generic.py, * data/general-hooks/parse_segv.py, * data/package_hook, * data/unkillable_shutdown, * problem_report.py, * setup.py, * test/test_apport_unpack.py, * test/test_backend_apt_dpkg.py, * test/test_backend_rpm.py, * test/test_crash_digger.py, * test/test_crashdb.py, * test/test_fileutils.py, * test/test_hooks.py, * test/test_java_crashes.py, * test/test_problem_report.py, * test/test_python_crashes.py, * test/test_report.py, * test/test_rethread.py, * test/test_signal_crashes.py, * test/test_ui.py, * test/test_ui_gtk.py, * test/test_ui_kde.py: [2407] * Fix PEP-8 violations picked up by latest pep8 checker. * NEWS, * data/apport: [2406] * apport: Also treat a binary as modified if the /proc/pid/exe symlink does not point to an existing file any more. (LP: #984944) === 2.2.5 === 2012-06-21 Martin Pitt * NEWS, * apport/ui.py: [2405] release 2.2.5 * NEWS, * test/test_ui_gtk.py, * test/test_ui_kde.py: [2404] * GTK and KDE UI tests: Avoid eternal hangs due to "this is not a distro package" error messages. * apport/ui.py, * backends/packaging-apt-dpkg.py, * gtk/apport-gtk, * test/test_ui.py: [2403] fix some fd leaks from subprocess.call() with PIPE * apport/crashdb_impl/launchpad.py: [2402] launchpad.py: Fix whitespace * NEWS, * apport/ui.py: [2401] * apport/ui.py: Fix rare crash if a report is already being updated in the background when the UI tries to update a previous version. (LP: #949196) * NEWS, * apport/ui.py, * test/test_ui.py: [2400] * apport/ui.py, get_desktop_entry(): Disable interpolation, to correctly read desktop files with % signs. (LP: #1014341) * NEWS, * apport/crashdb_impl/launchpad.py: [2399] * launchpad.py: Fix str vs. bytes crash for already known bugs, take 2. (LP: #1015788) === 2.2.4 === 2012-06-21 Martin Pitt * NEWS, * apport/ui.py: [2398] release 2.2.4 * NEWS, * apport/crashdb_impl/launchpad.py: [2397] * launchpad.py: Fix str vs. bytes crash for already known bugs. (LP: #1015788) * NEWS, * bin/apport-cli: [2396] * apport-cli: Unbreak "keep" option. (LP: #1007826) 2012-06-21 Launchpad Translations on behalf of apport-hackers * po/hi.po, * po/ru.po: [2395] Launchpad automatic translations update. 2012-06-20 Martin Pitt * NEWS, * test/run: [2394] * test/run: Wait for a previous xvfb server to finish before trying to start one. This fixes a race condition in the KDE UI tests which often failed to start up xvfb. 2012-06-19 Martin Pitt * NEWS, * test/test_crash_digger.py: [2393] * test_crash_digger.py: Do not write crash reports of crash-digger into system /var/crash, use a temporary directory. 2012-06-18 Martin Pitt * NEWS, * test/test_signal_crashes.py: [2392] * test_signal_crashes.py: Show crash reports in /var/crash/. 2012-06-16 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2391] Launchpad automatic translations update. 2012-06-15 Martin Pitt * NEWS, * data/java_uncaught_exception, * test/test_java_crashes.py: [2390] * data/java_uncaught_exception: Fix for Python 3. * NEWS, * test/test_apport_unpack.py: [2389] * test_apport_unpack.py: Fix test_unpack_python() test when running the system-installed tests. === 2.2.3 === 2012-06-15 Martin Pitt * NEWS, * apport/ui.py: [2388] release 2.2.3 * NEWS, * test/run, * test/test_apport_unpack.py: [2387] * test/run: Run the tests under LC_MESSAGES=C, to avoid failing tests on translated strings. * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/apport.pot, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2386] merge i18n * NEWS, * test/test_apport_unpack.py: [2385] * test_apport_unpack.py: Do not fail tests on translated help output. * NEWS, * apport/crashdb_impl/launchpad.py: [2384] * launchpad.py: Fix urlopen() for Python3. Thanks Steve Langasek. * NEWS, * test/test_signal_crashes.py: [2383] * test_signal_crashes.py: Drop the broken and obsolete test_local_python() test. Instead, add two tests which check proper logging. 2012-06-14 Martin Pitt * NEWS, * test/test_report.py: [2382] * test_report.py: Call "sync" after test script write core dumps, to ensure that subsequent operations have a complete one. * NEWS, * test/test_backend_apt_dpkg.py: [2381] * test_backend_apt_dpkg.py: For the "are we online" check, verify that we can download from http://ddebs.ubuntu.com/, not just whether we have a default route. The latter is not sufficient for e. g. buildd environments which are online, but are restricted by proxies or firewalls. 2012-06-13 Martin Pitt * NEWS, * test/run: [2380] * test/run: Do not run pep8 and pyflakes when running against the sytem installed Apport. * test/test_signal_crashes.py: [2379] test/test_signal_crashes.py: More verbose tests === 2.2.2 === 2012-06-13 Martin Pitt * NEWS, * apport/ui.py: [2378] release 2.2.2 * NEWS, * data/apport: [2377] * data/apport: Properly close the written crash report before changing its permissions to be readable. This prevents having crash reporting UI from looking at incomplete .crash files. * NEWS, * data/apport, * test/test_signal_crashes.py: [2376] * data/apport: When core dumps are enabled, read them from the written report instead of directly from stdin (and then reading the written core file into the .crash report). If the core file size is limited, we otherwise stop reading the core dump from the kernel in the middle and have no (or a broken) core dump to be put into the report. * NEWS, * data/apport: [2375] * data/apport: Do not use sys.stdin.fileno(), it is invalid when being called from the kernel with Python 3. * data/apport, * test/test_signal_crashes.py: [2374] data/apport: Clean up core file writing * NEWS, * test/run, * test/test_apport_unpack.py, * test/test_python_crashes.py, * test/test_report.py: [2373] * testsuite: Run with Python 3 by default. To test with Python 2, run "PYTHON=python2 test/run". * NEWS, * apport/hookutils.py, * test/test_hookutils.py: [2372] * hookutils.py, xsession_errors(): Fix crash when running under a non-UTF8 locale. * NEWS, * gtk/apport-gtk, * test/test_ui_gtk.py: [2371] * apport-gtk: Fix crash when closing the crash dialog while the information is being collected. * NEWS, * test/test_signal_crashes.py: [2370] * test/test_signal_crashes.py: Clean up unexpected core dumps on failed test cases. * NEWS, * data/apport: [2369] * apport: Redefine sys.std{out,err} when redirecting output, as they are None in Python 3 when being called from the kernel. 2012-06-12 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2368] Launchpad automatic translations update. === 2.2.1 === 2012-06-11 Martin Pitt * NEWS, * apport/ui.py: [2367] release 2.2.1 * NEWS, * data/dump_acpi_tables.py: [2366] * data/dump_acpi_tables.py: Fix for Python 3. * NEWS, * data/apport: [2365] * data/apport: Do not assume that sys.stdout and sys.stderr always have a name; they can be None in Python 3. * apport/hookutils.py: [2364] apport/hookutils.py, shared_libraries(): Update for recent command_output() change * NEWS, * apport/hookutils.py: [2363] * hookutils.py, recent_logfile(): Fix fd leak. * NEWS, * apport/hookutils.py, * test/test_hookutils.py: [2362] * hooktuils, command_output(): Convert output to unicode by default, and add a "decode_utf8" parameter to disable this. * NEWS, * apport/hookutils.py, * test/test_hookutils.py: [2361] * hookutils.py, read_file, attach_file(), attach_file_if_exists(): Convert file contents to unicode if the contents is UTF-8, or the newly added force_unicode argument is True. * bin/apport-bug: [2360] bin/apport-bug: Make it easier to add prefixes to find_programs results * NEWS, * setup.py: [2359] * setup.py: When fixing hashbang lines of installed scripts, only include the major Python version. * NEWS, * bin/apport-cli: [2358] * apport-cli: Port to work with Python 3. === 2.2 === 2012-06-11 Martin Pitt * NEWS, * apport/ui.py: [2357] release 2.2 * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/apport.pot, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2356] merge i18n 2012-06-09 Evan Dandrea * test/run: [2355] Copy and paste error. 2012-06-06 Martin Pitt * NEWS, * kde/apport-kde, * test/test_ui_kde.py: [2354] * apport-kde: Port to work with Python 3. * test/test_python_crashes.py: [2353] test/test_python_crashes.py: Python 3 fix * test/test_python_crashes.py, * test/test_report.py: [2352] test/test_report.py: Fix str vs. bytes confusion * apport/crashdb_impl/launchpad.py, * apport/ui.py, * setup.py: [2351] fix pyflakes/pep8 issues * NEWS: [2350] change version to 2.2, there are new features * NEWS, * apport/crashdb_impl/launchpad.py: [2349] * launchpad.py: Also work with Python 3. Deal gracefully with a missing "launchpadlib" module; this is not yet available for Python 3, but not required for client- side reporting. * apport/ui.py: [2348] apport/ui.py: Fix excstr() for Python 3 2012-06-06 Martin Pitt * apport/crashdb_impl/multipartpost_handler.py: Removed. * NEWS, * apport/crashdb_impl/launchpad.py: Modified. [2347] * launchpad.py: Drop the external multipartpost_handler.py (which is not portable to Python 3) and replace it with using the standard email module. 2012-06-06 Martin Pitt * NEWS, * setup.py: [2346] * setup.py: Update hashbang lines of installed scripts in data directory to the python executable setup.py was run with, similar to what already happens to scripts installed to ../bin/. * apport/crashdb_impl/memory.py, * apport/crashdb_impl/multipartpost_handler.py, * data/apport-checkreports, * data/apportcheckresume, * data/general-hooks/parse_segv.py: [2345] Fix leftover print statements for Python 3 compatibility * test/test_python_crashes.py, * test/test_report.py: [2344] do not hardcode /usr/bin/python in tests * apport/crashdb_impl/multipartpost_handler.py: [2343] apport/crashdb_impl/multipartpost_handler.py: Drop hashbang line 2012-06-05 Launchpad Translations on behalf of apport-hackers * po/ja.po: [2342] Launchpad automatic translations update. 2012-06-04 Martin Pitt * NEWS, * data/package_hook, * test/test_hooks.py: [2341] * package_hook: Add --tags option. Thanks to Brian Murray. 2012-06-04 Launchpad Translations on behalf of apport-hackers * po/ja.po: [2340] Launchpad automatic translations update. 2012-06-02 Launchpad Translations on behalf of apport-hackers * po/uk.po: [2339] Launchpad automatic translations update. 2012-05-30 Martin Pitt * NEWS, * bin/apport-retrace: [2338] * apport-retrace: Fix crash when using the --procmaps option. * NEWS, * apport/__init__.py, * apport/crashdb.py, * apport/crashdb_impl/multipartpost_handler.py, * apport/fileutils.py, * apport/packaging.py, * apport/report.py, * apport/ui.py, * apport_python_hook.py, * backends/packaging-apt-dpkg.py, * bin/apport-cli, * bin/crash-digger, * bin/dupdb-admin, * data/apport, * data/apport-checkreports, * data/apportcheckresume, * data/unkillable_shutdown, * problem_report.py, * test/run, * test/test_packaging.py, * test/test_python_crashes.py, * test/test_report.py, * test/test_ui.py: [2337] * Clean up module imports. * test/run: Run pyflakes, if available. === 2.1.1 === 2012-05-30 Martin Pitt * NEWS, * apport/ui.py: [2336] release 2.1.1 * apport/crashdb_impl/launchpad.py: [2335] apport/crashdb_impl/launchpad.py: Fix undefined "ubuntu" variable * NEWS, * gtk/apport-gtk, * kde/apport-kde, * test/test_ui_gtk.py, * test/test_ui_kde.py: [2334] * apport-gtk, apport-kde: Avoid collecting information twice in "bug update" mode. This caused a crash in cases where the source package in a bug report does not correspond to an installed binary package. (LP: #993810) * data/gcc_ice_hook, * test/test_ui_gtk.py: [2333] whitespace fixes 2012-05-29 Martin Pitt * NEWS, * apport/report.py, * test/test_ui.py: [2332] * report.py: Do not change the SourcePackage: field if the binary package is not installed and does not exist. This fixes source package hooks to actually work in some cases where source and binary package names overlap. (part of LP: #993810) * apport/crashdb_impl/launchpad.py: [2331] apport/crashdb_impl/launchpad.py: Remove trailing whitespace 2012-05-24 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2330] Launchpad automatic translations update. 2012-05-23 Martin Pitt * NEWS, * apport/crashdb_impl/launchpad.py, * doc/crashdb-conf.txt: [2329] * launchpad.py: Make Launchpad bug subscription user/team configurable: The initial subscriber after filing a bug can be set with the "initial_subscriber" crashdb option, and the team which gets subscribed after retracing with "triaging_team". (LP: #980726) * NEWS, * apport/hookutils.py, * test/test_hookutils.py: [2328] * hookutils.py: Add attach_default_grub() convenience function from the grub2 package hook so it can be used by other packages. Thanks Brian Murray. * NEWS, * apport/crashdb_impl/launchpad.py: [2327] * launchpad.py: When closing a bug as a duplicate, copy some well-known tags to the master bug. Thanks Brian Murray. * launchpad.py: Set importance of Python crash reports to "Medium" by default, similar to signal crashes. Thanks Brian Murray. === 2.1 === 2012-05-18 Martin Pitt * NEWS, * apport/ui.py: [2326] release 2.1 * do-release: [2325] do-release: Ignore shelves * NEWS, * kde/apport-kde, * test/test_ui_kde.py: [2324] apport-kde: Do not show the information collection progress dialog if the crash database does not accept this kind of report. In that case whoopsie will upload it in the background and the dialog is not necessary. (LP: #989698) * NEWS, * gtk/apport-gtk, * test/test_ui_gtk.py: [2323] * apport-gtk: Do not show the information collection progress dialog if the crash database does not accept this kind of report. In that case whoopsie will upload it in the background and the dialog is not necessary. (LP: #989698) 2012-05-16 Martin Pitt * apport/crashdb_impl/launchpad.py: [2322] launchpad.py: Use BytesIO instead of StringIO 2012-05-10 Launchpad Translations on behalf of apport-hackers * po/tr.po: [2321] Launchpad automatic translations update. 2012-05-09 Martin Pitt * NEWS, * apport/ui.py, * gtk/apport-gtk, * kde/apport-kde, * test/test_ui_gtk.py: [2320] * ui.py: Drop python-xdg dependency, use ConfigParser to read the .desktop files. * NEWS: [2319] fix NEWS entry for previous commit 2012-05-08 Evan Dandrea * NEWS, * apport/report.py: [2318] * report.py: Correctly escape the file path passed to gdb. 2012-05-08 Martin Pitt * NEWS: [2317] NEWS: Update Python 3 port description 2012-05-07 Martin Pitt * NEWS, * bin/apport-retrace: [2316] * apport-retrace: Add information about outdated packages to the "RetraceOutdatedPackages" field. 2012-05-05 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2315] Launchpad automatic translations update. 2012-05-04 Martin Pitt * apport_python_hook.py, * test/test_python_crashes.py: [2314] apport_python_hook.py: Fix for Python 3 * data/kernel_crashdump: [2313] data/kernel_crashdump: Fix for Python 3 * bin/apport-retrace: [2312] apport-retrace: Fix for Python 3 * test/test_crash_digger.py, * test/test_hooks.py: [2311] drop unnecessary hashbangs from tests * data/apport, * test/run, * test/test_signal_crashes.py: [2310] data/apport: Fix for Python 3 * bin/dupdb-admin: [2309] bin/dupdb-admin: Fix for Python 3 2012-05-04 Martin Pitt * test/test_apport_unpack.py: Added. * NEWS, * bin/apport-unpack: Modified. [2308] apport-unpack: Add tests and fix for Python 3 2012-05-01 Martin Pitt * test/test_ui_kde.py: [2307] test_ui_kde.py: Fix for Python 3 * apport/report.py: [2306] report.py, _check_bug_patterns(): Ignore UnicodeEncodeErrors, regression from previous Python 3 fixes * apport/crashdb.py, * apport/hookutils.py, * apport/report.py, * apport/ui.py, * apport_python_hook.py, * backends/packaging-apt-dpkg.py, * data/general-hooks/generic.py, * data/general-hooks/parse_segv.py, * gtk/apport-gtk, * problem_report.py, * test/test_hooks.py, * test/test_java_crashes.py, * test/test_report.py, * test/test_ui.py, * test/test_ui_gtk.py: [2305] More Python 3 fixes 2012-04-30 Martin Pitt * test/test_signal_crashes.py: [2304] test/test_signal_crashes.py: Fix for Python 3 * NEWS, * apport/ui.py: [2303] * ui.py: Don't show the duplicate warning when the crash database does not accept the problem type, and they are just being sent to whoopsie. Thanks Evan Dandrea. (LP: #989779) * NEWS, * apport/ui.py, * apport_python_hook.py, * data/apport, * data/gcc_ice_hook, * data/java_uncaught_exception, * data/kernel_crashdump, * data/kernel_oops, * data/package_hook, * data/unkillable_shutdown, * problem_report.py, * test/test_fileutils.py, * test/test_hooks.py, * test/test_java_crashes.py, * test/test_problem_report.py, * test/test_python_crashes.py, * test/test_report.py, * test/test_signal_crashes.py, * test/test_ui.py, * test/test_ui_gtk.py: [2302] problem_report.py: Fix for Python 3 An important change is that the load(), write(), and write_mime() methods of a ProblemReport and apport.Report object now require the file stream to be opened in binary mode. 2012-04-27 Martin Pitt * apport/hookutils.py: [2301] apport/hookutils.py: Fix for Python 3 * test/test_python_crashes.py: [2300] test/test_python_crashes.py: Fix for Python 3 2012-04-24 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2299] Launchpad automatic translations update. 2012-04-23 Martin Pitt * apport/crashdb.py, * test/test_crashdb.py: [2298] crashdb.py: Fix r2288, caused UnicodeDecodeError in C locales under Python 2 2012-04-20 Martin Pitt * NEWS, * gtk/apport-gtk: [2297] * apport-gtk: Do not assume that an icon requested for size 42 actually delivers size 42; some themes do not have this available and deliver a smaller one instead, causing overflows. Also, copy the image as gtk_icon_theme_load_icon() returns a readonly result which we must not modify. (LP: #937249) * NEWS, * data/apport, * test/test_signal_crashes.py: [2296] * data/apport: Ignore a crash if the executable was modified after the process started. This often happens if the package is upgraded and a long-running process is not stopped before. (LP: #984944) * NEWS, * apport/hookutils.py, * test/test_hookutils.py: [2295] * hookutils.py, recent_logfile(): Use a default limit of 10000 lines and call "tail" instead of reading the whole file. This protects against using up all memory when there are massive repeated log messages. (LP: #984256) 2012-04-18 Martin Pitt * apport/__init__.py, * apport/fileutils.py, * gtk/apport-gtk, * test/test_signal_crashes.py, * test/test_ui_gtk.py: [2294] various Python 3 fixes * apport/REThread.py: [2293] apport/REThread.py: Fix for Python 3 * data/gcc_ice_hook, * test/test_hooks.py: [2292] data/gcc_ice_hook, test/test_hooks.py: Some Python 3 fixes (incomplete) * data/general-hooks/parse_segv.py, * test/test_parse_segv.py: [2291] data/general-hooks/parse_segv.py: Fix for Python 3 * apport/hookutils.py, * test/test_hookutils.py: [2290] apport/hookutils.py: Fix for Python 3 * test/test_crash_digger.py: [2289] test/test_crash_digger.py: Fix for Python 3 * NEWS, * apport/crashdb.py, * test/test_crashdb.py: [2288] apport/crashdb.py: Fix to work with Python 3 * NEWS, * backends/packaging-apt-dpkg.py, * test/test_backend_apt_dpkg.py: [2287] * test/test_backend_apt_dpkg.py: Fix to work with Python 3. * backends/packaging-apt-dpkg.py, * test/test_backend_apt_dpkg.py: [2286] backends/packaging-apt- dpkg.py: Correctly handle conflicting/replacing packages in a permanent sandbox. Thanks Evan Dandrea! * NEWS, * data/general-hooks/generic.py: [2285] * data/general- hooks/generic.py: Bump minimum free space requirement from 10 to 50 MB. 10 is not nearly enough particularly for /tmp. (LP: #979928) 2012-04-16 Martin Pitt * NEWS, * backends/packaging-apt-dpkg.py: [2284] * backends/packaging-apt- dpkg.py: Fix crash if a package is installed, but has no candidates in apt. (LP: #980094) * NEWS, * data/dump_acpi_tables.py: [2283] * data/dump_acpi_tables.py: Fix crash on undefined variable with non-standard tables. (LP: #982267) 2012-04-15 Launchpad Translations on behalf of apport-hackers * po/tr.po: [2282] Launchpad automatic translations update. 2012-04-14 Launchpad Translations on behalf of apport-hackers * po/pt_BR.po: [2281] Launchpad automatic translations update. 2012-04-13 Martin Pitt * NEWS, * gtk/apport-gtk, * test/test_ui_gtk.py: [2280] * apport-gtk: Work around GTK crash when trying to set pixmap on an already destroyed parent window. (LP: #938090) * NEWS, * test/test_ui_gtk.py: [2279] * GTK UI tests: Ensure that there are no GLib/GTK warnings or criticals. 2012-04-12 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2278] Launchpad automatic translations update. 2012-04-11 Martin Pitt * NEWS, * apport/REThread.py, * apport/__init__.py, * apport/crashdb.py, * apport/crashdb_impl/launchpad.py, * apport/crashdb_impl/memory.py, * apport/crashdb_impl/multipartpost_handler.py, * apport/fileutils.py, * apport/hookutils.py, * apport/packaging.py, * apport/report.py, * apport/ui.py, * apport_python_hook.py, * backends/packaging-apt-dpkg.py, * backends/packaging_rpm.py, * bin/apport-cli, * bin/apport-retrace, * bin/crash-digger, * bin/dupdb-admin, * data/apport, * data/apportcheckresume, * data/dump_acpi_tables.py, * data/general-hooks/generic.py, * data/general-hooks/parse_segv.py, * data/java_uncaught_exception, * data/kernel_crashdump, * data/package-hooks/source_apport.py, * data/package_hook, * data/unkillable_shutdown, * po/apport.pot, * problem_report.py, * setup.py, * test/run, * test/test_backend_apt_dpkg.py, * test/test_backend_rpm.py, * test/test_crash_digger.py, * test/test_crashdb.py, * test/test_fileutils.py, * test/test_hooks.py, * test/test_hookutils.py, * test/test_java_crashes.py, * test/test_packaging.py, * test/test_parse_segv.py, * test/test_problem_report.py, * test/test_python_crashes.py, * test/test_report.py, * test/test_rethread.py, * test/test_signal_crashes.py, * test/test_ui.py, * test/test_ui_gtk.py, * test/test_ui_kde.py: [2277] * Fix the whole code to be PEP-8 compatible, and enforce this in test/run by running the "pep8" tool. * NEWS, * bin/crash-digger: [2276] * crash-digger: Add --sandbox-dir option and pass it to apport-retrace. * NEWS, * apport/packaging.py, * backends/packaging-apt-dpkg.py, * bin/apport-retrace, * man/apport-retrace.1, * test/test_backend_apt_dpkg.py: [2275] * packaging.py, install_packages(): Add permanent_rootdir flag and if set, only unpack newly downloaded packages. Implement it for the apt/dpkg backend. Thanks Evan Dandrea. * apport-retrace: Add --sandbox-dir option for keeping a permanent sandbox (unpacked packages). This provides a considerable speedup. Thanks Evan Dandrea. === 2.0.1 === 2012-04-10 Martin Pitt * NEWS, * apport/ui.py: [2274] release 2.0.1 * NEWS, * problem_report.py, * test/test_problem_report.py: [2273] * problem_report.py, write_mime(): Fix regression from version 1.95: Add a value as attachment if it is bigger than 1000 bytes, not if it is bigger than 100. (LP: #977882) * NEWS, * backends/packaging-apt-dpkg.py: [2272] * packaging-apt-dpkg.py: Avoid constructing and updating the apt.Cache() objects multiple times, to speed up retracing. Thanks Evan Dandrea. (LP: #973494) * NEWS, * data/general-hooks/generic.py: [2271] * generic package hook: Also check /tmp for enough space. Thanks Brian Murray. (LP: #972933) 2012-04-10 Launchpad Translations on behalf of apport-hackers * po/fi.po, * po/tr.po: [2270] Launchpad automatic translations update. 2012-04-08 Launchpad Translations on behalf of apport-hackers * po/cs.po, * po/sl.po: [2269] Launchpad automatic translations update. 2012-04-03 Martin Pitt * NEWS, * test/test_report.py: [2268] * test_report.py: Sleep a bit after calling our test crash script, to ensure the kernel has time to finish writing the core file. * NEWS, * test/test_backend_apt_dpkg.py: [2267] * test_backend_apt_dpkg.py: Fix checks for the installation of -dbgsym packages. This should always happen, as the sandboxes have a ddeb apt source. Only make it conditional on the system apt sources in the "use system config" test. 2012-03-31 Launchpad Translations on behalf of apport-hackers * po/pl.po: [2266] Launchpad automatic translations update. 2012-03-30 Martin Pitt * NEWS, * test/test_ui_gtk.py: [2265] * test_ui_gtk.py: Disable package hooks for the tests, as they might ask for sudo passwords and other interactive bits, and thus make the tests hang. === 2.0 === 2012-03-30 Martin Pitt * NEWS, * apport/ui.py: [2264] release 2.0 * NEWS: [2263] bump version to 2.0 * NEWS, * apport/ui.py, * test/test_ui_gtk.py: [2262] ui.py: Do not short-circuit information collection if report already has a "DistroRelease" field, as the GUIs add that in some cases. Check for "Dependencies" instead. This fixes information collection for kernel problems (which now has a full GTK GUI test case). (LP: #968488) 2012-03-30 Launchpad Translations on behalf of apport-hackers * po/ca.po: [2261] Launchpad automatic translations update. 2012-03-29 Martin Pitt * NEWS, * apport/crashdb.py, * apport/crashdb_impl/launchpad.py, * apport/crashdb_impl/memory.py, * apport/ui.py, * doc/crashdb-conf.txt, * test/test_crashdb.py, * test/test_ui.py: [2260] Add a new crash database option "problem_types" and a CrashDatabase method "accepts(report)". This can be used to stop uploading particular problem report types to that database. E. g. a distribution might decide to not get "Crash" reports any more after release. Document the new option in doc/crashdb- conf.txt. - ui.py: Do not upload a report if the crash database does not accept the report's type. This behaviour is not really correct, but necessary as long as we only support a single crashdb and have whoopsie hardcoded. Once we have multiple crash dbs, we need to not even present the data if none of the DBs wants the report. See LP #957177 for details. (LP: #968121) * NEWS, * apport/crashdb.py, * test/test_crashdb.py: [2259] crashdb.py: When publishing the crash database, cut hash file names after quoting, to avoid that the quoting causes them to become too long. (LP: #968070) This also uncovered that known() did not actually find any signature which contained an URL- quoted character, therefore breaking client-side duplicate checking in a lot of cases. Double-quote the file name now, as urlopen() unquotes it. 2012-03-29 Launchpad Translations on behalf of apport-hackers * po/ca.po: [2258] Launchpad automatic translations update. 2012-03-28 Martin Pitt * NEWS, * apport_python_hook.py: [2257] apport_python_hook.py: Fix filtering of org.freedesktop.DBus.Error.NoReply exceptions. (LP: #958575) * NEWS, * apport/report.py, * test/test_ui.py: [2256] report.py, anonymize(): Only replace whole words, not substrings. (LP: #966562) 2012-03-27 Launchpad Translations on behalf of apport-hackers * po/tr.po: [2255] Launchpad automatic translations update. 2012-03-24 Launchpad Translations on behalf of apport-hackers * po/nb.po: [2254] Launchpad automatic translations update. 2012-03-23 Launchpad Translations on behalf of apport-hackers * po/es.po, * po/gl.po, * po/hu.po, * po/it.po: [2253] Launchpad automatic translations update. === 1.95 === 2012-03-22 Martin Pitt * NEWS, * apport/ui.py: [2252] release 1.95 * NEWS, * gtk/apport-gtk, * kde/apport-kde, * test/test_ui_gtk.py, * test/test_ui_kde.py: [2251] apport-kde, apport-gtk: Only show "Relaunch" if the report has a ProcCmdline, otherwise we cannot restart it. (LP: #956173) * NEWS, * backends/packaging-apt-dpkg.py, * test/test_backend_apt_dpkg.py: [2250] backends/packaging-apt- dpkg.py, _check_files_md5(): Fix double encoding, which caused UnicodeDecodeErrors on non-ASCII characters in an md5sum file. (LP: #953682) * NEWS, * gtk/apport-gtk: [2249] apport-gtk: Require an application to both have TERM and SHELL in its environment to consider it a command line application that was started by the user. (LP: #962130) * NEWS, * apport/report.py, * apport/ui.py, * test/test_ui.py: [2248] ui.py: Run anonymization after checking for duplicates, to prevent host or user names which look like hex numbers to corrupt the stack trace. (LP: #953104) * NEWS, * apport/crashdb.py: [2247] crashdb.py, known(): Check the address signature duplicate database if the symbolic signature exists, but did not find any result. (LP: #103083) * NEWS, * gtk/apport-gtk, * test/test_ui_gtk.py: [2246] apport-gtk: Make details window resizable in bug reporting mode. * NEWS, * gtk/apport-gtk: [2245] apport-gtk: Cut off text values after 4000 characters, as Gtk's TreeView does not get along well with huge values. KDE's copes fine, so continue to display the complete value there. (LP: #957062) * NEWS, * apport/hookutils.py: [2244] hooktuils.py: Change root_command_output() and attach_root_command_outputs() to disable translated messages (LC_MESSAGES=C) only as part of the command to be run, not already for the root prefix command. This will keep the latter (gksu, kdesudo, etc.) translated. (LP: #961659) * NEWS, * apport/hookutils.py, * test/test_hookutils.py: [2243] hookutils.py, command_output(): Add option to keep the locale instead of disabling it. - hookutils.py, command_output(): Actually make the "input" parameter work, instead of causing an eternal hang. Add tests for all possible modes of operation. * NEWS, * gtk/apport-gtk: [2242] apport-gtk: Do not compare current continue button label against a translated string. Instead just remember whether or not we can restart the application. (LP: #960439) * NEWS, * apport/report.py, * test/test_report.py: [2241] report.py, mark_ignore(): Fix crash if executable went away underneath us. (LP: #961410) * NEWS, * etc/cron.daily/apport: [2240] etc/cron.daily/apport: Do not remove whoopsie's *.upload* stamps every day, only if they are older than a week. whoopsie comes with its own cron job which deals with them. Thanks Steve Langasek. (LP: #957102) 2012-03-22 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2239] Launchpad automatic translations update. 2012-03-21 Martin Pitt * NEWS, * problem_report.py, * test/test_problem_report.py: [2238] problem_report.py, write_mime(): Do not put a key inline if it is bigger than 1 kB, to guard against very long lines. (LP: #957326) * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/apport.pot, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2237] update POT, merge PO * NEWS, * gtk/apport-gtk, * kde/apport-kde, * test/test_ui_gtk.py, * test/test_ui_kde.py: [2236] apport-gtk, apport-kde: When reporting a "system crash", don't say "... of this program version", but "...of this type", as we don't show a program version in the initial dialog (https://wiki.ubuntu.com/ErrorTracker#error) (LP: #961065) 2012-03-20 Launchpad Translations on behalf of apport-hackers * po/es.po: [2235] Launchpad automatic translations update. 2012-03-16 Launchpad Translations on behalf of apport-hackers * po/fi.po: [2234] Launchpad automatic translations update. 2012-03-15 Martin Pitt * NEWS, * gtk/apport-gtk, * kde/apport-kde: [2233] apport-gtk, apport-kde: Show the ExecutablePath while we're collecting data for the crash report. Thanks Evan Dandrea. (LP: #938707). 2012-03-11 Launchpad Translations on behalf of apport-hackers * po/ta.po: [2232] Launchpad automatic translations update. 2012-03-09 Martin Pitt * NEWS: [2231] NEWS: fix bug ref * NEWS, * apport/hookutils.py: [2230] hookutils.py, attach_alsa(): Add the full "pacmd list" output instead of just sinks and sources. Thanks David Henningsson. * NEWS: [2229] NEWS: Link to bug * test/test_ui_gtk.py: [2228] test_ui_gtk.py: Clean up distro name comparisons * NEWS, * test/run: [2227] test/run: Ignore obsolete packages on the system, to avoid breaking the GUI tests due to them. 2012-03-08 Martin Pitt * NEWS, * gtk/apport-gtk, * kde/apport-kde, * test/test_ui_gtk.py, * test/test_ui_kde.py: [2226] apport-gtk, apport-kde: Set the window title to the distribution name, as per http://wiki.ubuntu.com/ErrorTracker#error . Thanks Evan Dandrea. * NEWS, * apport/ui.py, * test/test_ui.py: [2225] ui.py: Ensure that the report file is readable by the crash reporting daemon after running through collect_info(). Thanks Evan Dandrea. === 1.94.1 === 2012-03-07 Martin Pitt * NEWS, * apport/ui.py: [2224] release 1.94.1 * NEWS, * gtk/apport-gtk, * test/test_ui_gtk.py: [2223] apport-gtk: Fix handling of non-ASCII strings in message dialogs. (LP: #620579) * NEWS, * backends/packaging-apt-dpkg.py: [2222] packaging-apt-dpkg.py: Fix UnicodeDecodeError on unexpected md5sum output. (LP: #921037) * NEWS, * apport/report.py, * test/test_report.py, * test/test_ui.py: [2221] report.py, anonymize(): Fix crash when the hostname or user name contain non-ASCII characters. (LP: #945230) * NEWS, * bin/apport-cli: [2220] apport-cli: Consistently handle unicode vs. byte arrays. (LP: #946207) 2012-03-06 Martin Pitt * NEWS, * apport/ui.py, * test/test_ui_gtk.py, * test/test_ui_kde.py: [2219] ui.py, collect_info(): Do not assume that reports have a "ProblemType" field. This is not the case when updating a bug. (LP: #947519) * NEWS, * test/test_ui_kde.py: [2218] test_ui_kde.py: Re-enable inadvertently disabled "bug report for uninstalled package" test. 2012-03-06 Launchpad Translations on behalf of apport-hackers * po/cs.po: [2217] Launchpad automatic translations update. 2012-03-05 Launchpad Translations on behalf of apport-hackers * po/sv.po: [2216] Launchpad automatic translations update. 2012-03-03 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2215] Launchpad automatic translations update. 2012-03-02 Martin Pitt * test/run: [2214] test/run: Fix "Ubuntu" hardcoded name test to ignore Ubuntu desktop files === 1.94 === 2012-03-02 Martin Pitt * NEWS, * apport/ui.py: [2213] release 1.94 * apport/report.py: [2212] report.py: Drop dead code * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/apport.pot, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2211] update German translations * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/apport.pot, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2210] PO refresh * NEWS, * gtk/apport-gtk, * test/test_ui_gtk.py: [2209] apport-gtk: Fix resizability and size after hiding details. (LP: #405418) * NEWS, * kde/apport-kde: [2208] apport-kde: Fix Home page URL in KApplication metadata. * NEWS, * gtk/apport-gtk, * gtk/apport-gtk.ui, * kde/apport-kde, * test/run, * test/test_ui_gtk.py, * test/test_ui_kde.py: [2207] Drop hardcoded "Ubuntu" words again which crept in with the whoopsie support merge. Use the DistroRelease: field. * NEWS, * test/run: [2206] test/run: Add a test that there are no hardcoded "Ubuntu" words in the source. The code should use the DistroRelease: field or lsb_release. * NEWS: [2205] NEWS: Fix grammar * NEWS, * apport/hookutils.py: [2204] apport/hookutils.py, pci_devices(): Fix crash on unexpected lines from lspci. (LP: #904489) * NEWS, * data/unkillable_shutdown: [2203] data/unkillable_shutdown: Fix crash on race condition when PID goes away while the report is created. (LP: #546369) * NEWS, * apport/ui.py: [2202] ui.py, get_desktop_entry(): Fix crash on uninstalled package. (LP: #940984) * bin/apport-cli: [2201] apport-cli: Drop dead code * NEWS, * test/test_ui.py: [2200] test_ui.py: Add a test case for reporting a complete report on uninstalled package. This happens when reporting a problem from a different machine through copying a .crash file. * NEWS: [2199] NEWS: refer to another collect() crash * NEWS, * apport/ui.py, * bin/apport-cli, * gtk/apport-gtk, * kde/apport-kde, * test/test_ui.py: [2198] Revert the usage of multiple nested threads during data collection, and switch back to only using one UI thread. The UI implementations can, and now do, decide between showing a spinner and showing a progress dialog in the ui_*_info_collection_progress() methods. This fixes libX11 crashes when multiple UI threads do changes concurrently (LP: #901675), and also avoids multi-thread induced crashes in Pango (LP: #943661). The removal of the collect() method, this also fixes the new crashes in it. (LP: #942098) 2012-03-01 Martin Pitt * NEWS, * test/test_ui_kde.py: [2197] test/test_ui_kde.py: add same test cases as for GTK UI in previous commit * NEWS, * test/test_ui_gtk.py: [2196] test/test_ui_gtk.py: Add test cases for complete UI workflow runs for reporting a bug against an installed/uninstalled package, and reporting a crash with and without showing details. This reproduces the recent crashes like LP #901675 or LP #943661. * test/run: [2195] test/run: Fix for no arguments 2012-03-01 Martin Pitt * test/test_packaging.py: Added. * NEWS, * apport/packaging.py, * test/test_hooks.py: Modified. [2194] apport/packaging.py: Add get_uninstalled_package() method as a helper method for the test suite. Use it instead of a hardcoded Debian/Ubuntu specific name in test/test_hooks.py. 2012-03-01 Martin Pitt * NEWS, * test/run: [2193] test/run: Support running a single test * test/test_ui_gtk.py: [2192] test_ui_gtk.py: Consistent test case name * test/run: [2191] test/run: Do not use xvfb when setting $APPORT_TEST_NOXVFB 2012-02-29 Martin Pitt * NEWS, * apport/crashdb.py, * test/test_crashdb.py: [2190] crashdb.py, check_duplicate(): It can happen that a bug gets identified as being a duplicate of bug S by symbolic signatures and a duplicate of bug A by address signatures. Empirical evidence shows that this is due to the unavoidable jitter in stack traces (A and S not being identified as duplicates as their signatures differ slightly) and not a logic error. So instead of erroring out, duplicate all three bugs and keep the lowest number as the master ID. (LP: #943117) * apport/REThread.py, * apport/crashdb.py, * apport/crashdb_impl/launchpad.py, * apport/crashdb_impl/memory.py, * apport/crashdb_impl/multipartpost_handler.py, * apport/fileutils.py, * apport/hookutils.py, * apport/packaging.py, * apport/report.py, * apport/ui.py, * apport_python_hook.py, * backends/packaging-apt-dpkg.py, * backends/packaging_rpm.py, * bin/apport-cli, * bin/apport-retrace, * bin/crash-digger, * data/dump_acpi_tables.py, * gtk/apport-gtk, * kde/apport-kde, * problem_report.py, * setup.py, * test/test_backend_apt_dpkg.py, * test/test_backend_rpm.py, * test/test_crash_digger.py, * test/test_crashdb.py, * test/test_hooks.py, * test/test_hookutils.py, * test/test_java_crashes.py, * test/test_parse_segv.py, * test/test_problem_report.py, * test/test_python_crashes.py, * test/test_report.py, * test/test_signal_crashes.py, * test/test_ui.py, * test/test_ui_gtk.py, * test/test_ui_kde.py: [2189] remove trailing whitespace * apport/report.py: [2188] fix regression from r2183 * NEWS, * apport/ui.py: [2187] Make "binary changed since the time of the crash" error message more comprehensible, thanks Paolo Rotolo. (LP: #942830) 2012-02-28 Martin Pitt * NEWS, * apport/report.py, * test/test_report.py: [2186] report.py, crash_signature(): Do not put "" frames into Python crash signatures that happen outside of function/method calls. Fall back to the file/line number as a frame description instead. This will do a much better job at disambiguating e. g. different ImportError crashes. (LP: #920403) * apport/crashdb_impl/memory.py: [2185] apport/crashdb_impl/memory.py: Re-fix broken spacing in dummy traces * NEWS, * data/apport: [2184] apport: Fix crash if the "whoopsie" group does not exist. (LP: #942326) * NEWS, * apport/report.py, * data/general-hooks/generic.py: [2183] report.py, add_package_info(): Add "[origin: ...]" tag to "Package" and "Dependencies" fields for any package which is not native to the distribution. If any such package is present, tag the report with "third-party-packages" in data /general-hooks/generic.py. (LP: #927912) * NEWS, * apport/packaging.py, * backends/packaging-apt-dpkg.py, * test/test_backend_apt_dpkg.py: [2182] packaging.py: Add get_package_origin() method, and implement it for apt-dpkg. * NEWS, * apport/crashdb_impl/launchpad.py: [2181] launchpad.py: Properly handle "Expired" status, to avoid marking new bugs as duplicates of expired ones. (LP: #941854) 2012-02-28 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2180] Launchpad automatic translations update. 2012-02-24 Martin Pitt * NEWS, * apport/hookutils.py, * data/general-hooks/generic.py, * test/test_hookutils.py: [2179] hookutils.py, xsession_errors(): Add a reasonable default pattern which matches glib-style warnings, errors, criticals etc. and X window errors. In data/general- hooks/generic.py, call it with that default instead of the rather incomplete custom pattern. (LP: #932660) * NEWS, * data/general-hooks/generic.py: [2178] general-hooks/generic.py: Also attach xsession-errors for programs that link to libgtk-3. * NEWS, * test/run: [2177] test/run: Run under LC_MESSAGES=C to avoid test failures due to translated strings. * NEWS, * test/test_backend_apt_dpkg.py: [2176] testsuite: Force the skipping of online tests when $SKIP_ONLINE_TESTS is set. * NEWS, * test/run: [2175] test/run: Consider command line arguments as test names and only run those when given. * NEWS, * test/run: [2174] test/run: Drop "local" argument. This now tests against the source tree when run in the source tree root, and against the system libraries/programs when run from anywhere else. 2012-02-24 Martin Pitt * test/test_backend-apt-dpkg.py: Renamed to test/test_backend_apt_dpkg.py. * test/test_backend-rpm.py: Renamed to test/test_backend_rpm.py. [2173] rename tests to use _ consistently 2012-02-24 Martin Pitt * README: [2172] README: Fix typo 2012-02-23 Martin Pitt * NEWS, * test/test_backend-apt-dpkg.py, * test/test_backend-rpm.py, * test/test_java_crashes.py, * test/test_parse_segv.py, * test/test_ui_gtk.py, * test/test_ui_kde.py: [2171] Fix tests to run properly against the system-installed modules and binaries. * NEWS, * data/apport: [2170] apport: Set the group of written reports to "whoopsie" if that group exists. === 1.93 === 2012-02-23 Martin Pitt * NEWS, * apport/ui.py: [2169] release 1.93 * apport/crashdb_impl/launchpad.py: [2168] launchpad.py: typo fix * NEWS, * apport/crashdb_impl/launchpad.py: [2167] launchpad.py: Fix crash on unicode report titles. (LP: #896626) * apport/crashdb_impl/launchpad.py: [2166] launchpad.py: Fix test suite after recent test reorganization * NEWS, * apport/ui.py, * test/test_ui.py: [2165] ui.py: Fix crash on invalid core dumps. (LP: #937215) * test/test_ui_gtk.py, * test/test_ui_kde.py: [2164] clean up UI tests * test/test_backend-apt-dpkg.py: [2163] drop debugging leftover 2012-02-23 Martin Pitt * NEWS, * test/run, * test/test_backend-apt-dpkg.py: Modified. * test/crash: Renamed to test/test_signal_crashes.py and modified. * test/crash-digger: Renamed to test/test_crash_digger.py and modified. * test/gtk: Renamed to test/test_ui_gtk.py and modified. * test/hooks: Renamed to test/test_hooks.py and modified. * test/java: Renamed to test/test_java_crashes.py and modified. * test/kde: Renamed to test/test_ui_kde.py and modified. * test/python: Renamed to test/test_python_crashes.py and modified. [2162] Clean up the other executable test script in test/* and change them to the same structure as the module tests. 2012-02-23 Martin Pitt * test/test_backend-apt-dpkg.py, * test/test_backend-rpm.py, * test/test_crashdb.py, * test/test_fileutils.py, * test/test_hookutils.py, * test/test_parse_segv.py, * test/test_problem_report.py, * test/test_report.py, * test/test_rethread.py, * test/test_ui.py: Added. * NEWS, * apport/REThread.py, * apport/crashdb_impl/memory.py, * apport/fileutils.py, * apport/hookutils.py, * apport/report.py, * apport/ui.py, * backends/packaging-apt-dpkg.py, * backends/packaging_rpm.py, * data/general-hooks/parse_segv.py, * problem_report.py, * test/run: Modified. [2161] Move all test suites out of the code modules into test/test_.py. This avoids having to load it every time the program runs, and also allows running the tests against the installed version of Apport. 2012-02-23 Martin Pitt * apport/ui.py: [2160] ui.py: Drop unused code from test case * NEWS, * do-release: [2159] do-release: Call pyflakes and abort on errors other than unused imports. * apport/crashdb_impl/multipartpost_handler.py, * apport/report.py: [2158] more pyflakes complaint fixes * apport/crashdb_impl/launchpad.py: [2157] launchpad.py: Fix _get_bug_target() declaration * NEWS, * data/general-hooks/parse_segv.py: [2156] data/general- hooks/parse_segv.py: Fix test case name. * apport/crashdb.py, * apport/crashdb_impl/multipartpost_handler.py, * apport/hookutils.py, * apport/report.py, * backends/packaging-apt-dpkg.py, * data/dump_acpi_tables.py, * problem_report.py: [2155] fix some pyflakes complaints * backends/packaging-apt-dpkg.py, * data/dump_acpi_tables.py, * data/package-hooks/source_apport.py, * setup.py: [2154] drop some unused imports * NEWS, * test/python: [2153] test/python: Do not assume that /var/crash/ exists. Use /var/tmp/ for the fake binaries instead. * NEWS, * test/hooks: [2152] test/hooks: Use a package from Debian/Ubuntu main, so that this works better during package builds on build servers. * NEWS, * apport/ui.py: [2151] ui.py: Fix test failures for data collection progress, they are not expected to happen for "ProblemType: Crash" any more (happens in the background during sending, or if user clicks on "Show Details"). * NEWS, * test/crash: [2150] test/crash: Fix regression of test_crash_apport(), consider $TERM a non-sensitive variable. * apport/ui.py: [2149] document ui.py collect(), and add assertion 2012-02-22 Martin Pitt * NEWS: [2148] link additional bug report * NEWS, * gtk/apport-gtk: [2147] apport-gtk: Show the most interesting fields first in the details view. * NEWS, * apport/crashdb_impl/launchpad.py: [2146] launchpad.py: If a bug is already known, but the report is private, do not send the report. There is little sense piling up lots of duplicates. (LP: #938700) * NEWS, * apport/ui.py: [2145] ui.py: Fix aborting with "AssertionError" if the report is already known, but without an URL. (LP: #938778) * NEWS, * apport/ui.py: [2144] ui.py, open_url(): Revert back to calling sudo instead of dropping privileges ourselves; with the latter, calling firefox as the sudo'ing user fails. (LP: #916810) * NEWS, * gtk/apport-gtk, * test/gtk: [2143] apport-gtk: Fix crash on nonexisting icon. Thanks Evan Dandrea. (LP: #937354) === 1.92 === 2012-02-20 Martin Pitt * NEWS, * apport/ui.py: [2142] release 1.92 2012-02-20 Martin Pitt * data/spinner.gif, * test/gtk, * test/kde: Added. * NEWS, * apport/crashdb.py, * apport/crashdb_impl/memory.py, * apport/fileutils.py, * apport/hookutils.py, * apport/report.py, * apport/ui.py, * apport_python_hook.py, * bin/apport-cli, * gtk/apport-gtk, * gtk/apport-gtk.ui, * kde/apport-kde, * kde/bugreport.ui, * test/run: Modified. [2141] Merge whoopsie branch from Evan Dandrea: - Clean up unnecessary imports. - Reorganize the GNOME and KDE user interface to do the crash notifications and detail browser in a single dialog. Add test/gtk and test/kde tests to check expected dialog layout for different cases. - Add support for the whoopsie-daisy crash reporting daemon by creating zero-byte .upload file stamps for crash reports. 2012-02-20 Launchpad Translations on behalf of apport-hackers * po/sv.po: [2140] Launchpad automatic translations update. 2012-02-19 Launchpad Translations on behalf of apport-hackers * po/el.po: [2139] Launchpad automatic translations update. 2012-02-14 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2138] Launchpad automatic translations update. 2012-02-13 Martin Pitt * NEWS, * gtk/apport-gtk.ui: [2137] apport-gtk: Fix resize handling of expander in details window. Thanks Thomas Bechtold! (LP: #930562) 2012-02-09 Martin Pitt * NEWS, * apport/report.py: [2136] report.py, crash_signature_addresses(): Fix crash if report does not have "Signal". 2012-02-06 Martin Pitt * NEWS, * apport/crashdb_impl/launchpad.py: [2135] launchpad.py: Keep "Dependencies" attachment in duplicates. Thanks Brian Murray. 2012-02-06 Launchpad Translations on behalf of apport-hackers * po/sr.po: [2134] Launchpad automatic translations update. 2012-02-05 Launchpad Translations on behalf of apport-hackers * po/sr.po: [2133] Launchpad automatic translations update. 2012-02-03 Martin Pitt * NEWS, * apport/crashdb_impl/launchpad.py: [2132] launchpad.py: Avoid sending tag names with upper case. (LP: #924181) 2012-02-01 Martin Pitt * NEWS, * apport/hookutils.py: [2131] hookutils.py, attach_hardware(): Sort ProcModules, thanks Brian Murray. 2012-01-28 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/shn.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2130] Launchpad automatic translations update. 2012-01-23 Martin Pitt * NEWS, * bin/apport-retrace, * data/general-hooks/parse_segv.py: [2129] Replace file() calls with open() for Python 3 compatibility. Thanks Colin Watson! 2012-01-20 Martin Pitt * NEWS, * man/apport-bug.1: [2128] man/apport-bug.1: Mention where crash files are stored. Thanks David Kastrup. 2012-01-19 Launchpad Translations on behalf of apport-hackers * po/shn.po: Added. [2127] Launchpad automatic translations update. 2012-01-18 Martin Pitt * NEWS, * apport/ui.py: [2126] ui.py: Fix wrong creation of "~" folder instead of expanding it to home directory when using "Examine locally". Thanks Jason Conti! (LP: #909149) === 1.91 === 2012-01-18 Martin Pitt * NEWS, * apport/ui.py: [2125] release 1.91 * NEWS, * apport/report.py: [2124] report.py: Update reading AssertionMessage. Current (e)glibc turned __abort_msg from a simple static string into a struct. * NEWS, * apport/report.py: [2123] Support /etc/apport/whitelist.d/ similarly to /etc/apport/blacklist.d/, for cases like installer environments where only crashes of a few selected programs should be reported. * NEWS, * apport_python_hook.py: [2122] Python exceptions: Blacklist DBus.Error.NoReply. It does not help to get these traces from the client-side application, you need the actual exception in the D-Bus server backend instead. (LP: #914220) 2012-01-16 Martin Pitt * NEWS, * apport_python_hook.py, * data/apport, * data/apportcheckresume, * test/crash, * test/python: [2121] Change permissions of .crash files from 0600 to 0640, so that /var/crash can be made g+s and crash handling daemons can access those. 2012-01-13 Martin Pitt * NEWS, * apport/crashdb.py: [2120] crashdb.py: Remove debugging leftover which completely disabled bug pattern checking. 2012-01-08 Launchpad Translations on behalf of apport-hackers * po/de.po: [2119] Launchpad automatic translations update. 2012-01-04 Martin Pitt * NEWS, * apport/report.py: [2118] report.py: Filter out frames which are internal kernel/glibc implementation details and not stable across duplicates. In particular, filter out __kernel-syscall() and the SSE stubs. * NEWS, * apport/crashdb_impl/launchpad.py, * bin/apport-retrace: [2117] apport-retrace: Fix "an useful" typo. (LP: #911437) * NEWS, * apport/crashdb_impl/launchpad.py: [2116] launchpad.py: Only set bug task importance if it is undecided. 2012-01-03 Martin Pitt * NEWS, * bin/apport-cli: [2115] apport-cli: Fix UnicodeDecodeError on unicode report values. (LP: #275972) 2012-01-01 Launchpad Translations on behalf of apport-hackers * po/pl.po: [2114] Launchpad automatic translations update. 2011-12-26 Launchpad Translations on behalf of apport-hackers * po/fi.po: [2113] Launchpad automatic translations update. 2011-12-13 Launchpad Translations on behalf of apport-hackers * po/fi.po: [2112] Launchpad automatic translations update. 2011-12-09 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2111] Launchpad automatic translations update. 2011-12-08 Martin Pitt * backends/packaging-apt-dpkg.py: [2110] backends/packaging-apt- dpkg.py: Fix import of time 2011-12-07 Martin Pitt * NEWS, * apport/crashdb.py: [2109] crashdb.py: Do not add a new address signature entry if one already exists. * NEWS, * apport/crashdb.py: [2108] crashdb.py: Ensure that address_signature duplicate db table does not have multiple identical signatures by making it a primary key. Bump the db format to "3". Existing databases need to be migrated manually as SQLite does not allow adding a "PRIMARY KEY" constraint to existing tables. * NEWS, * backends/packaging-apt-dpkg.py: [2107] packaging-apt-dpkg.py: Refresh Contents.gz cache if it is older than one day. * NEWS, * bin/apport-retrace: [2106] apport-retrace: Use DistroRelease specific subdirectory of the cache dir for mapping a file to a package, as these maps are release specific. 2011-12-01 Martin Pitt * bin/apport-retrace: [2105] apport-retrace: KernelCrash processing unimplemented is not a transient error which should stop the retracer 2011-12-01 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2104] Launchpad automatic translations update. 2011-11-28 Martin Pitt * NEWS, * apport/crashdb.py: [2103] crashdb.py, check_duplicate(): If a crash has a signature but no existing duplicate in the DB, also check for an existing address signature duplicate in the DB. === 1.90 === 2011-11-24 Martin Pitt * NEWS, * apport/ui.py: [2102] release 1.90 * NEWS: [2101] bump version to 1.90 as first beta of 2.0 * NEWS, * apport/crashdb_impl/launchpad.py: [2100] launchpad.py: Current Launchpad cannot have private bugs which affect multiple projects. Fix test suite accordingly. * apport/crashdb_impl/launchpad.py: [2099] launchpad.py: Fix exception on tag removal, and fix test suite * NEWS, * apport/crashdb_impl/launchpad.py: [2098] launchpad.py: Override known() to check if the master bug is actually accessible by the reporter, and is not tagged with "apport-failed-retrace" or "apport- request-retrace"; otherwise file it anyway. * doc/crashdb-conf.txt: [2097] doc/crashdb-conf.txt: Document dupdb_url and standard options 2011-11-23 Martin Pitt * NEWS, * gtk/apport-gtk, * kde/apport-kde: [2096] apport-kde, apport-gtk: Support the "Annotation" field for custom dialog titles for "Crash" and "Package" problem types as well, not just for "Kernel". (LP: #664378) * NEWS, * apport/crashdb_impl/launchpad.py: [2095] launchpad.py: Attach updated stack traces from a duplicate to the master bug if it failed retracing previously or has an "apport-request-retrace" tag. (LP: #869982) * apport/crashdb.py, * apport/crashdb_impl/launchpad.py, * apport/crashdb_impl/memory.py: [2094] pass report to CrashDatabase.close_duplicate(), in case implementations need it * NEWS, * apport/ui.py: [2093] ui.py: Also anonymize standard bug title. (LP: #893863) * apport/crashdb.py: [2092] crashdb.py: Fix imports for python3 * apport/crashdb.py, * apport/crashdb_impl/memory.py: [2091] fix crash on address signature duplicates which get uploaded 2011-11-23 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2090] Launchpad automatic translations update. 2011-11-21 Martin Pitt * apport/crashdb.py, * apport/crashdb_impl/launchpad.py, * apport/crashdb_impl/memory.py, * apport/ui.py, * bin/dupdb-admin: [2089] crashdb.py: Change CrashDatabase constructor to not explicitly take a "bugpattern_baseurl" argument any more. Just take it from the options dictionary. * NEWS, * bin/crash-digger, * test/crash-digger: [2088] crash-digger: Add --publish-db option to conveniently integrate duplicate DB publication (similar to dupdb- admin publish) into retracer setups. * etc/apport/crashdb.conf: [2087] etc/apport/crashdb.conf: Fix whitespace * etc/apport/crashdb.conf: [2086] etc/apport/crashdb.conf: Add dupdb_url option for Launchpad/Ubuntu * NEWS, * apport/crashdb.py, * apport/crashdb_impl/launchpad.py, * apport/crashdb_impl/memory.py, * bin/dupdb-admin, * man/dupdb-admin.1: [2085] Add "publish" dupdb-admin command which exports the duplicate database into a set of text files suitable for WWW publishing. Implement crashdb.py known() method to check this format, if the crash database is initialized with a "dupdb_url" option pointing to the exported database. * apport/crashdb.py: [2084] crashdb.py: Fix _duplicate_db_upgrade() to actually write the current version * apport/ui.py: [2083] ui.py: Simplify test code * NEWS, * apport/crashdb.py, * apport/crashdb_impl/memory.py: [2082] crashdb.py: Put address signatures from reports checked with check_duplicate() into the duplicate database, so that implementations of known() can check for these. 2011-11-18 Martin Pitt * apport/crashdb_impl/memory.py: [2081] apport/crashdb_impl/memory.py: Implement known() for DuplicateSignature and crash_signature() * apport/crashdb.py: [2080] crashdb.py: Code cleanup * apport/crashdb.py: [2079] crashdb.py: Small code beautification * NEWS, * apport/crashdb.py: [2078] crashdb.py: Add a table "version" with the database format version. Add automatic upgrading to the most current format. * apport/ui.py: [2077] ui.py: Add some more checks to debug IOErrors, causing self.ui.report to become None * NEWS, * apport/crashdb.py, * apport/ui.py: [2076] crashdb.py: Add new method "known(report)" which can be implemented to check if the crash db already knows about the crash signature. If so, the report will not be uploaded, and instead the user will be directed to the existing report URL (if available), similar to bug patterns. The default implementation always returns None, i. e. keeps current behaviour. 2011-11-17 Martin Pitt * apport/ui.py: [2075] ui.py: Change internal "BugPatternURL" field to "KnownReport", as it is not relevant how we figure out that it is already known. Also support non-URL values. * NEWS, * apport/report.py, * apport/ui.py: [2074] report.py, add_gdb_info(): Add a new field "StacktraceAddressSignature" which is a heuristic signature for signal crashes. This should be used if crash_signature() fails, i. e. the Stacktrace field does not have enough symbols. This can be used to check for duplicates on the client side, provided that the crash database server supports querying for these. Do not expose this field when uploading to crash databases though, as it can be recomputed from the already existing information (ProcMaps and Stacktrace) and thus would just clutter the reports. * apport/report.py: [2073] apport/report.py: Add crash_signature_addresses() method * apport/report.py: [2072] apport/report.py: Add _address_to_offset() method 2011-11-16 Martin Pitt * NEWS, * apport/crashdb_impl/launchpad.py: [2071] launchpad.net: When sending retraced results back to the bug report, update the topmost function in the bug title. (LP: #869970) * NEWS, * apport/report.py: [2070] report.py: Break out new method stacktrace_top_function() from standard_title(), so that other parts of the code can use this as well. * NEWS, * apport/crashdb_impl/launchpad.py: [2069] launchpad.py: Only query for bugs after 2011-08-01, to avoid timeouts. 2011-11-15 Martin Pitt * apport/report.py: [2068] report.py: Fix crash in _command_output() 2011-11-12 Launchpad Translations on behalf of apport-hackers * po/lt.po: [2067] Launchpad automatic translations update. 2011-11-11 Martin Pitt * NEWS, * backends/packaging-apt-dpkg.py: [2066] backends/packaging-apt- dpkg.py: Fix handling of explicit cache directory name when it is a relative path. * NEWS, * backends/packaging-apt-dpkg.py: [2065] backends/packaging-apt- dpkg.py: Fix another test case failure when ddeb repository is not enabled. === 1.26 === 2011-11-11 Martin Pitt * NEWS, * apport/ui.py: [2064] release 1.26 * NEWS, * backends/packaging-apt-dpkg.py: [2063] backends/packaging-apt- dpkg.py: Fix tests if system does not have a dbgsym apt source. * backends/packaging-apt-dpkg.py: [2062] backends/packaging-apt- dpkg.py: slight code cleanup * NEWS, * apport/ui.py, * test/crash: [2061] apport/ui.py, test/crash: Use "yes" as test process instead of "cat". The former is less likely to run already, and does not depend on having a stdin, so it runs better in test environments like autopkgtest. 2011-11-10 Martin Pitt * NEWS, * test/crash, * test/run: [2060] test/crash: Rewrite using Python's unittest, to be in line with other tests, and be easier to maintain and extend. * NEWS, * apport/report.py: [2059] report.py test suite: Remove requirement that $USER is set, which makes it easier to run this from package build environments. * NEWS, * data/apport: [2058] Ignore a crash if gnome-session is running and says that the session is being shut down. These often die because X.org or other services are going away, are usually harmless, and just cause a lot of clutter in bug trackers. (LP: #460932) * NEWS, * backends/packaging-apt-dpkg.py: [2057] backends/packaging-apt- dpkg.py: Fix interleaving usage of install_packages() with other operations such as get_version(), by resetting the apt status after building and using the sandbox. 2011-11-09 Martin Pitt * backends/packaging-apt-dpkg.py: [2056] backends/packaging-apt- dpkg.py, install_packages(): Add some bookkeeping to ensure that apt fetcher really got everything; this is missing a lot of packages for apport-retrace * AUTHORS, * NEWS, * README: [2055] README: Update command for one-time enablement. * NEWS, * setup.py: [2054] setup.py: Fix crash when "javac -version" fails. * NEWS, * apport/hookutils.py, * apport/report.py, * apport/ui.py: [2053] Fix tests when running as root. 2011-11-08 Martin Pitt * NEWS, * apport/ui.py: [2052] apport/ui.py: Clean up test .crash file after test cases. * NEWS, * test/run: [2051] test/run: Fix testing data/general- hooks/parse_segv.py when called in system-installed mode. * NEWS, * apport/hookutils.py, * apport/ui.py: [2050] Fix some import statements to also work for the system-installed test suite. * NEWS, * apport/report.py: [2049] report.py, add_proc_info(): Correctly handle "python -m " programs as being interpreted and determine the appropriate module path. 2011-11-08 Launchpad Translations on behalf of apport-hackers * po/tr.po: [2048] Launchpad automatic translations update. 2011-11-07 Launchpad Translations on behalf of apport-hackers * po/es.po: [2047] Launchpad automatic translations update. 2011-11-06 Launchpad Translations on behalf of apport-hackers * po/es.po: [2046] Launchpad automatic translations update. 2011-11-04 Martin Pitt * apport/report.py: [2045] apport/report.py: More Python 3 porting 2011-11-03 Martin Pitt * apport/report.py, * apport/ui.py: [2044] fix remaining execfile() calls to be Python 3 compatible * apport/report.py, * backends/packaging-apt-dpkg.py: [2043] apport/report.py: Fix fd leaks * apport/REThread.py: [2042] apport/REThread.py: cannot fix to work with both Python 2 and 3, add comment for Python 3 syntax * apport/crashdb.py: [2041] crashdb.py: finish porting to Python 3 * apport/fileutils.py: [2040] fileutils.py: Port to Python 3 * apport/crashdb.py, * apport/crashdb_impl/memory.py: [2039] crashdb.py, memory.py: Python 3 porting * apport/hookutils.py: [2038] apport/hookutils.py: Port to Python 3 * NEWS, * test/crash: [2037] test/crash: Exit successfully if apport is not enabled in the system. This allows packages to run the test suite during build. * NEWS, * apport/hookutils.py: [2036] hookutils.py: Fix path_to_key() to also work with unicode arguments. * backends/packaging-apt-dpkg.py: [2035] backends/packaging-apt- dpkg.py: Improve test case * NEWS, * backends/packaging-apt-dpkg.py: [2034] backends/packaging-apt- dpkg.py: Port to current python-apt API. * backends/packaging-apt-dpkg.py: [2033] backends/packaging-apt- dpkg.py, _search_contents(): Fix for Python 3 === 1.25 === 2011-11-03 Martin Pitt * NEWS, * apport/ui.py: [2032] release 1.25 2011-11-02 Martin Pitt * backends/packaging-apt-dpkg.py: [2031] backends/packaging-apt- dpkg.py: Fix unicode <-> binary conversion and fd leaks 2011-11-01 Martin Pitt * apport/crashdb_impl/launchpad.py, * apport/crashdb_impl/memory.py, * apport/fileutils.py, * apport/hookutils.py, * apport/report.py, * apport/ui.py, * backends/packaging-apt-dpkg.py, * bin/apport-retrace, * data/apport, * data/general-hooks/parse_segv.py, * gtk/apport-gtk, * kde/apport-kde, * problem_report.py, * test/crash: [2030] has_key() -> in, for Python 3 friendliness 2011-10-31 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2029] Launchpad automatic translations update. 2011-10-30 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/am.po, * po/an.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/br.po, * po/bs.po, * po/ca.po, * po/ca@valencia.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gd.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/hy.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kk.po, * po/km.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sc.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/te.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_HK.po, * po/zh_TW.po: [2028] Launchpad automatic translations update. 2011-10-29 Martin Pitt * TODO: [2027] TODO: add * TODO: [2026] TODO: add two more * NEWS: [2025] NEWS: Fix typo * NEWS, * apport/hookutils.py: [2024] hookutils.py: Add attach_upstart_overrides(). * test/python: [2023] test/python: Run verbosely * NEWS, * apport/ui.py: [2022] ui.py: Fix test suite to not fail if system has some obsolete or non-distro packages. * NEWS, * apport/hookutils.py: [2021] hookutils.py: Add attach_conffiles(). * NEWS, * apport/packaging.py, * backends/packaging-apt-dpkg.py: [2020] packaging.py: Add get_modified_conffiles() API, and implement it in packaging-apt- dpkg.py. * NEWS, * backends/packaging-apt-dpkg.py: [2019] packaging-apt-dpkg.py: Skip online tests when there is no default route. * NEWS: [2018] fix NEWS * NEWS, * backends/packaging-apt-dpkg.py: [2017] packaging-apt-dpkg.py: Ignore hardening-wrapper diversions, to make gcc_ice_hook work if hardening- wrapper is installed. * po/apport.pot: [2016] update POT * NEWS, * apport_python_hook.py, * test/python: [2015] apport_python_hook: Limit successive crashes per program and user to 3 per day, just like signal crashes. (LP: #603503) * NEWS, * apport_python_hook.py, * test/python: [2014] apport_python_hook: Respect $APPORT_REPORT_DIR. * test/python: [2013] test/python: Drop leftover debugging cleanup disabling * NEWS, * test/python: [2012] test/python: Also make tests work if Python hook is not installed in system's sitecustomize.py. 2011-10-29 Martin Pitt * test/python: Added. * NEWS, * apport_python_hook.py, * test/run: Modified. [2011] apport_python_hook.py: Move tests out of this file into test/python, to avoid having to parse the unit tests at each Python startup. 2011-10-29 Martin Pitt * TODO: [2010] TODO: drop obsolete item * NEWS, * bin/apport-cli: [2009] apport-cli: Greatly speed up displaying large reports. This also changes the format to avoid indenting each line with a space, and visually set apart the keys in a better way. * NEWS, * bin/apport-cli: [2008] apport-cli: Add "Examine locally..." respones, and implement ui_run_terminal(). * NEWS, * gtk/apport-gtk, * gtk/apport-gtk.ui: [2007] apport-gtk: Add "Examine locally..." button, and implement ui_run_terminal(). * NEWS, * apport/ui.py: [2006] Add new response "Examine locally" to presenting the report details, which runs apport-retrace in the chosen mode in a terminal. This should be made available for crash reports if apport-retrace and a Terminal application are installed; add an abstrace UI method for this. (LP: #75901) * NEWS, * kde/apport-kde: [2005] apport-kde: Rearrange order of imports to get intended error message if PyKDE is not installed. * NEWS, * apport/crashdb_impl/launchpad.py: [2004] launchpad.py: Remove "Ubuntu" in bug response, replace with "this software". (LP: #883234) 2011-10-24 Launchpad Translations on behalf of apport-hackers * po/hu.po: [2003] Launchpad automatic translations update. 2011-10-23 Launchpad Translations on behalf of apport-hackers * po/bs.po: [2002] Launchpad automatic translations update. 2011-10-21 Martin Pitt * backends/packaging-apt-dpkg.py: [2001] backends/packaging-apt- dpkg.py: Fix incorrect exception documentation for _cache(). Thanks Bryce Harrington. === 1.24 === 2011-10-19 Martin Pitt * NEWS, * apport/ui.py: [2000] release 1.24 2011-10-18 Launchpad Translations on behalf of apport-hackers * po/gl.po: [1999] Launchpad automatic translations update. 2011-10-17 Launchpad Translations on behalf of apport-hackers * po/fi.po: [1998] Launchpad automatic translations update. 2011-10-15 Launchpad Translations on behalf of apport-hackers * po/gl.po, * po/oc.po: [1997] Launchpad automatic translations update. 2011-10-14 Martin Pitt * NEWS, * apport/ui.py: [1996] ui.py: Improve error message if package is not a genuine distro package. Thanks to Ronan Jouchet. (LP: #559345) * NEWS, * test/crash: [1995] test/crash: Change to /tmp/ for test crash process, to fix failure if the user that runs the test suite cannot write into the current directory. (LP: #868695) * NEWS, * test/crash: [1994] test/crash: Fix test failure if user is not in any system groups. 2011-10-13 Martin Pitt * NEWS, * apport/hookutils.py: [1993] hookutils.py, attach_wifi(): Anonymize ESSID and AP MAC from "iwconfig" output. (LP: #746900) * NEWS, * gtk/apport-gtk: [1992] apport-gtk: Fix crash if report does not have ProcCmdline. (LP: #854452) * NEWS, * gtk/apport-gtk: [1991] apport-gtk: In bug update mode, make details dialog resizable and fix default size. (LP: #865754) 2011-10-13 Launchpad Translations on behalf of apport-hackers * po/en_AU.po: [1990] Launchpad automatic translations update. 2011-10-11 Martin Pitt * NEWS, * apport/report.py: [1989] Special-case crashes of 'twistd': Try to determine the client program and assign the report to that, or fail with an UnreportableReason. (LP: #755025) * NEWS, * apport/report.py, * apport/ui.py: [1988] Ignore crashes for programs which got updated in between the crash and reporting. (LP: #132904) 2011-10-11 Launchpad Translations on behalf of apport-hackers * po/en_CA.po, * po/en_GB.po, * po/pt_BR.po: [1987] Launchpad automatic translations update. 2011-10-10 Martin Pitt * NEWS, * data/general-hooks/generic.py: [1986] data/general-hooks/generic.py: Only attach ~/.xsession_errors if the bug is reported in the same XDG session as the crash happened. (LP: #869974) * NEWS, * apport/hookutils.py: [1985] hookutils.py: Add new function in_session_of_problem() which returns whether the given report happened in the currently running XDG session. This can be used to determine if e. g. ~/.xsession-errors is relevant and should be attached. * NEWS, * apport/ui.py: [1984] ui.py, open_url(): Greatly simply and robustify by just using xdg-open. This already does the right thing wrt. reading the default browser from GNOME, KDE, XCE, and other desktops. (LP: #198449) * NEWS, * apport/hookutils.py: [1983] hookutils.py: Add two new functions attach_gsettings_package() and attach_gsettings_schema() for adding user-modified gsettings keys to a report. (LP: #836489) * NEWS, * apport/hookutils.py: [1982] hookutils.py: Replace attach_gconf() with a no-op stub. It used static python modules like "gconf" which broke the PyGI GTK user interface, and gconf is rather obsolete these days. * apport/ui.py: [1981] ui.py: Disable "not a genuine distro package" check if APPORT_DISABLE_DISTRO_CHECK is set; keep as an undocumented feature 2011-10-08 Launchpad Translations on behalf of apport-hackers * po/ace.po, * po/af.po, * po/an.po, * po/br.po, * po/ca@valencia.po, * po/gd.po, * po/hy.po, * po/kk.po, * po/km.po, * po/sc.po, * po/te.po, * po/zh_HK.po: Added. * po/am.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/bs.po, * po/ca.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_TW.po: Modified. [1980] Launchpad automatic translations update. 2011-10-07 Martin Pitt * NEWS, * test/crash: [1979] test/crash: Fix race condition in the "second instance terminates immediately" check. * NEWS, * bin/crash-digger: [1978] crash-digger: Call apport-retrace with --timestamps, to get consistent timestamps in log output. * NEWS, * bin/apport-retrace: [1977] apport-retrace: Add --timestamp option to prepend a timestamp to log messages. This is useful for batch operations. 2011-10-07 Martin Pitt * po/apport.pot: Added. * .bzrignore: Modified. [1976] add po/apport.pot, for LP imports 2011-10-07 Martin Pitt * po/am.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/bs.po, * po/ca.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_TW.po: [1975] merge translations 2011-10-05 Martin Pitt * NEWS, * apport/hookutils.py: [1974] hookutils, recent_logfile(): Fix invalid return value if log file is not readable. (LP: #819357) * NEWS, * backends/packaging-apt-dpkg.py: [1973] backends/packaging-apt- dpkg.py: Fix crash when /etc/apport/native-origins.d contains any files. (LP: #865199) * NEWS, * bin/apport-retrace: [1972] apport-retrace: Don't crash, just give a proper error message if servers are unreachable, or configuration files are broken. (LP: #859248) * NEWS, * apport/packaging.py, * backends/packaging-apt-dpkg.py: [1971] packaging.py, backends /packaging-apt-dpkg.py: Define that install_packages() should return a SystemError for broken configs/unreachable servers etc., and fix the apt/dpkg implementation accordingly. * NEWS, * backends/packaging-apt-dpkg.py: [1970] backends/packaging-apt- dpkg.py, install_packages(): Install apt keyrings from config dir or from system into sandbox. (LP: #856216) * NEWS: [1969] clarify NEWS 2011-10-04 Martin Pitt * NEWS, * backends/packaging-apt-dpkg.py: [1968] backends/packaging-apt- dpkg.py: Also copy apt/sources.list.d/ into sandbox. === 1.23.1 === 2011-09-29 Martin Pitt * NEWS, * apport/ui.py: [1967] release 1.23.1 * NEWS: [1966] fix typo in NEWS * NEWS, * apport/report.py: [1965] apport/report.py: Unwind XError() from stack traces for the "StacktraceTop" field, as they take a significant part of the trace. This causes bugs to be duplicated which really have different causes. 2011-09-20 Martin Pitt * NEWS, * bin/apport-retrace: [1964] apport-retrace: Drop assertion failure for existance of "Stacktrace". This isn't present in the case of gdb crashing, and there is not much we can do about it. This should not break the retracer. 2011-09-19 Martin Pitt * NEWS, * bin/apport-retrace: [1963] apport-retraceDo not leave behind temporary directories on errors. * NEWS, * bin/apport-retrace: [1962] apport-retrace: Pass correct executable path to gdb in --gdb with --sandbox mode. * NEWS, * apport/crashdb.py: [1961] apport/crashdb.py: Ensure that duplicate table only has one entry per report ID. === 1.23 === 2011-09-14 Martin Pitt * NEWS, * apport/ui.py: [1960] release 1.23 * NEWS, * apport/report.py: [1959] apport/report.py, standard_title(): Escape regular expression control characters in custom exception names. (LP: #762998) * NEWS, * apport/ui.py: [1958] apport/ui.py, load_report(): Intercept another case of broken report files. (LP: #445142) * NEWS, * apport/fileutils.py: [1957] fileutils.py, get_new_reports(): Fix crash if report file disappears in the middle of the operation. (LP: #640216) * NEWS, * bin/apport-retrace: [1956] apport-retrace: Give proper error mesage instead of AssertionError crash if a report does not contain standard Apport format data. (LP: #843221) * NEWS, * bin/apport-retrace: [1955] apport-retrace: If the user did not specify a --cache directory, create a shared one instead of letting the two install_packages() calls create their own. This ensures that the apt and dpkg status is up to date, and avoids downloading the package indexes multiple times. (LP: #847951) * apport/packaging.py, * backends/packaging-apt-dpkg.py: [1954] fix documentation of packaging.install_packages() 2011-09-13 Martin Pitt * apport/crashdb.py, * apport/crashdb_impl/memory.py, * bin/dupdb-admin: [1953] crashdb.py: Remove redundant duplicate_db_remove_id() * NEWS, * apport/crashdb.py, * apport/crashdb_impl/memory.py, * bin/crash-digger, * bin/dupdb-admin, * man/dupdb-admin.1: [1952] crashdb.py, crash-digger, dupdb-admin: Drop the concept of "duplicate DB consolidation". Such massive queries cause timeouts with e. g. Launchpad. Instead, update the status of potential master bugs in the crash DB whenever check_duplicate() is called. 2011-09-12 Martin Pitt * NEWS, * apport/crashdb_impl/launchpad.py: [1951] launchpad.py: Fix test_marking_python_task_mangle() check to work with current Launchpad. * NEWS, * problem_report.py: [1950] problem_report.py, load(): Fix missing last character if the last line in a multi-line field is not terminated with a newline. * NEWS, * apport/crashdb_impl/launchpad.py: [1949] launchpad.py: Fix crash in close_duplicate() if master bug was already marked as a duplicate of the examined bug. === 1.22.1 === 2011-09-06 Martin Pitt * NEWS, * apport/ui.py: [1948] release 1.22.1 * NEWS, * gtk/apport-gtk: [1947] apport-gtk: Update markup_escape_text() call to current glib. (LP: #829635) 2011-09-05 Martin Pitt * NEWS, * gtk/apport-gtk.ui: [1946] Set the default "Apport" title for choice dialogs instead of the default apport-gtk title. Thanks Robert Roth. (LP: #608222) * NEWS, * apport/crashdb_impl/launchpad.py: [1945] launchpad.py: Fix crash if a crash report does not have a DistroRelease. 2011-09-01 Martin Pitt * NEWS, * apport/crashdb.py, * apport/crashdb_impl/memory.py, * bin/dupdb-admin: [1944] dupdb-admin: Add "removeid" command. * NEWS, * bin/dupdb-admin: [1943] dupdb-admin: Fix UnicodeEncodeError crash. * NEWS, * bin/dupdb-admin: [1942] dupdb-admin: Use the in-memory CrashDB implementation for simple operations like dump or changeid, which do not require an actual backend. This makes the command work in checkouts without a /etc/apport/crashdb.conf. === 1.22 === 2011-08-25 Martin Pitt * NEWS, * apport/ui.py: [1941] release 1.22 * bin/apport-retrace: [1940] apport-retrace: fix variable name * bin/apport-retrace: [1939] bin/apport-retrace: fix syntax * po/am.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/bs.po, * po/ca.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_TW.po: [1938] merge po files * bin/apport-retrace: [1937] bin/apport-retrace: Clean up opt parsing * apport/ui.py: [1936] fix whitespace error * NEWS, * bin/crash-digger: [1935] crash-digger: Show how many bugs are left in the pool with each new retrace. * bin/apport-retrace: [1934] apport-retrace: Re-check if we really have ExecutablePath/InterpreterPath after installing packages * apport/packaging.py, * backends/packaging-apt-dpkg.py, * bin/apport-retrace, * man/apport-retrace.1: [1933] apport-retrace: "-s system" uses the system configuration files * backends/packaging-apt-dpkg.py: [1932] packaging-apt-dpkg.py: Properly handle FetchFailedException * NEWS, * bin/apport-retrace: [1931] crash-digger: Intercept OverflowError from downloaded compressed attachments. 2011-08-24 Martin Pitt * po/am.po, * po/ar.po, * po/ast.po, * po/be.po, * po/bg.po, * po/bn.po, * po/bs.po, * po/ca.po, * po/cs.po, * po/cv.po, * po/da.po, * po/de.po, * po/el.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fa.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gl.po, * po/gu.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/kab.po, * po/kn.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ml.po, * po/ms.po, * po/nb.po, * po/nds.po, * po/ne.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/si.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sr.po, * po/sv.po, * po/ta.po, * po/th.po, * po/tr.po, * po/ug.po, * po/uk.po, * po/vi.po, * po/zh_CN.po, * po/zh_TW.po: [1930] merge translations, update German translations a bit * apport/ui.py: [1929] apport/ui.py: Fix typo 2011-08-24 Martin Pitt * apport/chroot.py: Removed. * NEWS, * apport/packaging.py, * apport/report.py, * backends/packaging-apt-dpkg.py, * bin/apport-retrace, * bin/crash-digger, * doc/data-format.tex, * man/apport-retrace.1, * test/crash-digger, * test/run: Modified. [1928] Completely rework apport-retrace to use gdb's "debug-file- directory" and "solib-absolute-prefix" settings and only unpack the necessary packages in a temporary directory. This makes it possible to use it in a running system without actually touching installed packages, does not need any root privileges, and stops the requirement of using chroots with fakechroot and fakeroot. This is a lot easier to maintain and use, and a lot faster, too. As a consequence, drop the chroot module, and update crash-digger accordingly. See "man apport- retrace" for the new usage. It is now also easier to port to other packaging backends, as a lot of the common logic moved out of the packaging API; packaging.install_retracing_packages() got dropped in favor of the simpler packaging.install_packages(). 2011-08-23 Martin Pitt * apport/crashdb_impl/launchpad.py: [1927] launchpad.py: less verbose connection failure errors * apport/crashdb_impl/launchpad.py: [1926] launchpad.py: followup fix: also cover id_set() call in transient timeout check * NEWS, * apport/crashdb_impl/launchpad.py: [1925] launchpad.py: When searchTasks() times out, exit with 99 as this is a transient error. 2011-08-17 Martin Pitt * NEWS, * gtk/apport-gtk: [1924] apport-gtk: Fix crash in GLib.markup_escape_text() call, regression from 1.21.3. (LP: #828010) === 1.21.3 === 2011-08-17 Martin Pitt * NEWS, * apport/ui.py: [1923] release 1.21.3 * NEWS: [1922] fix version number 2011-08-11 Martin Pitt * NEWS, * gtk/apport-gtk: [1921] apport-gtk: Fix GLib and GObject imports to be compatible with the future pygobject 3.0. 2011-07-21 Martin Pitt * NEWS, * apport/hookutils.py: [1920] hookutils.py, attach_alsa(): Get a list of outputs/inputs that PulseAudio knows about, which also shows the currently selected output/input, as well as volumes. This should help with "no sound" bug troubleshooting. Thanks Luke Yelavich. * NEWS, * gtk/apport-gtk: [1919] apport-gtk: Correctly pass message dialog type. * NEWS, * apport/hookutils.py: [1918] hookutils.py: Don't attach empty values. Thanks Bryce Harrington. (LP: #813798) 2011-07-18 Martin Pitt * apport/hookutils.py: [1917] apport/hookutils.py: properly detect as non-root when auditd is being used, use egrep as we're using an extended regex. 2011-07-15 Martin Pitt * NEWS, * apport/chroot.py, * apport/packaging.py, * backends/packaging-apt-dpkg.py: [1916] Add apport.packaging.get_library_paths() interface and implement it for backends/packaging-apt-dpkg.py using dpkg multiarch directories. Use it in chroot.py. 2011-07-14 Martin Pitt * NEWS, * apport/hookutils.py: [1915] hookutils.py: Add attach_mac_events() for reporting logs of MAC systems. Looks for AppArmor messages for now. Thanks Marc Deslauriers! 2011-07-05 Martin Pitt * NEWS, * bin/apport-unpack: [1914] apport-unpack: Fix crash on file errors. 2011-07-01 Martin Pitt * NEWS, * gtk/apport-gtk.desktop.in: [1913] gtk/apport-gtk.desktop.in: Also show in Unity. (LP: #803519) === 1.21.2 === 2011-07-01 Martin Pitt * NEWS, * apport/ui.py: [1912] release 1.21.2 2011-06-30 Martin Pitt * NEWS, * apport/hookutils.py: [1911] hookutils.py, attach_wifi(): Also include wpasupplicant logs. Thanks Mathieu Trudel-Lapierre! 2011-06-29 Martin Pitt * NEWS, * apport/report.py: [1910] report.py: Fix bug patterns to correctly match against compressed report fields. 2011-06-27 Martin Pitt * NEWS, * data/general-hooks/generic.py: [1909] generic hook: Don't report package installation failures due to segfaulting maintainer scripts. We want the actual crash report only. Thanks Brian Murray. 2011-06-22 Martin Pitt * NEWS, * backends/packaging-apt-dpkg.py: [1908] backends/packaging-apt- dpkg.py: Fix crash introduced in 1.21.1's multiarch fixes. 2011-06-20 Martin Pitt * NEWS, * test/run: [1907] test/run: Check $PYTHON for using a different Python interpreter (such as "python3") for the tests. === 1.21.1 === 2011-06-20 Martin Pitt * NEWS, * apport/ui.py: [1906] release 1.21.1 * NEWS, * test/run: [1905] test/run: Fix the test suite to run against the system installed libraries with current Python versions (2.6, 2.7) where __file__ does not work any more with imports. * NEWS, * backends/packaging-apt-dpkg.py: [1904] backends/packaging-apt- dpkg.py: Fix for current dpkg with multiarch support. * NEWS, * apport/ui.py: [1903] When showing the size of the full report, take the compressed size of binary values instead of their uncompressed size, as the crash db upload will use the compressed values. * NEWS, * apport/hookutils.py: [1902] hookutils.py, attach_file() and attach_file_if_exists(): Add a new "overwrite" flag option. If not given, now default to overwriting an existing key, as this is usually what you need when attaching files (instead of attaching it several times with '_' appended to the keys). You can get the old behaviour by setting overwrite=False. 2011-06-12 Martin Pitt * NEWS, * data/general-hooks/generic.py: [1901] data/general-hooks/generic.py: Also check for low space on /var. Thanks Brian Murray. 2011-06-08 Martin Pitt * apport_python_hook.py: [1900] Add comment explaining why apport_python_hook.py doesn't use apport.packaging.enabled() and instead implements it itself === 1.21 === 2011-06-08 Martin Pitt * NEWS, * apport/ui.py: [1899] release 1.21 * NEWS: [1898] bump version to 1.21, new features 2011-06-08 Martin Pitt * data/is-enabled: Added. * NEWS: Modified. [1897] Add data/is-enabled: Shell script to check if apport is enabled. Non-Python programs (which can't use apport.packaging.enabled() ) can call this instead of having to parse /etc/default/apport themselves, and just check the exit code. Inspired by original patch from Michael Vogt, thanks! 2011-06-08 Martin Pitt * NEWS, * data/apport-checkreports: [1896] apport-checkreports: Exit with status 2 if there are new reports, but apport is disabled. This helps crash notification GUIs to not display new crash reports in that case. Thanks to Michael Vogt for the original patch. 2011-05-31 Martin Pitt * NEWS, * apport/hookutils.py: [1895] Supply --desktop option to kdesudo to improve the description which program is requesting administrative privileges. 2011-05-27 Martin Pitt * apport/report.py: [1894] add "recognize interpreter" test case for versioned Python interpreter 2011-04-20 Martin Pitt * NEWS, * apport/ui.py: [1893] Use kde-open instead of kfmclient to open URLs under KDE. Thanks Philip Mu?kovac. (LP: #765808) 2011-04-19 Martin Pitt * NEWS, * man/apport-cli.1: [1892] man/apport-cli.1: Document recently added -w/--window option. Thanks Abhinav Upadhyay! (LP: #765600) 2011-04-18 Martin Pitt * NEWS, * data/dump_acpi_tables.py: [1891] dump_acpi_tables.py: Check to see if acpi/tables dir is mounted first. Thanks Brian Murray. (LP: #729622) 2011-04-12 Martin Pitt * NEWS, * gtk/apport-gtk: [1890] apport-gtk: HTML-escape text for dialogs with URLs. (LP: #750870) === 1.20.1 === 2011-03-31 Martin Pitt * NEWS, * apport/ui.py: [1889] release 1.20.1 2011-03-29 Martin Pitt * NEWS, * apport/ui.py: [1888] ui.py: Properly raise exceptions from the upload thread that happen at its very end. (LP: #469943) * NEWS, * data/unkillable_shutdown: [1887] unkillable_shutdown: Fix crash if the checked process terminated underneath us. (LP: #540436) * NEWS, * data/kernel_crashdump: [1886] kernel_crashdump: Fix crash if the vmcore file disappeared underneath us. (LP: #450295) * NEWS, * data/unkillable_shutdown: [1885] unkillable_shutdown: Fix rare crash if ExecutablePath does not exist (any more). (LP: #537904) * NEWS, * gtk/apport-gtk: [1884] Fix crash if application from desktop name is a non-ASCII string. (LP: #737799) 2011-03-24 Martin Pitt * NEWS, * apport/ui.py: [1883] Fix crash if UnreportableReason is a non-ASCII string. (LP: #738632) 2011-03-21 Martin Pitt * NEWS, * bin/apport-unpack: [1882] apport-unpack: Fix crash if target directory already exists. * NEWS, * etc/bash_completion.d/apport_completion: [1881] Add bash completion support for new -w/--window option that was introduced in 1.20. Thanks Philip Mu?kovac. === 1.20 === 2011-03-17 Martin Pitt * NEWS, * apport/ui.py: [1880] release 1.20 * NEWS, * gtk/apport-gtk: [1879] apport-gtk: Don't crash if GTK cannot be initialized. This usually happens without a $DISPLAY or when the session is being shut down. Just print an error message. If there are pending crashes, they will be shown again the next time a session starts. (LP: #730569) * NEWS, * gtk/apport-gtk: [1878] apport-gtk: Fix broken dialog heading if the name of the crashed program contains an & or other markup specific characters. * NEWS: [1877] add LP ref for re-enabling SIGABRT crashes * NEWS, * apport/crashdb.py, * apport/crashdb_impl/launchpad.py, * apport/crashdb_impl/memory.py, * doc/package-hooks.txt: [1876] Add support for a "DuplicateSignature" report fields. This allows package hooks to implement custom duplicate problem handling which doesn't need to be hardcoded in Apport itself. Update the launchpad backend to tag such bugs as "need-duplicate- check". * NEWS, * apport/ui.py: [1875] Disable the filtering on SIGABRT without assertion messages. Turns out that developers want these crash reports after all. * apport/ui.py: [1874] check that crash reports get a Stacktrace even for SIGABRT without assertion message * apport/ui.py: [1873] ui.py: Fix whitespace * NEWS, * apport/ui.py: [1872] Add support for -w/--window option which will enable user to select a window as a target for filing a problem report. Thanks Abhinav Upadhyay for the patch! (LP: #357847) * NEWS, * backends/packaging-apt-dpkg.py: [1871] backends/packaging-apt- dpkg.py: Replace deprecated getChanges() call with get_changes(). 2011-03-13 Martin Pitt * NEWS, * apport/hookutils.py: [1870] hookutils.py, attach_hardware(): Avoid error message if machine does not have a PCI bus. Thanks Marcin Juszkiewicz! (LP: #608449) 2011-03-10 Martin Pitt * NEWS, * apport/hookutils.py: [1869] hookutils.py Update WifiSyslog regex to correctly catch application log messages in syslog. Thanks Mathieu Trudel-Lapierre. (LP: #732917) 2011-03-09 Martin Pitt * NEWS: [1868] fix typo in NEWS * NEWS, * apport/crashdb.py: [1867] If a custom crash database does not specify a bug_pattern_url, fall back to using the default database's. (LP: ##731526) * NEWS, * apport/crashdb.py, * apport/crashdb_impl/memory.py, * test/crash-digger: [1866] Fix crash if crash database configuration does not specify a bug_pattern_url. Just assume None. (LP: #731526) 2011-03-08 Martin Pitt * NEWS, * bin/apport-retrace: [1865] apport-retrace: Intercept SystemErrors from ill-formed gzip attachments as well. 2011-03-03 Martin Pitt * NEWS: [1864] fix NEWS 2011-03-02 Martin Pitt * NEWS, * apport/report.py: [1863] report.py, add_hooks_info(): Properly report TypeErrors from hooks. === 1.19 === 2011-02-28 Martin Pitt * NEWS, * apport/ui.py: [1862] release 1.19 * NEWS, * apport/crashdb_impl/launchpad.py, * apport/crashdb_impl/memory.py, * apport/hookutils.py, * apport/report.py, * apport/ui.py, * apport_python_hook.py, * problem_report.py, * test/crash-digger, * test/hooks, * test/java: [1861] Convert deprecated failIf()/assert_() TestCase method calls to assertFalse()/assertTrue(). * NEWS, * apport/crashdb.py, * apport/crashdb_impl/memory.py, * apport/report.py, * apport/ui.py, * doc/crashdb-conf.txt, * etc/apport/crashdb.conf, * test/crash-digger: [1860] Change bug patterns to just use one central file instead of per-package files. This allows bug patterns to be written which are not package specific, and is easier to maintain as well. IMPORTANT: This changed the format of crashdb.conf: bug_pattern_base is now obsolete, and the new attribute bug_pattern_url now points to the full URL/path of the patterns file. Thanks to Matt Zimmerman! * NEWS, * apport/crashdb_impl/launchpad.py: [1859] launchpad.py: Fix retracer crash if DistroRelease field does not exist. 2011-02-24 Matt Zimmerman * test/hooks: [1858] Convert gcc_ice_hook test to use assertEqual so that it's obvious when it's failing because hardening-wrapper is installed * apport/chroot.py: [1857] Add os.umask(022) to apport/chroot.py tests, because the test output assumes it * NEWS, * apport/hookutils.py: [1856] - In hookutils.attach_dmesg, skip over an initial truncated message if one is present (this happens when the ring buffer overflows) This also prevents the test suite from failing in this case * NEWS, * apport/ui.py: [1855] Merge ~mdz/apport/504340-kernel-threads 2011-02-24 Martin Pitt * NEWS, * backends/packaging-apt-dpkg.py: [1854] apt backend: Only add -dbg in --no-pkg mode, as there will be conflicts in normal package mode. 2011-02-24 Matt Zimmerman * apport/hookutils.py: [1853] In apport.hookutils.package_versions, when matching a glob, sort the resulting list of package names so the output is easier to scan * apport/hookutils.py: [1852] In hookutils.package_versions, return the list as a nicely formatted table 2011-02-22 Martin Pitt * backends/packaging-apt-dpkg.py: [1851] one more tar -C fix * backends/packaging-apt-dpkg.py: [1850] packaging-apt-dpkg.py: Fix -dbg vs. -dbgsym harder * NEWS, * backends/packaging-apt-dpkg.py: [1849] apt backend: Call tar with target cwd instead of using -C; the latter causes an extra openat() call which breaks with current fakechroot. * NEWS, * backends/packaging-apt-dpkg.py: [1848] apt backend: Do not generate a warning if the opportunistically added -dbg package does not exist. 2011-02-20 Martin Pitt * NEWS, * apport/report.py: [1847] Fix crash_signature() to fail if there is an empty or too short StacktraceTop. * NEWS, * apport/report.py: [1846] Update stack unwind patterns for current glib (slightly changed function names), and also ignore a preceding '*'. (LP: #716251) === 1.18 === 2011-02-16 Martin Pitt * NEWS, * apport/ui.py: [1845] release 1.18 * NEWS: [1844] we have new features, bump version * NEWS, * etc/default/apport: [1843] etc/default/apport: Remove obsolete "maxsize" setting. (LP: #719564) * NEWS, * apport/hookutils.py: [1842] hookutils.py: Add attach_root_command_outputs() to run several commands at once. This avoids asking for the password several times. (LP: #716595) 2011-02-15 Martin Pitt * NEWS, * etc/bash_completion.d/apport_completion: [1841] Update bash completion. Thanks Philip Mu?kovac. 2011-02-09 Martin Pitt * NEWS, * setup.py: [1840] Remove explicit handling of KDE *.ui files in setup.py, as python-distutils-extra 2.24 fixes this. Bump version check. 2011-02-07 Martin Pitt * NEWS, * apport/ui.py: [1839] Do not show symptom scripts which start with an underscore. These can be used for private libraries for the actual symptom scripts. * NEWS, * apport/ui.py: [1838] Ensure that symptom scripts define a run() function, and don't show them if not. === 1.17.2 === 2011-02-04 Martin Pitt * NEWS, * apport/ui.py: [1837] release 1.17.2 * NEWS, * apport/ui.py: [1836] Add --tag option to add extra tags to reports. (LP: #572504) * apport/ui.py: [1835] apport/ui.py, parse_argv(): Remove default arguments for option creation * apport/ui.py: [1834] fix r1831: --save is actually allowed with apport-bug * apport/ui.py: [1833] apport/ui.py: Reorganize parse_argv() test cases * NEWS, * apport/crashdb_impl/launchpad.py: [1832] launchpad.py: Adapt test cases to current standard_title() behaviour. 2011-02-03 Martin Pitt * NEWS, * apport/ui.py: [1831] ui.py: Do not show all the options in --help when invoked as *-bug. (LP: #665953) * NEWS, * backends/packaging-apt-dpkg.py: [1830] apt/dpkg backend: Drop support for pre-0.7.9 python-apt API. * problem_report.py: [1829] problem_report.py: More Python 3 friendliness * apport/REThread.py, * apport/chroot.py, * apport/crashdb_impl/launchpad.py, * apport/crashdb_impl/memory.py, * apport/fileutils.py, * apport/hookutils.py, * apport/report.py, * apport/ui.py, * apport_python_hook.py, * backends/packaging-apt-dpkg.py, * backends/packaging_rpm.py, * problem_report.py: [1828] replace obsolete TestCase.assert_() with TestCase.assertTrue() * apport/__init__.py, * apport/crashdb.py, * apport/crashdb_impl/launchpad.py, * apport/fileutils.py, * apport/packaging.py, * apport/report.py, * apport/ui.py, * apport_python_hook.py, * backends/packaging-apt-dpkg.py, * bin/apport-cli, * bin/apport-retrace, * bin/apport-unpack, * bin/crash-digger, * bin/dupdb-admin, * data/apport, * data/gcc_ice_hook, * data/general-hooks/parse_segv.py, * data/kernel_crashdump, * data/package_hook, * data/unkillable_shutdown, * gtk/apport-gtk, * kde/apport-kde, * problem_report.py, * setup.py, * test/hooks, * test/java: [1827] Python 3 compatible "print" (not everything yet) * apport/fileutils.py, * apport/report.py, * apport/ui.py, * apport_python_hook.py, * problem_report.py: [1826] Python 3 compatible number literals * NEWS, * apport/REThread.py, * apport/crashdb.py, * apport/crashdb_impl/launchpad.py, * apport/crashdb_impl/memory.py, * apport/crashdb_impl/multipartpost_handler.py, * apport/fileutils.py, * apport/hookutils.py, * apport/packaging.py, * apport/report.py, * apport/ui.py, * backends/packaging-apt-dpkg.py, * backends/packaging_rpm.py, * data/general-hooks/parse_segv.py, * problem_report.py: [1825] Python 3 compatible exception handling 2011-01-31 Martin Pitt * NEWS: [1824] fix NEWS formatting * NEWS, * apport/hookutils.py: [1823] hookutils.py: Be more robust against file permission errors. (LP: #444678) 2011-01-11 Martin Pitt * NEWS, * apport/hookutils.py: [1822] hookutils.py, attach_dmesg(): Do not overwrite already existing dmesg. === 1.17.1 === 2011-01-11 Martin Pitt * NEWS, * apport/ui.py: [1821] release 1.17.1 2011-01-10 Martin Pitt * gtk/apport-gtk: [1820] remove some GTK 2 quirks which are now working with current GTK 2011-01-09 Martin Pitt * NEWS, * gtk/apport-gtk: [1819] Make the GTK frontend work with GTK 2.0 as well, and drop "3.0" requirement. 2011-01-05 Martin Pitt * gtk/apport-gtk: [1818] apport-gtk: Some fixes to work better with GTK2. Still breaks on radio button grouping === 1.17 === 2010-12-31 Martin Pitt * NEWS, * apport/ui.py: [1817] release 1.17 * NEWS, * apport/crashdb_impl/launchpad.py: [1816] launchpad.py: When updating a bug, also add new tags. Thanks Brian Murray! * NEWS: [1815] add NEWS entry for Matt's commit 2010-12-28 Matt Zimmerman * apport/hookutils.py: [1814] Make hookutils.package_versions a bit more readable * apport/hookutils.py: [1813] Always include all requested package names in hookutils.package_versions(), even if they're unknown to us (LP: #695188) 2010-12-14 Martin Pitt * NEWS, * apport/ui.py: [1812] ui.py, format_filesize(): Fix to work with stricter locale.format() in Python 2.7. (LP: #688535). While we are at it, also change it to use base-10 units. 2010-12-08 Martin Pitt * setup.py: [1811] setup.py: Update comment about KDE ui files 2010-12-08 Martin Pitt * java/TODO: Removed. * setup.py: Modified. [1810] setup.py: properly clean up Java builds 2010-12-08 Martin Pitt * data/java_uncaught_exception, * java, * java/README, * java/TODO, * java/com, * java/com/ubuntu, * java/com/ubuntu/apport, * java/com/ubuntu/apport/ApportUncaughtExceptionHandler.java, * java/crash.java, * test/java: Added. * NEWS, * setup.py, * test/run: Modified. [1809] Add handler for uncaught Java exceptions. There is no integration for automatically intercepting all Java crashes yet, see java/README. Thanks Matt Zimmerman! (LP: #548877) 2010-11-29 Martin Pitt * NEWS, * apport/hookutils.py: [1808] hookutils.py, attach_alsa(): Fix crash if /proc/asound/cards does not exist. (LP: #626215) 2010-11-26 Martin Pitt * NEWS, * apport/crashdb_impl/launchpad.py: [1807] launchpad.py: Default to "production" instance, not "edge", since edge is obsolete now. 2010-11-25 Martin Pitt * NEWS, * apport/report.py: [1806] Better standard bug titles for Python crashes. Thanks Matt Zimmerman! (LP: #681574) 2010-11-22 Martin Pitt * NEWS, * gtk/apport-gtk: [1805] GTK frontend: Require GTK 3.0. === 1.16 === 2010-11-19 Martin Pitt * NEWS, * apport/ui.py: [1804] release 1.16 * NEWS, * apport/crashdb_impl/memory.py: [1803] Fix memory test case to work with current Python versions, where the SQLite integrity check throws a different exception. * NEWS, * apport/ui.py: [1802] Fix symptoms again. Version 1.15 broke the default symptom directory. * NEWS, * gtk/apport-gtk, * gtk/apport-gtk.ui: [1801] Port GTK frontend from pygtk2 to GTK+3.0 and gobject-introspection. === 1.15 === 2010-11-11 Martin Pitt * NEWS, * apport/ui.py: [1800] release 1.15 * NEWS, * backends/packaging-apt-dpkg.py: [1799] apt backend: Opportunistically try to install a -dbg package in addition to -dbgsym, to increase the chance that at least one of it exists. Thanks Daniel J Blueman! 2010-11-02 Martin Pitt * NEWS, * apport/crashdb_impl/launchpad.py: [1798] launchpad.py: Fix APPORT_LAUNCHPAD_INSTANCE values with a https:// prefix. 2010-10-29 Martin Pitt * NEWS, * etc/apport/crashdb.conf: [1797] Remove escalation_subscription from Ubuntu bug DB definition, turned out to not be useful; thanks Brian Murray. 2010-10-18 Martin Pitt * NEWS, * apport/ui.py: [1796] Check $APPORT_SYMPTOMS_DIR environment variable for overriding the system default path. Thanks to Javier Collado. * NEWS, * apport/ui.py: [1795] Order symptom descriptions alphabetically. Thanks to Javier Collado. 2010-10-10 Martin Pitt * NEWS, * apport/ui.py: [1794] Fix --save option to recognise ~, thanks Philip Mu?kovac. (LP: #657278) 2010-10-09 Kees Cook * NEWS: [1793] add note to NEWS about attach_file() key anti-collision routine * apport/hookutils.py: [1792] avoid clobbering existing keys when adding files 2010-10-08 Kees Cook * NEWS, * apport/hookutils.py: [1791] apport/hookutils.py: rename ProcCmdLine to ProcKernelCmdLine to not wipe wipe out /proc/$pid/cmdline information. (LP: #657091) 2010-09-30 Martin Pitt * NEWS, * doc/symptoms.txt: [1790] doc/symptoms.txt: Fix typo, thanks Philip Muskovac. (LP: #590521) 2010-09-14 Martin Pitt * NEWS, * backends/packaging-apt-dpkg.py: [1789] backends/packaging-apt- dpkg.py: Fix crash on empty lines in ProcMaps attachment. 2010-09-13 Martin Pitt * NEWS, * apport/crashdb_impl/launchpad.py: [1788] launchpad.py: Use launchpadlib to file a bug instead of screen scraping. The latter was completely broken with current Launchpad, so this makes the test suite actually work again. Thanks to Diogo Matsubara! - launchpad.py: Change $APPORT_STAGING to $APPORT_LAUNCHPAD_INSTANCE, so that you can now specify "staging", "edge", or "dev" (for a local http://launchpad.dev installation). Thanks to Diogo Matsubara! 2010-09-12 Martin Pitt * NEWS, * kde/apport-kde: [1787] apport-kde: Load correct translation catalogue. Thanks Jonathan Riddell. (LP: #633483) * NEWS, * backends/packaging-apt-dpkg.py: [1786] packaging-apt-dpkg.py: Fix handling of /etc/apport/native-origins.d to actually work. Thanks Steve Langasek. (LP: #627777) 2010-07-13 Martin Pitt * data/dump_acpi_tables.py: Added. * NEWS: Modified. [1785] Add dump_acpi_tables.py script. This can be called by package hooks which need ACPI table information (in particular, kernel bug reports). Thanks to Brad Figg for the script! 2010-07-09 Martin Pitt * NEWS, * apport/ui.py: [1784] ui.py test suite: Rewrite _gen_test_crash() to have the test process core dump itself, instead of using gdb to do it. The latter fails in ptrace restricted environments, such as Ubuntu 10.10. 2010-06-28 Martin Pitt * NEWS, * apport/crashdb_impl/memory.py: [1783] testsuite: Check that crashdb.conf can have dynamic code to determine DB names and options. === 1.14.1 === 2010-06-24 Martin Pitt * NEWS, * apport/ui.py: [1782] release 1.14.1 * NEWS, * etc/bash_completion.d/apport_completion: [1781] bash completion: Complete all path names, apport-bug can be invoked with a path to a program. Thanks Philip Muskovac. 2010-06-23 Martin Pitt * NEWS, * apport/hookutils.py: [1780] hookutils.py, attach_drm_info(): Sanitize connector names. Thanks Chris Halse Rogers! (LP: #597558) === 1.14 === 2010-06-16 Martin Pitt * NEWS, * apport/ui.py: [1779] release 1.14 * NEWS: [1778] format NEWS, bump to 1.14 due to new feature * NEWS, * apport/hookutils.py: [1777] hookutils.py: Add new method attach_drm_info() to read and format /sys/class/drm/*. * NEWS, * apport/hookutils.py: [1776] hookutils.py, attach_gconf(): Fix defaults parsing for boolean keys. (LP: #583109) * NEWS, * apport/crashdb_impl/launchpad.py: [1775] launchpad.py: Fix crash on attachments which are named *.gz, but uncompressed. (LP: #574360) 2010-06-11 Martin Pitt * NEWS, * backends/packaging-apt-dpkg.py: [1774] packaging-apt-dpkg.py: Fix deprecated python-apt variables, thanks David Stansby. (LP: #591695) 2010-06-01 Martin Pitt * apport/report.py: [1773] report.py: Fix another crash on retracing kernel crashes * bin/apport-retrace: [1772] apport-retrace: Fix crash on kernel retraces harder === 1.13.4 === 2010-05-04 Martin Pitt * NEWS, * apport/ui.py: [1771] release 1.13.4 * NEWS, * data/general-hooks/generic.py: [1770] generic hook: Check ProcMaps for unpackaged libraries, and ask the user if he really wants to continue. If he does, tag the report as "local-libs" and add a "LocalLibraries" field to the report with a list of them. (LP: #545227) 2010-05-03 Martin Pitt * NEWS, * man/apport-bug.1: [1769] apport-bug manpage: Clarify when apport- collect may be used. Thanks Brian Murray! (LP: #537273) 2010-04-28 Martin Pitt * NEWS, * bin/apport-retrace: [1768] apport-retrace: Fix crash for retracing kernel vmcores, which do not have an ExecutablePath. 2010-04-26 Martin Pitt * NEWS, * apport/ui.py: [1767] ui.py: When displaying strings from system exceptions, decode them into an unicode string, to avoid crashing the KDE UI. (LP: #567253) * NEWS, * apport/hookutils.py: [1766] hookutils.py, command_output(): Do not set $LC_MESSAGES for the calling process/hook, just for the command to be called. * NEWS: [1765] NEWS: beautify formatting * NEWS, * apport/ui.py: [1764] Save/restore environment when calling hooks, in case they change the locale, etc. (LP: #564422) 2010-04-22 Kees Cook * NEWS, * data/general-hooks/parse_segv.py: [1763] report stack exhaustion more clearly, correctly handle register dereferencing calls. 2010-04-15 Martin Pitt * NEWS, * etc/bash_completion.d/apport_completion: [1762] bash completion: Fix error message if /usr/share/apport/symptoms does not exist. Thanks Philip Mu?kovac! (LP: #562118) === 1.13.3 === 2010-04-14 Martin Pitt * NEWS, * apport/ui.py: [1761] release 1.13.3 * NEWS, * apport/ui.py: [1760] ui.py: When running as root, only show system crash reports, to avoid restarting user programs as root. (LP: #445017) 2010-04-06 Kees Cook * NEWS, * data/general-hooks/parse_segv.py: [1759] data/general- hooks/parse_segv.py: suggest segv-in-kernel possibility. === 1.13.2 === 2010-03-31 Martin Pitt * NEWS, * apport/ui.py: [1758] release 1.13.2 * NEWS, * apport/ui.py: [1757] apport/ui.py: Fix the help output if Apport is invoked under an alternative name (like apport-collect). (LP: #539427) * NEWS, * apport/hookutils.py: [1756] hookutils.py: Factor out the DMI collection code from attach_hardware() into attach_dmi(), and call that in attach_alsa() as well. Thanks to Brad Figg for the patch! (LP: #552091) * NEWS, * data/apport: [1755] data/apport: Fix IOError when apport is called with invalid number of arguments, and stderr is not a valid fd. (LP: #467363) * NEWS, * data/kernel_crashdump: [1754] data/kernel_crashdump: Fix crash if log file disappeared underneath us. (LP: #510327) * NEWS, * apport/ui.py: [1753] ui.py: Fix crash when /etc/apport/crashdb.conf is damaged; print an appropriate error message instead. (LP: #528327) * NEWS, * apport/ui.py: [1752] ui.py: Fix crash when package information cannot be determined due to broken apt status. (LP: #362743) * NEWS, * bin/apport-retrace: [1751] apport-retrace: Fix crash when trying to rebuild package info for reports without an ExecutablePath. (LP: #436157) * NEWS: [1750] add missing launchpad ref * NEWS, * gtk/apport-gtk: [1749] apport-gtk: Turn http:// and https:// links into clickable hyperlinks in information and error dialogs. (LP: #516323) * NEWS, * apport/crashdb_impl/launchpad.py: [1748] launchpad.py: Some LP bugs have broken attachments (this is a bug in Launchpad itself). Ignore those instead of crashing. * NEWS, * gtk/apport-gtk-mime.desktop.in, * kde/apport-kde-mime.desktop.in: [1747] gtk/apport-gtk- mime.desktop.in, kde/apport-kde-mime.desktop.in: Change categories so that these do not ever appear in menu editors. (LP: #449215) 2010-03-30 Martin Pitt * NEWS, * apport/crashdb_impl/launchpad.py: [1746] launchpad.py: Port to launchpadlib 1.0 API, thanks Michael Bienia for the initial patch! (LP: #545009) * apport/crashdb_impl/launchpad.py: [1745] launchpad.py: fix _fill_bug_form_project() for current Launchpad as well * NEWS, * apport/crashdb_impl/launchpad.py: [1744] launchpad.py: Fix crash if configuration does not have an "escalated_tag" option. * NEWS, * apport/crashdb_impl/launchpad.py: [1743] launchpad.py test suite: Add "Referer" HTTP header, now required by launchpad. 2010-03-26 Martin Pitt * NEWS, * backends/packaging-apt-dpkg.py: [1742] packaging-apt-dpkg.py, _install_debug_kernel(): Do not crash on an outdated kernel, just return that it is outdated. * apport/crashdb_impl/launchpad.py: [1741] launchpad.py: Fix reassignment to right source package, and update bug filing for current staging (broken right now, though) 2010-03-23 Martin Pitt * data/unkillable_shutdown: [1740] unkillable_shutdown: Add executable name to title * problem_report.py: [1739] problem_report.py: Fix documentation of write() 2010-03-22 Martin Pitt * NEWS, * apport/crashdb_impl/launchpad.py, * problem_report.py: [1738] - problem_report.py, write_mime(): Add new optional argument "priority_fields" for ordering report keys. Patch by Brian Murray, thanks! - launchpad.py: Put some interesting fields first in the report, with the new priority_fields argument. Patch by Brian Murray, thanks! === 1.13.1 === 2010-03-20 Martin Pitt * NEWS, * apport/ui.py: [1737] release 1.13.1 2010-03-18 Martin Pitt * NEWS, * bin/apport-cli, * gtk/apport-gtk, * kde/apport-kde: [1736] Sort the report by key in the details view. (LP: #519416) * NEWS, * backends/packaging-apt-dpkg.py: [1735] packaging-apt-dpkg.py: Silence apt.Cache() spewage to stdout with newer python-apt versions. (LP: #531518) * NEWS, * bin/apport-cli: [1734] apport-cli: Create the details string only if user wants to view details, and do not show files larger than 1MB. Thanks Scott Moser! (LP: #486122) * NEWS, * apport/ui.py: [1733] Fix regression from 1.10 which made it impossible for a package hook to set a third-party crash database for non-native packages. (LP: #517272) * NEWS, * apport/crashdb_impl/launchpad.py: [1732] launchpad.py, download(): Ignore attachments with invalid key names. * NEWS, * apport/crashdb_impl/launchpad.py: [1731] launchpad.py: Add yet another workaround for LP#336866. (LP: #516381) 2010-03-15 Martin Pitt * NEWS, * apport/ui.py: [1730] UI: Add back -p option to apport-collect /apport-update-bug (regression from 1.13). (LP: #538944) * NEWS, * apport/ui.py: [1729] UI: Add exception string to the "network error" dialog, to better tell what the problem is. 2010-03-13 Martin Pitt * apport/crashdb_impl/launchpad.py: [1728] fix crash in previous commit * apport/crashdb_impl/launchpad.py: [1727] launchpad.py: Preserve the bug title written to the description by apport as OriginalTitle for pattern matching. Thanks to Brian Murray! (LP: #511310) * data/unkillable_shutdown: [1726] unkillable_shutdown: Add initctl list to report. (LP: #537262) 2010-03-12 Martin Pitt * NEWS, * data/unkillable_shutdown: [1725] unkillable_shutdown: Add list of running processes and blacklisted pids to report. (LP: #537262) 2010-03-11 Kees Cook * NEWS, * apport/report.py, * data/general-hooks/parse_segv.py, * test/run: [1724] Update parse-segv to handle gdb 7.1 output, add further tests 2010-03-11 Martin Pitt * NEWS, * apport/report.py: [1723] Fix test suite to work with gdb 7.1 as well. === 1.13 === 2010-03-10 Martin Pitt * NEWS, * apport/ui.py: [1722] release 1.13 * NEWS: [1721] bump version for new feature 2010-03-10 Martin Pitt * data/unkillable_shutdown: Added. * NEWS: Modified. [1720] add unkillable_shutdown script 2010-03-07 Martin Pitt * NEWS, * apport/ui.py: [1719] Fix option processing when being invoked as apport-bug. Thanks to Daniel Hahler for the patch! (LP: #532944) 2010-03-06 Kees Cook * NEWS: [1718] update NEWS to include recent fixes 2010-03-05 Kees Cook * apport/crashdb_impl/launchpad.py, * etc/apport/crashdb.conf: [1717] Fix escalation tagging, thanks to Brian Murray 2010-03-05 Martin Pitt * NEWS, * apport/ui.py: [1716] Fix --help output for bug updating mode (invocation as apport-collect or apport-update-bug) 2010-03-04 Kees Cook * data/general-hooks/parse_segv.py: [1715] Notice when we walk off the stack for "call" too (LP: #531672) 2010-03-02 Martin Pitt * NEWS, * apport_python_hook.py: [1714] apport_python_hook.py: Directly check /etc/default/apport instead of querying packaging.enabled(), to avoid importing lots of modules for non-packaged scripts. Thanks Stuart Colville! (LP: #528355) === 1.12.1 === 2010-02-22 Martin Pitt * NEWS, * apport/ui.py: [1713] release 1.12.1 2010-02-18 Kees Cook * AUTHORS, * apport/report.py: [1712] whitelist proc files that will not contain hostname or username. having "me" get replaced with "username" in cpuinfo is mind-blowing. 2010-02-09 Martin Pitt * NEWS, * apport/hookutils.py: [1711] hookutils, package_versions(): Ignore "None" packages, for more robust package hooks. (LP: #518295) 2010-02-04 Martin Pitt * test/crash: [1710] test/crash: update to work on current kernels/Ubuntu * NEWS, * apport_python_hook.py, * data/apport, * data/apportcheckresume: [1709] Review and clean up usage of chmod(). This fixes a small race condition in the Python exception hook where a local attacker could read the information from another user's crash report. (LP: #516029) * NEWS, * data/general-hooks/generic.py: [1708] general-hooks/generic.py: Fix crash on libGL check with empty StacktraceTop. 2010-01-29 Martin Pitt * TODO: [1707] drop implemented TODO item * NEWS, * apport/ui.py: [1706] Improve error message if a symptom script did not determine a package name. (LP: #503834) 2010-01-22 Martin Pitt * NEWS, * apport/crashdb_impl/launchpad.py: [1705] launchpad.py: Do not keep escalating bugs, just escalate at the 10th duplicate. === 1.12 === 2010-01-20 Martin Pitt * NEWS, * apport/ui.py: [1704] release 1.12 * apport/crashdb_impl/launchpad.py: [1703] launchpad.net: Update workaround bug LP # * NEWS, * apport/crashdb_impl/launchpad.py: [1702] launchpad.py, get_fixed_version(): Do not consider a bug as invalid just because it has any invalid distro package task. * NEWS, * apport/crashdb_impl/launchpad.py: [1701] launchpad.py: Fix marking of 'checked for duplicate' for bugs with upstream tasks. 2010-01-19 Martin Pitt * etc/bash_completion.d/apport_completion: [1700] improve bash completion script, thanks Phillip. 2010-01-14 Martin Pitt * NEWS, * test/crash: [1699] test/crash: Update expected core dump flags for changed rlimit behaviour in Linux 2.6.32 2010-01-14 Martin Pitt * etc/bash_completion.d, * etc/bash_completion.d/apport_completion: Added. * NEWS: Modified. [1698] Add bash completion script. Thanks to Philip Mu?kovac. (LP: #218933) 2010-01-14 Martin Pitt * NEWS, * data/general-hooks/generic.py: [1697] general-hooks/generic.py: Filter out crashes on missing GLX (LP: #327673) * NEWS, * apport/crashdb_impl/launchpad.py: [1696] launchpad.py: Do not put the Tags: field into the bug description, since they are already proper tags. In download(), convert the real tags back to the Tags: field. (LP: #505671) 2010-01-12 Martin Pitt * apport/crashdb_impl/launchpad.py: [1695] launchpad.py: Fix error message 2010-01-11 Martin Pitt * apport/crashdb_impl/launchpad.py: [1694] launchpad.py: Fix test suite output * NEWS, * etc/apport/crashdb.conf: [1693] crashdb.conf: For Ubuntu, escalate bugs with >= 10 duplicates to "ubuntu-bugcontrol" and tag them with "bugpattern-needed". (LP: #487900) * NEWS, * apport/crashdb_impl/launchpad.py: [1692] launchpad.py: Add options 'escalation_subscription' and 'escalation_tag' for handling bugs with more than 10 duplicates. 2009-12-28 Martin Pitt * NEWS, * apport/crashdb_impl/launchpad.py: [1691] launchpad.py, download(): switch to whitelist again to avoid unknown files * apport/crashdb_impl/launchpad.py: [1690] launchpad.py, upload(): Clean up tag/privacy handling * NEWS, * apport/crashdb_impl/launchpad.py: [1689] launchpad.py: Drop APPORT_FILES whitelist for download() and instead just filter out some files which are not likely to be used in bug patterns (*.png and *.jpg so far). (LP: #444975) * apport/crashdb_impl/launchpad.py: [1688] launchpad.py: Fix testsuite regression from r1680 === 1.11 === 2009-12-23 Martin Pitt * NEWS, * apport/ui.py: [1687] release 1.11 * NEWS: [1686] reorder NEWS for 1.11 release * NEWS, * apport/ui.py: [1685] When reporting a bug from a saved .apport file, let the user review/confirm the content before sending. * NEWS, * apport/ui.py, * man/apport-bug.1, * man/apport-cli.1: [1684] Add "--save" UI option to store the collected information into an .apport file instead of sending it right away. The file can then later be sent through apport-bug. Update manpages accordingly. * NEWS, * apport/ui.py: [1683] Testsuite: Verify that report details are/are not shown. This uncovered that details about package installation failures were not shown before sending them, which is fixed now. * NEWS, * test/hooks: [1682] test/hooks: Do not try to add hook information to kernel_crashdump test case, since we do not have an UI here. This test case broke when the system had an interactive package hook for the kernel. * test/hooks: [1681] test-hooks: Use different test package which is less prone to versioning renaming than db4.7 * NEWS, * apport/REThread.py, * apport/chroot.py, * apport/crashdb_impl/launchpad.py, * apport/crashdb_impl/memory.py, * apport/fileutils.py, * apport/hookutils.py, * apport/report.py, * apport_python_hook.py, * backends/packaging-apt-dpkg.py, * backends/packaging_rpm.py, * data/general-hooks/parse_segv.py, * problem_report.py, * test/crash-digger, * test/hooks: [1680] Rename all TestCase classes to "_T", which makes it much easier to run individual tests from the command line. * NEWS, * apport/REThread.py, * apport/chroot.py, * apport/crashdb.py, * apport/crashdb_impl/launchpad.py, * apport/crashdb_impl/memory.py, * apport/fileutils.py, * apport/hookutils.py, * apport/packaging.py, * apport/report.py, * apport/ui.py, * apport_python_hook.py, * backends/packaging-apt-dpkg.py, * backends/packaging_rpm.py, * bin/apport-bug, * bin/apport-cli, * bin/apport-retrace, * bin/crash-digger, * bin/dupdb-admin, * data/apport, * data/apportcheckresume, * data/general-hooks/generic.py, * data/general-hooks/parse_segv.py, * data/package-hooks/source_apport.py, * data/package_hook, * gtk/apport-gtk, * kde/apport-kde, * problem_report.py, * test/crash, * test/crash-digger, * test/hooks, * test/run: [1679] Update all copyright and description headers and consistently format them. === 1.10.1 === 2009-12-22 Martin Pitt * NEWS, * apport/ui.py: [1678] release 1.10.1 * apport/ui.py, * bin/apport-bug: [1677] apport-bug: Pass $0 through an environment variable, sys.argv[0] does not get set even if using "exec -a" * bin/apport-bug: [1676] bin/apport-bug: Remove leftover unused variable 2009-12-22 Martin Pitt * po/am.po, * po/ast.po, * po/bn.po, * po/cv.po, * po/en_AU.po, * po/en_CA.po, * po/en_GB.po, * po/fa.po, * po/gu.po, * po/kab.po, * po/kn.po, * po/ml.po, * po/ne.po, * po/si.po, * po/sr.po, * po/ug.po, * po/vi.po: Added. * NEWS, * po/ar.po, * po/be.po, * po/bg.po, * po/bs.po, * po/ca.po, * po/cs.po, * po/da.po, * po/de.po, * po/el.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gl.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ms.po, * po/nb.po, * po/nds.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sv.po, * po/ta.po, * po/th.po, * po/tr.po, * po/uk.po, * po/zh_CN.po, * po/zh_TW.po: Modified. [1675] Update translations from Launchpad 2009-12-22 Martin Pitt * bin/apport-collect: Added. * NEWS: Modified. [1674] Install apport-collect symlink 2009-12-22 Martin Pitt * NEWS, * apport/ui.py, * bin/apport-bug: [1673] Move all remaining option/argument parsing from apport-bug into ui.py. This allows the user to add options to apport-bug/apport-collect, and also avoids unwieldy dissection of options/arguments in shell. === 1.10 === 2009-12-19 Martin Pitt * NEWS, * apport/ui.py: [1672] release 1.10 * NEWS, * use-local: [1671] use-local: Fix for new source tree location of "apport" binary. * NEWS, * backends/packaging-apt-dpkg.py: [1670] packaging-apt-dpkg.py, install_retracing_packages(): Do not crash on malformed Dependencies.txt lines. (LP: #441709) * apport/crashdb_impl/launchpad.py: [1669] launchpad.py, can_update(): Dramatically speed up subscription check * NEWS, * apport/crashdb_impl/launchpad.py: [1668] launchpad.py: Do not mark non-Ubuntu bugs as needs-retrace, since there is no retracer right now. (LP: #489794) * NEWS, * apport/crashdb_impl/launchpad.py: [1667] launchpad.py, can_update(): Check if subscribed * apport/ui.py, * bin/apport-cli, * gtk/apport-gtk, * kde/apport-kde: [1666] ui_present_report_details(): Change string when updating a bug * apport/crashdb_impl/launchpad.py: [1665] launchpad.py, update(): Add apport-collect for full update 2009-12-18 Martin Pitt * NEWS, * bin/apport-bug, * man/apport-bug.1: [1664] apport-bug: If invoked as "apport-collect" or "apport-update-bug" (i. e. through a symlink), run apport in update mode (-u ). This provides a convenient no-options command line program. Please note that setup.py does not currently install such a symlink. Update the apport-bug manpage accordingly. * NEWS, * apport/ui.py, * man/apport-cli.1: [1663] Add a mode for updating an existing problem report to ui.py (-u/--update). This is similar to the Ubuntu specific "apport-collect" tool, but implemented the right way now: In particular, this has access to the UI and thus can use interactive hooks (LP: #385811) and show you what is being sent for confirmation/cancelling (LP: #371827) * apport/crashdb_impl/launchpad.py: [1662] launchpad.py: Clean up exceptions * apport/crashdb.py, * apport/crashdb_impl/launchpad.py, * apport/crashdb_impl/memory.py: [1661] simplify update_traces() implementation by using update() with key filter * apport/crashdb.py, * apport/crashdb_impl/launchpad.py, * apport/crashdb_impl/memory.py: [1660] add key filtering to to CrashDatabase.update() * NEWS, * data/apport: [1659] Ignore SIGXCPU and SIGXFSZ; thanks to Kees Cook. (LP: #498074) 2009-12-17 Martin Pitt * NEWS, * apport/crashdb.py, * apport/crashdb_impl/launchpad.py, * apport/crashdb_impl/memory.py: [1658] Add CrashDatabase.update() for adding all new fields of a report This is primarily useful for collecting local standard and package hook data for an already existing bug report which was not filed through Apport. * NEWS, * apport/crashdb.py, * apport/crashdb_impl/launchpad.py, * apport/crashdb_impl/memory.py, * bin/apport-retrace: [1657] Rename CrashDatabase.update() to update_traces() * NEWS, * apport/crashdb.py, * apport/crashdb_impl/launchpad.py, * apport/crashdb_impl/memory.py: [1656] New CrashDatabase API: is_reporter() * NEWS, * apport/crashdb.py, * apport/crashdb_impl/launchpad.py, * apport/crashdb_impl/memory.py: [1655] New CrashDatabase API: can_update() * NEWS, * apport/crashdb.py, * apport/crashdb_impl/launchpad.py, * apport/crashdb_impl/memory.py: [1654] New CrashDatabase API: get_affected_packages() 2009-12-10 Matt Zimmerman * NEWS, * apport/hookutils.py, * data/general-hooks/generic.py: [1653] - New hookutils functions: xsession_errors (match lines from ~/.xsession-errors) shared_libraries (determine which libraries a binary links with) links_with_shared_library (test if a binary links with a particular library) 2009-12-07 Martin Pitt * NEWS, * apport/crashdb_impl/launchpad.py: [1652] launchpad.py: Use new login_with() to clean up code, and specify allowed access levels (WRITE_PRIVATE is the only sensible one anyway). (LP: #410205) === 1.9.6 === 2009-12-01 Martin Pitt * NEWS, * apport/ui.py: [1651] release 1.9.6 2009-11-27 Martin Pitt * NEWS, * man/apport-retrace.1: [1650] man/apport-retrace.1: Document -R option. * NEWS, * data/general-hooks/generic.py: [1649] general-hooks/generic.py: Check if using ecryptfs, and which directory. (LP: #444656) * NEWS, * apport/crashdb_impl/launchpad.py, * problem_report.py: [1648] launchpad.py: Ensure that text attachments on initial bug filing are valid UTF-8. (LP: #453203) 2009-11-24 Martin Pitt * pm-utils, * pm-utils/sleep.d, * pm-utils/sleep.d/000record-status: Added. * NEWS, * setup.py: Modified. [1647] Add pm-utils hook to record current operation, so that apportcheckresume can check it. === 1.9.5 === 2009-11-20 Martin Pitt * NEWS, * apport/ui.py: [1646] release 1.9.5 * do-release: [1645] do-release: remove tarball signing, in lp- project-upload now 2009-11-17 Martin Pitt * NEWS, * po/de.po: [1644] Update German translations and fix "konnre" typo. (LP: #484119) 2009-11-15 Martin Pitt * NEWS, * gtk/apport-gtk: [1643] apport-gtk: Connect signals properly, to repair cancel/window close buttons. (LP: #427814) 2009-11-13 Martin Pitt * NEWS, * apport/ui.py: [1642] Fix crash if InterpreterPath does not exist any more at the time of reporting. (LP: #428289) 2009-11-11 Martin Pitt * NEWS, * apport/hookutils.py: [1641] hookutils.py, attach_alsa(): Attach /proc/cpuinfo too, for CPU flags. 2009-11-09 Martin Pitt * NEWS, * bin/apport-retrace: [1640] apport-retrace: Fix crash if InterpreterPath/ExecutablePath do not exist. === 1.9.4 === 2009-11-06 Martin Pitt * NEWS, * apport/ui.py: [1639] release 1.9.4 * apport/ui.py: [1638] ui.py: Fix test case for arbitrary symptom ordering * apport/report.py: [1637] report.py: Update test for r1629 * NEWS, * data/general-hooks/generic.py: [1636] general-hooks/generic.py: Only collect ~/.xsession-errors bits when we have an ExecutablePath linked to libgtk 2009-11-04 Martin Pitt * NEWS, * apport/hookutils.py: [1635] hookutils.py, attach_alsa(): Attach /proc/asound/version. (LP: #467233) 2009-10-29 Martin Pitt * NEWS, * kde/apport-kde: [1634] apport-kde: Properly terminate program after closing the last dialog. (LP: #458662) 2009-10-27 Martin Pitt * NEWS, * gtk/apport-gtk.ui: [1633] apport-gtk: Give details window a minimize/maximize button, which were missing in some window managers. (LP: #447749) * NEWS, * apport/crashdb_impl/launchpad.py: [1632] launchpad.py: If unset, set bug task source package also for interpreter crashes. 2009-10-26 Martin Pitt * NEWS, * apport/hookutils.py: [1631] hookutils.py, attach_wifi(): Anonymize encryption key. (LP: #446299) * NEWS, * apport/hookutils.py: [1630] hookutils.py, attach_hardware(): Anonymize disk labels. (LP: #394411) 2009-10-20 Martin Pitt * NEWS, * apport/report.py: [1629] Fix crash when ExecutablePath isn't part of a package. (LP: #424965) * apport/crashdb_impl/launchpad.py: [1628] launchpad.py: LP#342355 got fixed, remove workaround 2009-10-16 Martin Pitt * bin/apport-retrace: [1627] apport-retrace: Improve error message for missing report required fields. === 1.9.3 === 2009-10-14 Martin Pitt * NEWS, * apport/ui.py: [1626] release 1.9.3 * NEWS: [1625] update NEWS 2009-10-13 Kees Cook * NEWS, * apport/hookutils.py: [1624] hookutils.py: fix error codes from "comm", thanks to Brian Murray. 2009-10-13 Martin Pitt * gtk/apport-gtk.ui: [1623] apport-gtk: Make Cancel/Send buttons focusable. Thanks to Marco Rodrigues! (LP: #447780) 2009-10-12 Martin Pitt * NEWS, * apport/crashdb_impl/launchpad.py, * apport/ui.py: [1622] drop APPORT_REPORT_THIRDPARTY/thirdparty hack * apport/crashdb_impl/launchpad.py, * doc/crashdb-conf.txt: [1621] improve documentation of crash database options * apport/crashdb_impl/launchpad.py: [1620] launchpad.py: Assert that we have exactly one of "distro" or "project" option 2009-10-08 Martin Pitt * data/general-hooks/generic.py: [1619] general-hooks/generic.py: Catch xkbcomp error messages, too. (LP: #431807) 2009-10-05 Martin Pitt * bin/apport-bug: [1618] apport-bug: Consider -h as "output help", too. (Marco Rodrigues) === 1.9.2 === 2009-10-02 Martin Pitt * NEWS, * apport/ui.py: [1617] release 1.9.2 2009-09-29 Martin Pitt * NEWS, * apport/crashdb_impl/launchpad.py: [1616] launchpad.py: Fix crash on invalid credentials file. Thanks to Marco Rodrigues for the initial patch! (LP: #414055) * NEWS, * apport/ui.py: [1615] Fix "apport-bug symptomname" to actually work. * NEWS, * bin/apport-cli: [1614] apport-cli: Fix crash with non-ASCII characters in prompts. * NEWS, * apport/crashdb_impl/launchpad.py: [1613] launchpad.py: Link hardware data submission key if it exists. (LP: #424382) * NEWS, * data/general-hooks/generic.py: [1612] general-hooks/generic.py: Collect important glib errors/assertions from ~/.xsession-errors. (LP: #431807) 2009-09-28 Martin Pitt * man/apport-bug.1: [1611] man/apport-bug.1: Document APPORT_IGNORE_OBSOLETE_PACKAGES 2009-09-23 Martin Pitt * NEWS, * bin/apport-cli: [1610] apport-cli: Print the URL and ask whether to open a browser. (LP: #286415) * apport/crashdb_impl/launchpad.py: [1609] launchpad.py: Consistently respect $APPORT_STAGING. (LP: #435112) * kde/bugreport.ui: [1608] kde/bugreport.ui: Select "complete report" option by default, to actually be able to file bugs if the options are not shown. Thanks to Yuriy Kozlov! (LP: #405378) === 1.9.1 === 2009-09-22 Martin Pitt * NEWS, * apport/ui.py: [1607] release 1.9.1 * NEWS: [1606] NEWS update * apport/hookutils.py: [1605] hookutils.py, attach_gconf(): Fix crash with nonexisting tags. * NEWS: [1604] update NEWS * apport/hookutils.py: [1603] hookutils.py, attach_gconf(): Do not overwrite previous values from other packages, thanks Lo?c Minier! 2009-09-17 Kees Cook * data/general-hooks/parse_segv.py: [1602] data/general- hooks/parse_segv.py: allow "*" to start a register argument 2009-09-16 Kees Cook * NEWS, * data/general-hooks/parse_segv.py: [1601] data/general- hooks/parse_segv.py: Handle in/out ioport faults. 2009-09-16 Kees Cook * NEWS, * data/general-hooks/parse_segv.py: [1600] data/general- hooks/parse_segv.py: Handle empty base, scale, or index registers in disassembly. 2009-09-15 Martin Pitt * setup.py: [1599] setup.py: Fix DistUtilsExtra version check. (LP: #428337) 2009-09-14 Martin Pitt * backends/packaging-apt-dpkg.py: [1598] backends/packaging-apt- dpkg.py: More robust of missing ExecutablePath due to outdated packages * bin/apport-retrace, * bin/dupdb-admin, * man/apport-retrace.1: [1597] Remove word "online" from help error messages. Thanks to Marco Rodrigues! 2009-09-13 Kees Cook * data/general-hooks/parse_segv.py: [1596] add test for 64bit modulo branch too 2009-09-12 Kees Cook * NEWS, * data/general-hooks/parse_segv.py: [1595] parse_segv.py: handle arithmetic wrapping correctly, process -h argument 2009-09-10 Kees Cook * apport/report.py: [1594] apport/report.py: test that gdb output on stderr is recorded * apport/report.py: [1593] apport/report.py: add test for internal glibc errors * NEWS: [1592] update NEWS (I had been looking for "Changes"...) * apport/report.py: [1591] apport/report.py: - do not throw away leading text, this is redundant with the pop(0). - keep stderr, gdb reports in-line text for command output (for example, "Cannot read memory address 0x.....") and without this, the -99 separator does not make it to its own line, messing up output ordering. 2009-09-09 Martin Pitt * apport/ui.py: [1590] apport/ui.py: Show a better message when failed connection to crash database. Thanks to Marco Rodrigues! (LP: #178507) * NEWS, * apport/hookutils.py: [1589] hookutils.py, attach_hardware(): Do not attach empty Pccardctl*. === 1.9 === 2009-09-08 Martin Pitt * NEWS, * apport/ui.py: [1588] release 1.9 * backends/packaging-apt-dpkg.py: [1587] backends/packaging-apt- dpkg.py: Robustify get_{source,architecture} for uninstalled packages * test/hooks: [1586] test/hooks: update basedir for local tests, scripts moved from bin/ to data/ * po/ar.po, * po/be.po, * po/bg.po, * po/bs.po, * po/ca.po, * po/cs.po, * po/da.po, * po/de.po, * po/el.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gl.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ms.po, * po/nb.po, * po/nds.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sv.po, * po/ta.po, * po/th.po, * po/tr.po, * po/uk.po, * po/zh_CN.po, * po/zh_TW.po: [1585] merge PO files, update German translations * NEWS, * apport/__init__.py, * apport/ui.py, * bin/apport-cli, * bin/apport-retrace, * bin/apport-unpack, * data/apportcheckresume, * data/kernel_oops, * gtk/apport-gtk, * kde/apport-kde: [1584] Update usage of gettext to work around Python bug of gettext() not returning unicodes, but str. Fixes UnicodeDecodeErrors on translated --help output. * apport/ui.py, * bin/apport-cli, * bin/apport-retrace, * bin/apport-unpack: [1583] Add missing gettext wrapping for user- visible strings in apport-{retrace,unpack} and ui.py; thanks to Marco Rodrigues! 2009-09-08 Martin Pitt * bin/apport-bug, * man/apport-bug.1: Added. * NEWS: Modified. [1582] Add program "apport-bug" to auto-select a GUI and file a bug through it. Based on the "ubuntu-bug" script. 2009-09-08 Martin Pitt * setup.py: [1581] setup.py: Update home page URL to Launchpad 2009-09-08 Martin Pitt * NEWS: Modified. * bin/apport: Renamed to data/apport. * bin/apport-checkreports: Renamed to data/apport-checkreports. * bin/apportcheckresume: Renamed to data/apportcheckresume. * bin/gcc_ice_hook: Renamed to data/gcc_ice_hook. * bin/kernel_crashdump: Renamed to data/kernel_crashdump. * bin/kernel_oops: Renamed to data/kernel_oops. * bin/package_hook: Renamed to data/package_hook. [1580] setup.py: Install internal helper scripts to $prefix/share/apport instead of $prefix/bin 2009-09-08 Martin Pitt * NEWS, * setup.py: [1579] move apport-{gtk,kde} to /usr/share/apport/, they are not supposed to be called directly 2009-09-08 Martin Pitt * cli: Removed. * setup.py: Modified. * cli/apport-cli: Renamed to bin/apport-cli. [1578] move apport-cli to bin/ 2009-09-08 Martin Pitt * NEWS: [1577] update NEWS for recent changes * man/apport-cli.1: [1576] man/apport-cli.1: Update to current state of the art * apport/ui.py: [1575] apport/ui.py: Add "do what I mean" mode to parse_argv(). When giving a single argument and no options, determine the most likely mode. This puts the magic of the Ubuntu package's "ubuntu-bug" script into the proper place, and also adds test cases for it. 2009-09-06 Martin Pitt * apport/ui.py: [1574] ui.py: Propagate exceptions from the upload thread, to catch NeedsCredentials and other exceptions. Thanks to Caio Rom?o! * apport/ui.py, * do-release, * setup.py: [1573] ui.py: Add --version option. Thanks Marco Rodrigues! (LP: #383694) === 1.8.2 === 2009-09-05 Martin Pitt * NEWS, * setup.py: [1572] release 1.8.2 * NEWS: [1571] update NEWS for release * apport/crashdb.py, * apport/crashdb_impl/memory.py: [1570] crashdb.py: Fix handling of non-ASCII crash signatures * backends/packaging-apt-dpkg.py: [1569] packaging-apt-dpkg.py: Run ExecutablePath/InterpreterPath check later, so that it does not always have to be done 2009-09-04 Martin Pitt * apport/crashdb.py, * apport/crashdb_impl/memory.py: [1568] crashdb.py: Never mark a bug as a duplicate of itself. * apport/crashdb_impl/launchpad.py: [1567] launchpad.py: Add explanation to close_duplicate() assertion * apport/crashdb_impl/launchpad.py: [1566] launchpad.py, close_duplicate(): Add duplicate assertion * doc/crashdb-conf.txt, * etc/apport/crashdb.conf: [1565] Update Ubuntu bug pattern URL * apport/crashdb_impl/launchpad.py: [1564] launchpad.py: Add "cache_dir" option and $APPORT_LAUNCHPAD_CACHE environment variable to specify a non-temporary cache directory. (LP: #416804) * backends/packaging-apt-dpkg.py: [1563] packaging-apt-dpkg.py, get_architecture(): Only use installed architecture if package is actually installed * apport/crashdb_impl/launchpad.py: [1562] launchpad.py: Drop explicit temporary cache dir, launchpadlib does that automatically now. Thanks to Marco Rodriguez! === 1.8.1 === 2009-09-03 Martin Pitt * NEWS, * setup.py: [1561] release 1.8.1 * apport/ui.py: [1560] apport/ui.py: Remove debugging leftover * apport/fileutils.py: [1559] fileutils.py, likely_packaged(): Partially revert r1554, only ignore /var/lib; we need /var/crash for the test suite * NEWS: [1558] update NEWS for 1.8.1 * data/general-hooks/generic.py: [1557] data/general-hooks/generic.py: Check $HOME, not /home for enough space. (LP: #422658) * apport/crashdb_impl/launchpad.py: [1556] launchpad.py: Intercept httplib2.ServerNotFoundError as well, to avoid crashes when being offline. (LP: #396276) * cli/apport-cli: [1555] apport-cli: Save reports with .apport extension instead of .txt. Thanks to Steve Beattie! (LP: #401983) * apport/fileutils.py: [1554] fileutils.py, likely_packaged(): Ignored crashes in /var, packages don't ship executables there, and it creates false positives. (LP: #414368) * backends/packaging-apt-dpkg.py: [1553] packaging-apt-dpkg.py, get_modified_files(): Fix crash with empty lines. (LP: #408280) * backends/packaging-apt-dpkg.py: [1552] packaging-apt-dpkg.py: Use installed version instead of candidate version where appropriate. This also fixes a crash where an obsolete package is not available any more. (LP: #423511) * apport/hookutils.py: [1551] hookutils.py, attach_gconf(): Fix crash with keys which do not have a schema default. (LP: #422277) * apport/crashdb_impl/launchpad.py: [1550] launchpad.py: Remove LP #353805 workaround, seems fixed now * apport/crashdb_impl/launchpad.py: [1549] launchpad.py: Talk to staging if $APPORT_STAGING is set * apport/crashdb_impl/launchpad.py: [1548] launchpad.py: Explicitly supply content_type for addAttachment, current wadllib requires it now. 2009-09-02 Martin Pitt * apport_python_hook.py: [1547] apport_python_hook.py: Paper over inexplicable import error. (LP: #348250) * apport_python_hook.py: [1546] apport_python_hook.py: Protect against nonexisting sys.argv. (LP: #418051) * apport/ui.py: [1545] apport/ui.py, load_report(): Check that report has ProblemType field. (LP: #198543) * apport/ui.py: [1544] ui.py: Fix handling of complete vs. reduced report size. (LP: #92653). This also fixes a race condition crash with os.path.getsize(). (LP: #348137) * po/fi.po: [1543] fi.po: Fix mistranslation of &Cancel. (LP: #355303) * gtk/apport-gtk, * kde/apport-kde: [1542] apport-{gtk,kde}: Check for having $DISPLAY at startup to avoid crashes. (LP: #411276) * apport/report.py: [1541] report.py, add_gdb_info(): Fix race condition in unlink_core, thanks to Tommi Komulainen! (LP: #397945) * apport/ui.py: [1540] ui.py, load_report(): Robustify check whether program is still installed. (LP: #329184) 2009-08-31 Martin Pitt * backends/packaging-apt-dpkg.py, * bin/apport-retrace: [1539] packaging-apt-dpkg.py, install_retracing_packages(): Install package for ExecutablePath/InterpreterPath if missing; this can happen with package hooks which reassing package 2009-08-28 Kees Cook * apport/report.py: [1538] flip glibc variable to upstream __abort_msg, filter hex addresses from assertion dup checker 2009-08-27 Martin Pitt * apport/crashdb_impl/launchpad.py: [1537] launchpad.py: Add a comment when marking a bug as a duplicate. === 1.8 === 2009-08-26 Martin Pitt * NEWS, * setup.py: [1536] release 1.8 * NEWS: [1535] update NEWS * apport/ui.py: [1534] ui.py: Drop test_run_crash_assert(), current implementation cannot work * apport/report.py: [1533] report.py, crash_signature(): Handle assertion failures * apport/report.py: [1532] report.py, standard_title(): Handle assertion failures * NEWS, * apport/report.py, * apport/ui.py, * bin/apport: [1531] Do not generally ignore SIGABRT any more. Try to extract the assertion message from the core dump, and add it as "AssertionMessage" field. Mark reports as unreportable if they do not have an assertion message and crashed with SIGABRT. This requires your glibc to have this patch: http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=48dcd0ba This implements an Ubuntu blueprint: https://blueprints.launchpad.net/ubuntu/+spec/security-karmic-apport- abort * test/crash: [1530] test/crash: remove some dead code * test/crash: [1529] test/crash: robustify waiting for test process to execv() 2009-08-25 James Westby * apport/fileutils.py: [1528] Allow uid to be a string. * bin/kernel_oops: [1527] kerneloops will now pass a checksum as the first argument. Use that as part of the path if given so that duplicate reports aren't presented to the user. 2009-08-24 Martin Pitt * apport/hookutils.py: [1526] hookutils.py, attach_wifi(): Include modem-manager syslog messages in WifiSyslog * apport/hookutils.py: [1525] hookutils.py, attach_hardware(): Add command_available method, and use it to add prtconf and pccardctl output if those commands are available. 2009-08-21 Kees Cook * apport/crashdb_impl/launchpad.py: [1524] mark kernel crash reports as private, thanks to Matt Zimmerman (LP: #417059) 2009-08-08 Martin Pitt * apport/hookutils.py: [1523] hookutils.py: Add attach_wifi() * kde/apport-kde: [1522] apport-kde: PEP-8 compatible docstrings * kde/apport-kde: [1521] apport-kde: Fix quotes 2009-08-08 Martin Pitt * kde/userpass.ui: Added. * kde/apport-kde: Modified. [1520] merge Caio's KDE implementation of ui_question_userpass() 2009-08-06 Martin Pitt * apport/report.py: [1519] report.py, add_hooks_info(): Add optional package/srcpackage argument === 1.7 === 2009-08-05 Martin Pitt * NEWS, * setup.py: [1518] release 1.7 2009-08-05 Martin Pitt * doc/symptoms.txt: Added. [1517] add symptom documentation 2009-08-05 Martin Pitt * apport/crashdb_impl/launchpad.py: [1516] launchpad.py: Fix project bug filing in test suite to work with current launchpad * apport/crashdb_impl/launchpad.py: [1515] launchpad.py: Fix bug filing in test suite to work with current launchpad * NEWS, * apport/ui.py: [1514] add support for symptoms 2009-08-04 Martin Pitt * gtk/apport-gtk: [1513] apport-gtk: Fix ordering of choices 2009-07-22 Martin Pitt * apport/REThread.py, * apport/chroot.py, * apport/crashdb.py, * apport/fileutils.py, * apport/hookutils.py, * apport/report.py, * apport/ui.py, * problem_report.py: [1512] PEP-8 compatible docstrings * backends/packaging-apt-dpkg.py: [1511] backends/packaging-apt- dpkg.py: robustify against glibc vs. eglibc * apport/crashdb.py, * apport/ui.py: [1510] merge Caio's credentials API branch * bin/package_hook: [1509] bin/package_hook: Fix crash for subdirectories in log dir. (LP: #332350) * test/hooks: [1508] test/hooks: Check package_hook behavior for subdirectories in log dir. Reproduces LP #332350 2009-07-19 Martin Pitt * doc/package-hooks.txt: [1507] doc/package-hooks.txt: Document allowed chars in report keys 2009-07-16 Martin Pitt * apport/ui.py: [1506] ui.py: Show precise error message for damaged reports === 1.6 === 2009-07-15 Martin Pitt * NEWS, * setup.py: [1505] release 1.6 * apport/ui.py: [1504] apport/ui.py, run_crash(): Do not re-collect information if we already have a Dependencies field. This happens when calling apport on an already pre-processed .crash file with -c. (LP: #394497) * apport/hookutils.py: [1503] apport/hookutils.py, pci_devices(): Deliver all matching devices, not just the last one. (LP: #398906) * test/hooks: [1502] test/hooks: Fix up for kernel hook now calling add_os_info() * NEWS: [1501] update NEWS * NEWS, * apport/report.py, * backends/packaging-apt-dpkg.py, * bin/apport-retrace, * bin/kernel_crashdump: [1500] add support for kernel crashes - apport/report.py: Add add_kernel_crash_info() to reprocess a "KernelCrash" problem type with the "crash" program. - apport/report.py: Add crash signature calculation for kernel crashes. - backends/packaging-apt-dpkg.py: Add _install_debug_kernel() to special-case fetching kernel ddebs, and call it in install_retracing_packages(). - bin/apport-retrace: Call add_kernel_crash_info() and update sanity checks for kernel crashes. - bin/kernel_crashdump: Call add_os_info() right in the hook. Thanks to Michael Vogt! * apport/hookutils.py: [1499] hookutils.py, _get_module_license(): Return "invalid" if modinfo fails, so that they do not count as "free". (LP: #341720) * apport/report.py: [1498] report.py: Update thread stack trace checks to also work with recent gdb 2009-07-12 Martin Pitt * backends/packaging-apt-dpkg.py: [1497] packaging-apt-dpkg.py: Support additional custom native origins in /etc/apport/native- origins.d/ . (LP: #386052) * backends/packaging-apt-dpkg.py: [1496] packaging-apt-dpkg.py: Drop PPA origin hack, launchpad behaves properly now * gtk/apport-gtk: [1495] apport-gtk: Avoid focus stealing when being called without arguments (i. e. auto-launched). LP: #396243) 2009-07-10 Martin Pitt * kde/apport-kde: [1494] apport-kde: Use standard gettext again 2009-07-07 Kees Cook * AUTHORS: [1493] add myself to authors file * data/general-hooks/parse_segv.py: [1492] fixes handling of PC lacking disassembly due to invalid memory location. 2009-06-30 Martin Pitt * backends/packaging-apt-dpkg.py: [1491] packaging-apt-dpkg.py: Fix install_retracing_packages() for pre-0.7.9 python-apt API 2009-06-29 Matt Zimmerman * apport/report.py: [1490] Sort the list of dependencies so it's easier to scan (LP: #391021) === 1.5 === 2009-06-29 Martin Pitt * NEWS, * setup.py: [1489] release 1.5 * apport/crashdb_impl/launchpad.py: [1488] launchpad.py: Add another workaround for the "412 Precondition failed" bug (LP#336866) * apport/crashdb_impl/launchpad.py: [1487] launchpad.py, get_fixed_version(): Fix crash on obsolete source packages 2009-06-27 Martin Pitt * .bzrignore: [1486] add some built files to .bzrignore * NEWS, * setup.py, * test/run: [1485] auto-detect packaging backend * test/hooks: [1484] test/hooks: Update key name for moved test script 2009-06-27 Martin Pitt * test: Added. * NEWS, * setup.py: Modified. * run-tests: Renamed to test/run and modified. * test-apport: Renamed to test/crash. * test-crash-digger: Renamed to test/crash-digger. * test-hooks: Renamed to test/hooks. [1483] Move all test scripts into test/, to unclutter source tree 2009-06-27 Martin Pitt * data, * data/icons, * data/icons/scalable, * data/icons/scalable/apps, * data/icons/scalable/mimetypes, * data/icons/scalable/mimetypes/text-x-apport.svg: Added. * doc/Makefile, * gtk/Makefile, * kde/Makefile, * po/Makefile, * po/Makevars, * po/POTFILES.in: Removed. * NEWS, * setup.py: Modified. * apport/apport.svg: Renamed to data/icons/scalable/apps/apport.svg. * general-hooks: Renamed to data/general-hooks. * package-hooks: Renamed to data/package-hooks. [1482] throw away complicated and incomplete build system, use DistUtilsExtra.auto 2009-06-27 Martin Pitt * kde/apport-kde, * po/Makefile: [1481] apport-kde: Use standard _() instead of i18n() === 1.4 === 2009-06-26 Martin Pitt * NEWS, * setup.py: [1480] release 1.4 * test-hooks: [1479] test-hooks: update for r1477 * NEWS: [1478] update NEWS * bin/kernel_crashdump: [1477] bin/kernel_crashdump: Use packaging API properly 2009-06-23 Martin Pitt * apport/ui.py: [1476] ui.py: Do not reject non-distro package reports if report sets CrashDB (for third-party destination). (LP: #391015) 2009-06-19 Martin Pitt * gtk/apport-gtk.ui: [1475] gtk/apport-gtk.ui: Drop invalid icon reference. (LP: #389064) 2009-06-16 Martin Pitt * apport/ui.py: [1474] apport/ui.py, run_report_bug(): Clean up PID information collection 2009-06-14 Martin Pitt * po/ar.po, * po/be.po, * po/bg.po, * po/bs.po, * po/ca.po, * po/cs.po, * po/da.po, * po/de.po, * po/el.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gl.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ms.po, * po/nb.po, * po/nds.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sv.po, * po/ta.po, * po/th.po, * po/tr.po, * po/uk.po, * po/zh_CN.po, * po/zh_TW.po: [1473] merge translations, update German translations * gtk/apport-gtk.ui: [1472] apport-gtk.ui: Drop erroneous translatable flag from stock buttons * po/Makefile: [1471] po/Makefile: add --keyword for kde string markers 2009-06-14 Martin Pitt * kde, * kde/Makefile, * kde/apport-kde, * kde/apport-kde-mime.desktop.in, * kde/apport-kde-mimelnk.desktop.in, * kde/apport-kde.desktop.in, * kde/bugreport.ui, * kde/choices.ui, * kde/error.ui, * kde/progress.ui: Added. * qt4, * qt4/Makefile, * qt4/apport-qt, * qt4/apport-qt-mime.desktop.in, * qt4/apport-qt-mimelnk.desktop.in, * qt4/apport-qt.desktop.in, * qt4/bugreport.ui, * qt4/choices.ui, * qt4/error.ui, * qt4/progress.ui: Removed. * AUTHORS, * NEWS, * man/apport-cli.1, * po/Makefile, * po/POTFILES.in, * setup.py: Modified. [1470] Merge Richard's KDE frontend, replacing Qt4 one 2009-06-12 Martin Pitt * gtk/apport-gtk.ui: [1469] apport-gtk.ui: Make details window resizable, and lower default size, so that it will fit on small screens. (LP: #365517) * apport/hookutils.py: [1468] hookutils.py, command_output(): Force LC_MESSAGES=C, to avoid translated output in bug reports. (LP: #383230) 2009-06-11 Martin Pitt * NEWS, * backends/packaging-apt-dpkg.py: [1467] packaging-apt-dpkg.py: Add backwards compatibility code for python-apt < 0.7.9 to not break backportability === 1.3 === 2009-06-10 Martin Pitt * NEWS, * setup.py: [1466] release 1.3 * NEWS: [1465] NEWS formatting 2009-06-10 Martin Pitt * qt4/choices.ui: Added. * NEWS, * apport/report.py, * apport/ui.py, * cli/apport-cli, * doc/package-hooks.txt, * gtk/apport-gtk, * gtk/apport-gtk.ui, * qt4/apport-qt, * test-hooks: Modified. [1464] merge interactive hooks branch 2009-06-10 Martin Pitt * apport/crashdb_impl/launchpad.py: [1463] launchpad.py: delete core dump from invalid bug reports 2009-06-09 Martin Pitt * .bzrignore: Added. [1462] add .bzrignore 2009-06-04 Martin Pitt * apport/crashdb_impl/launchpad.py: [1461] launchpad.py, download(): Download VarLogDistupgrade log. (LP: #383655) * apport/crashdb_impl/launchpad.py: [1460] launchpad.py: Fix crash if auth credentials are in current directory * general-hooks/parse_segv.py: [1459] merge parse_segv.py improvements from Kees 2009-06-03 Martin Pitt * apport/ui.py: [1458] ui.py: Do not overwrite report["Title"] if it is already set by a hook. * run-tests: [1457] run-tests: Replace hardcoded Python path with dynamically detected path 2009-06-03 Martin Pitt * general-hooks/parse_segv.py: Added. * NEWS, * run-tests: Modified. [1456] add segfault analysis hook for quick segv reviews 2009-06-03 Martin Pitt * apport/crashdb_impl/launchpad.py: [1455] launchpad.py: Fix crash for unset titles 2009-06-02 Martin Pitt * NEWS, * doc/data-format.tex, * problem_report.py: [1454] problem_report.py: Allow dashes and underscores in key names. Update doc/data-format.tex accordingly. (LP: #380811) * apport/crashdb_impl/launchpad.py: [1453] launchpad.py: More robust download(), fixes other part of LP: #382589 * apport/crashdb_impl/launchpad.py: [1452] launchpad.py: Also fetch DpkgTerminalLog.gz. (LP: #382589) 2009-06-01 Martin Pitt * NEWS, * apport/hookutils.py: [1451] add apport.hookutils.root_command_output() 2009-05-28 Martin Pitt * apport/crashdb_impl/launchpad.py: [1450] launchpad.py: Repair support for extra tags * apport/crashdb_impl/launchpad.py: [1449] launchpad.py: Do not overwrite report['Title'] * apport/crashdb_impl/launchpad.py: [1448] launchpad.py: download DpkgTerminalLog.txt 2009-05-27 Martin Pitt * general-hooks/generic.py: [1447] general-hooks/generic.py: Do not report problems with low free space on / or /home. (LP: #381047) 2009-05-26 Martin Pitt * apport/ui.py: [1446] ui.py: Check UnreportableReason for run_report_bug() as well. (LP: #361359) * NEWS, * apport/ui.py: [1445] Drop "UnsupportableReason" field, it is too similar to UnreportableReason and just confusing. 2009-05-20 Martin Pitt * cli/apport-cli: [1444] apport-cli: Fix report saving in "bug report" mode. (LP: #353253) === 1.2.1 === 2009-05-15 Martin Pitt * NEWS, * setup.py: [1443] release 1.2.1 * NEWS: [1442] update NEWS * po/ar.po, * po/be.po, * po/bg.po, * po/bs.po, * po/ca.po, * po/cs.po, * po/da.po, * po/de.po, * po/el.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gl.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ms.po, * po/nb.po, * po/nds.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sv.po, * po/ta.po, * po/th.po, * po/tr.po, * po/uk.po, * po/zh_CN.po, * po/zh_TW.po: [1441] merge translations, update German translation * po/POTFILES.in, * setup.py: [1440] Update setup.py and POTFILES.in for .glade -> .ui renaming === 1.2.0 === 2009-05-15 Martin Pitt * NEWS, * setup.py: [1439] release 1.2.0 * NEWS: [1438] update NEWS with changes made so far 2009-05-15 Martin Pitt * gtk/apport-gtk.ui: Added. * gtk/apport-gtk.glade: Removed. * gtk/apport-gtk: Modified. [1437] gtk/: Convert from libglade to gtk.Builder 2009-05-15 Martin Pitt * apport/hookutils.py: [1436] hookutils: replace hal stuff with udev attach_hardware(): Attach udev log and DB instead of hal. Drop hal related functions. 2009-05-13 Martin Pitt * backends/packaging-apt-dpkg.py: [1435] packaging-apt-dpkg.py: Fix another crash * backends/packaging-apt-dpkg.py: [1434] packaging-apt-dpkg.py: Drop obsolete symbol "_record" * backends/packaging-apt-dpkg.py: [1433] packaging-apt-dpkg.py: Fix syntax error * backends/packaging-apt-dpkg.py: [1432] packaging-apt-dpkg.py: Drop remaining obsolete symbol _lookupRecord() 2009-05-11 Martin Pitt * backends/packaging-apt-dpkg.py: [1431] packaging-apt-dpkg.py, get_modified_files(): Do not show package list file as modified if the package is not installed. (LP: #364533) * backends/packaging-apt-dpkg.py: [1430] packaging-apt-dpkg.py, is_distro_package(): Fix crash if package is not installed * apport/report.py: [1429] report.py, add_package_info(): Fix crash if package is not installed * backends/packaging-apt-dpkg.py: [1428] packaging-apt-dpkg.py, get_version(): Properly raise ValueError for existing, but uninstalled packages. * backends/packaging-apt-dpkg.py: [1427] packaging-apt-dpkg.py: Replace deprecated python-apt properties with current ones (>= 0.7.9) 2009-05-04 Martin Pitt * apport/crashdb_impl/launchpad.py: [1426] launchpad: fix exception class name 2009-04-30 Martin Pitt * bin/apportcheckresume: [1425] * bin/apportcheckresume: the suspend _and_ hibernate logs are both in pm-suspend.log. * bin/apportcheckresume: remove redunant check for file before attaching stress log. * apport/hookutils.py: [1424] hookutils.py: Drop /proc/version_signature collection, it is Ubuntu specific === 1.1.1 === 2009-04-30 Martin Pitt * NEWS, * setup.py: [1423] release 1.1.1 * NEWS: [1422] update NEWS * etc/cron.daily/apport: [1421] etc/cron.daily/apport: Only attempt to remove files and symlinks, do not descend into subdirectories of /var/crash/. Doing so might be exploited by a race condition between find traversing a huge directory tree, changing an existing subdir into a symlink to e. g. /etc/, and finally getting that piped to rm. This also changes the find command to not use GNU extensions. Thanks to Stephane Chazelas for discovering this! LP #357024 CVE-2009-1295 2009-04-28 Martin Pitt * apport/crashdb_impl/launchpad.py: [1420] launchpad.py: consider socket errors when connecting as transient 2009-04-23 Martin Pitt * apport/report.py: [1419] report.py, test_add_gdb_info_script(): More robust method of generating core dump, fixes test suite * apport/report.py: [1418] report.py: Fix test suite for r1416 * apport/report.py: [1417] report.py, add_hooks_info(): Always run common hooks, and run source package hooks if we do not have a binary package name. (LP: #350131) * apport/report.py, * apport/ui.py: [1416] ui.py: Detect invalid PIDs (such as for kernel processes) and give a friendly error message. (LP: #360608) * apport/report.py: [1415] report.py, add_proc_info(): Only add ProcAttrCurrent if it is not "unconfined". * apport/crashdb_impl/launchpad.py: [1414] launchpad.py: Send and read Date: field again, reverting r1128; it is useful after all. (LP: #349139) 2009-04-21 Martin Pitt * apport/crashdb_impl/launchpad.py: [1413] launchpad.py: support older wadllib API where bug.date_created was a string instead of a datetime object 2009-04-20 Martin Pitt * apport/hookutils.py: [1412] hookutils.py: add docstring for attach_hardware() === 1.1 === 2009-04-20 Martin Pitt * NEWS, * setup.py: [1411] release 1.1 * do-release: [1410] do-release: clean bzr tree * do-release: [1409] do-release: grep version from NEWS * do-release: [1408] do-release: add date to NEWS * NEWS: [1407] NEWS: update to current trunk 2009-04-20 Martin Pitt * preloadlib, * preloadlib/Makefile, * preloadlib/README, * preloadlib/libapport.c: Removed. * test-apport: Modified. [1406] remove preloadlib; it's undermaintained, and not really useful any more these days 2009-04-20 Martin Pitt * po/ar.po, * po/be.po, * po/bg.po, * po/bs.po, * po/ca.po, * po/cs.po, * po/da.po, * po/el.po, * po/eo.po, * po/es.po, * po/et.po, * po/eu.po, * po/fi.po, * po/fr.po, * po/ga.po, * po/gl.po, * po/he.po, * po/hi.po, * po/hr.po, * po/hu.po, * po/id.po, * po/is.po, * po/it.po, * po/ja.po, * po/ko.po, * po/ku.po, * po/lo.po, * po/lt.po, * po/lv.po, * po/mk.po, * po/ms.po, * po/nb.po, * po/nds.po, * po/nl.po, * po/oc.po, * po/pl.po, * po/pt.po, * po/pt_BR.po, * po/ro.po, * po/ru.po, * po/sk.po, * po/sl.po, * po/sq.po, * po/sv.po, * po/ta.po, * po/th.po, * po/tr.po, * po/uk.po, * po/zh_CN.po, * po/zh_TW.po: Added. [1405] Add translations from Launchpad 2009-04-20 Martin Pitt * po/de.po: [1404] de.po: fix glitch * README: [1403] README: link to homepage and point to doc/ * use-local: [1402] use-local: add comment about purpose 2009-04-20 Martin Pitt * README: Added. [1401] add README file 2009-04-20 Martin Pitt * apport/crashdb_impl/launchpad.py: [1400] launchpad.py: remove reference to LP#353784, it is not a bug * apport/crashdb_impl/launchpad.py: [1399] launchpad.py: For multiple fixed tasks, just take the first one; best we can do * apport/crashdb_impl/launchpad.py: [1398] launchpad.py: Consider "wontfix" bugs as invalid, too 2009-04-15 Martin Pitt * setup.py: [1397] setup.py: install mimetypes/text-x-apport.svg icon symlink 2009-04-15 Martin Pitt * etc/default/apport.default: Renamed to etc/default/apport. [1396] fix name of default file 2009-04-11 Martin Pitt * NEWS: Added. [1395] add NEWS, with 1.0 2009-04-11 Martin Pitt * setup.py: [1394] setup.py: clean po/mo/ * TODO: [1393] TODO: remove obsolete items * TODO: [1392] TODO: Remove Ubuntu specific issues * TODO: [1391] TODO item * apport/report.py: [1390] add new field Report.pid which gets set on add_proc_info() and can be used by hooks * TODO: [1389] drop implemented stuff from TODO 2009-04-11 Martin Pitt * general-hooks/generic.py: Added. * apport/hookutils.py, * apport/report.py, * run-tests: Modified. [1388] move determination of nonfree kernel modules from core code to generic hook 2009-04-11 Martin Pitt * AUTHORS: [1387] update AUTHORS 2009-04-11 Martin Pitt * backends/packaging_opensuse.py: Removed. [1386] Remove backends/packaging_opensuse.py, it is not appropriate for trunk. OpenSUSE, when merging this, please use "bzr revert backends/packaging_opensuse.py" and merge the empty change, so that it does not get lost in the future. 2009-04-11 Martin Pitt * apport/crashdb_impl/multipartpost_handler.py: Added. * apport/crashdb_impl/launchpad.py: Modified. [1385] switch apport.crashdb_impl.launchpad from python-launchpad-bugs to launchpadlib 2009-04-11 Martin Pitt * apport/hookutils.py: [1384] apport/hookutils.py, attach_alsa(): Add codec information * apport/hookutils.py: [1383] apport/hookutils.p, path_to_key(): Translate more invalid characters * apport/hookutils.py: [1382] apport/hookutils.py, attach_alsa(): Add fuser info and dmesg * apport/hookutils.py: [1381] apport/hookutils.py: Extend package_versions to accept globs. * apport/packaging.py, * backends/packaging-apt-dpkg.py, * backends/packaging_rpm.py: [1380] add packaging.package_name_glob() interface and apt implementation * backends/packaging-apt-dpkg.py: [1379] backends/packaging-apt- dpkg.py: move apt cache accessors around * apport/packaging.py: [1378] apport/packaging.py: Clean up docstrings and make them PEP-8 conformant * apport/hookutils.py: [1377] apport/hookutils.py: - Factor out package_versions() to generate a simple text listing of relevant package versions and use it in attach_printing() - Add new function attach_relevant_packages() to attach version information (and perhaps eventually run hooks?) for related packages 2009-04-07 Martin Pitt * backends/packaging-apt-dpkg.py: [1376] backends/packaging-apt- dpkg.py: add missing shutil import * apport/hookutils.py: [1375] hookutils.py: Drop attach_conffiles(), it is dpkg specific 2009-04-06 Martin Pitt * do-release: Added. [1374] Add do-release script. This should not be merged into distro branches, since it is only useful for upstream. === 1.0 === 2009-04-06 Martin Pitt * setup.py: [1373] release 1.0 * setup.py: [1372] setup.py: upgrade description * setup.py: [1371] setup.py: add version 2009-04-06 Martin Pitt * apport.init.fedora, * apport.init.opensuse, * apport.spec.fedora, * apport.spec.opensuse, * backends/packaging_fedora.py, * debian, * debian/apport-gtk.install, * debian/apport-qt.install, * debian/apport-retrace.install, * debian/apport-retrace.manpages, * debian/apport.README.Debian, * debian/apport.examples, * debian/apport.install, * debian/apport.links, * debian/apport.logrotate, * debian/apport.manpages, * debian/changelog, * debian/compat, * debian/control, * debian/copyright, * debian/local, * debian/local/apport-chroot, * debian/local/apport-chroot.1, * debian/local/apport-collect, * debian/local/apport-collect.1, * debian/local/setup-apport-retracer, * debian/local/ubuntu-bug, * debian/local/ubuntu-bug.1, * debian/local/ubuntu-fat-chroot, * debian/pycompat, * debian/python-apport.install, * debian/python-apport.postinst, * debian/python-problem-report.install, * debian/pyversions, * debian/rules, * general-hooks/automatix.py, * general-hooks/ubuntu.py, * package-hooks/source_linux.py, * python-apport.spec.opensuse: Removed. * etc/apport/crashdb.conf, * run-tests: Modified. [1370] Turn branch into a real upstream trunk. This commit removes all distribution specific stuff. It keeps the general RPM and apt packaging backends, as well as the Launchpad CrashDatabase implementation, since they apply to more than just one distribution. If you merge this into the existing opensuse/ubuntu/fedora branches, revert the deletion of the files you need! === 0.149 === 2009-04-06 Martin Pitt * debian/changelog: [1369] releasing version 0.149 * debian/changelog: [1368] changelog annotations * debian/changelog, * man/apport-retrace.1: [1367] man/apport-retrace.1: Drop reference to "apt", simply talk about package installation. * debian/changelog, * debian/local/apport-chroot: [1366] debian/local/apport-chroot: If multiple distro IDs point to the same chroot, do not upgrade them more than once with "upgrade all". * debian/changelog, * debian/local/setup-apport-retracer: [1365] setup-apport-retracer: fix crashdb.conf path * debian/changelog, * debian/local/setup-apport-retracer: [1364] debian/local/setup- apport-retracer: Update apport-chroot path for above change. 2009-04-05 Martin Pitt * apport/hookutils.py, * debian/changelog: [1363] apport/hookutils.py, files_in_package(): Replace dpkg-query call with packaging.get_files(), to avoid Debianism. 2009-04-05 Martin Pitt * debian/apport-retrace.install, * debian/apport-retrace.manpages, * debian/changelog, * setup.py: Modified. * bin/apport-chroot: Renamed to debian/local/apport-chroot. * man/apport-chroot.1: Renamed to debian/local/apport-chroot.1. [1362] Move bin/apport-chroot and man/apport-chroot.1 to debian/local, since they are totally Debian/Ubuntu specific. 2009-04-05 Martin Pitt * bin/apport-chroot, * bin/apport-retrace, * debian/changelog: [1361] bin/apport-retrace: Rename option --no-dpkg to --no-pkg and update bin/apport-chroot accordingly. * apport/packaging.py, * backends/packaging-apt-dpkg.py, * bin/apport-retrace, * debian/changelog: [1360] Move installation of missing packages for retracing from bin/apport-retrace to new abstract interface apport/packaging.py, install_retracing_packages() and remove_packages(), and move the apt/dpkg code to backends/packaging- apt-dpkg.py. This removes a major piece of apt/dpkg specific code from non-backends. * debian/apport.install: [1359] fix conffile installation * debian/changelog, * setup.py: [1358] setup.py: Fix homepage URL. * debian/changelog, * problem_report.py: [1357] problem_report.py, man/apport-unpack.1: Fix description of .crash file syntax (RFC822, not "Debian control"). * debian/changelog, * setup.py: [1356] setup.py: Move *.mo generation/installation into my_install_data class, for cleanliness. 2009-04-05 Martin Pitt * etc/apport, * etc/apport/blacklist.d: Added. * debian/changelog, * run-tests, * setup.py: Modified. * crashdb.conf: Renamed to etc/apport/crashdb.conf. * doc/README.blacklist: Renamed to etc/apport/blacklist.d/README.blacklist. [1355] Move crashdb.conf and doc/README.blacklist to etc/, to simplify setup.py. 2009-04-05 Martin Pitt * etc, * etc/cron.daily, * etc/cron.daily/apport, * etc/default, * etc/default/apport.default, * etc/init.d, * etc/init.d/apport: Added. * debian/apport.cron.daily, * debian/apport.default, * debian/apport.init: Removed. * debian/apport.install, * debian/changelog, * setup.py: Modified. [1354] Move cron.daily, init script, and default file from debian/ to etc/, and install them in setup.py. These files are appropriate for upstream installation. 2009-04-04 Martin Pitt * debian/changelog, * man/apport-unpack.1: [1353] man/apport-unpack.1: Fix description of .crash file syntax (RFC822, not "Debian control"). === 0.148 === 2009-04-01 Martin Pitt * debian/changelog: [1352] releasing version 0.148 * bin/kernel_oops, * debian/changelog: [1351] bin/kernel_oops: Add "kernel-oops" tag. Since both bin/kernel_oops and bin/apportcheckresume use the "kerneloops" bug class, it previously was hard to filter out the bug reports which were real oopses. (LP: #349621) * bin/apport-retrace, * debian/changelog: [1350] bin/apport-retrace: Fix KeyError crash on bugs with an ExecutablePath which does not exist any more. Close the bug as invalid instead. (LP: #352331) * apport/hookutils.py, * debian/changelog, * general-hooks/ubuntu.py: [1349] apport/hookutils.py: Move attach_media_build() to general-hooks/ubuntu.py, since it is Ubuntu specific. * debian/changelog, * debian/local/ubuntu-bug, * debian/local/ubuntu-bug.1: [1348] debian/local/ubuntu-bug: Drop generic passthrough of apport-{cli,gtk,kde} options since this leads to too much confusion. Instead just support a single argument and check whether it is a pid, a package name, a .crash file, or a program path. This does the right thing when calling it with a .crash file (LP: #347392) and fixes the help output (LP: #344923) Update manpage accordingly. 2009-03-30 Matt Zimmerman * bin/apportcheckresume, * debian/changelog: [1347] bin/apportcheckresume: Use attach_file_if_exists rather than attach_file to avoid spurious error messages about non-existent log files (LP: #351973) 2009-03-30 Matt Zimmerman * general-hooks/ubuntu.py: Added. * apport/hookutils.py, * debian/changelog: Modified. [1346] * apport/hookutils.py: add attach_media_build to include information about the build of installation media in use (i.e. in a casper live CD environment) * general-hooks/ubuntu.py: use attach_media_build (LP: #351781) === 0.147 === 2009-03-30 Martin Pitt * debian/changelog: [1345] releasing version 0.147 * bin/apportcheckresume, * debian/apport.init, * debian/changelog: [1344] * bin/apportcheckresume: report the pm- suspend.log/pm-hibernate.log from /var/lib. * bin/apportcheckresume: only attempt to attach the stress log if its is present. * bin/apportcheckresume, debian/apport.init: add detection for late resume hangs, those where the user thinks the system was working. (LP: #335323) === 0.146 === 2009-03-27 Martin Pitt * debian/changelog: [1343] releasing version 0.146 * bin/apport-retrace, * debian/changelog: [1342] bin/apport-retrace: If apt update fails due to a "hash sum mismatch", exit with a "transient error" code, to stop (but not break) the retracing cycle. * bin/crash-digger, * debian/changelog, * test-crash-digger: [1341] bin/crash-digger: If apport-retrace exits with 99, consider it a transient error and just stop the retracer, but don't leave the lock file behind. Add appropriate test case to test- crash-digger. * apport/crashdb_impl/launchpad.py, * debian/changelog: [1340] apport/crashdb_impl/launchpad.py: Support new CrashDB option "project" which can be set to a LP project name to file bugs against that project instead of the distribution. Add test case for filing crash bug against a project, updating it, duplicating/unduplicating it, and determining fixed version. (LP: #338835) * apport/crashdb.py, * debian/changelog: [1339] apport/crashdb.py, get_crashdb(): Print syntax errors from parsing conf.d/*.conf to stderr. * apport/crashdb_impl/launchpad.py, * debian/changelog: [1338] apport/crashdb_impl/launchpad.py, update(): Intercept and ignore IOErrors when changing the bug priority. This happens if a bug gets duplicated underneath us. (LP: #349407) * apport/crashdb_impl/launchpad.py, * debian/changelog: [1337] apport/crashdb_impl/launchpad.py: Add test case: Update a bug report which got marked as a duplicate during processing. This reproduces #349407. 2009-03-26 Martin Pitt * debian/changelog, * debian/local/ubuntu-fat-chroot: [1336] debian/local/ubuntu-fat- chroot: Divert away /usr/lib/xulrunner-1.9.1b3/xulrunner-bin. It is called on debian/rules patch in xulrunner-1.9.1 and hangs eternally in the fakechroots. This is only a temporary kludge, though, until the next xulrunner version lands. * backends/packaging-apt-dpkg.py, * debian/changelog: [1335] backends/packaging-apt-dpkg.py: When unpacking source trees, try "debian/rules setup" last, since it is the least common variant. * debian/changelog, * debian/local/ubuntu-bug.1: [1334] debian/local/ubuntu-bug.1: Add missing documentation of the case of specifying a path name. * debian/changelog, * debian/local/ubuntu-bug.1: [1333] debian/local/ubuntu-bug.1: Update for the possibility to specify a package name or PID without any options. Also document the "ubuntu-bug linux" special case. (LP: #348985) 2009-03-25 Martin Pitt * apport/crashdb.py, * debian/changelog: [1332] apport/crashdb.py, duplicate_db_consolidate(): Add logging about removing invalidated bugs from the duplicate database, now that this actually works. * debian/changelog, * debian/local/apport-collect, * debian/local/apport-collect.1: [1331] debian/local/apport-collect: Add new option -p to explicitly specify a (binary) package name instead of guesstimating it from the bug's source package tasks. Document new option in debian/local/apport-collect.1. (LP: #333875) * apport/ui.py, * debian/changelog: [1330] apport/ui.py, open_url(): Also consider a sesssion as "GNOME" if gconfd-2 is running; some variants such as UNR do not have gnome-panel; this fixes using the preferred browser for them. (LP: #322386) * apport/crashdb_impl/launchpad.py, * debian/changelog: [1329] launchpad.py: test Python reporting and tag handling 2009-03-13 Martin Pitt * apport/crashdb_impl/launchpad.py: [1328] launchpad.py test suite: fix typo in variable name 2009-03-12 Martin Pitt * apport/crashdb_impl/launchpad.py: [1327] launchpad.py: shallow test of get_fixed_version() * apport/crashdb.py, * apport/crashdb_impl/launchpad.py, * apport/crashdb_impl/memory.py, * debian/changelog: [1326] * apport/crashdb.py: Add new interface duplicate_of(id) to return the master bug of a duplicate. Also document that close_duplicate() with "None" master bug will un- duplicate the bug. * apport/crashdb_impl/{launchpad,memory}.py: Implement duplicate_of() and add test cases. The Launchpad test case reproduces the "duplicate-of-a-duplicate" regression, which now got fixed in python-launchpad-bugs bzr head. * apport/crashdb_impl/launchpad.py, * debian/changelog: [1325] apport/crashdb_impl/launchpad.py: Add initial test suite, performing data upload, bug reporting, report download, and report updating. This happens on staging.launchpad.net. * apport/crashdb_impl/launchpad.py, * debian/changelog: [1324] apport/crashdb_impl/launchpad.py: Fully enable operation with staging.launchpad.net. * apport/report.py, * debian/changelog: [1323] apport/report.py, _generate_sigsegv_report(): Turn into a class method, so that it can be used by test cases in other modules as well. Also add missing Signal field. === 0.145 === 2009-03-10 Martin Pitt * debian/changelog: [1322] releasing version 0.145 * debian/changelog, * general-hooks/automatix.py: [1321] general-hooks/automatix.py: Refuse to send bug reports when ultamatix is installed. * apport_python_hook.py, * debian/changelog: [1320] apport_python_hook.py: Fix crash for already existing reports, and make behaviour equivalent to bin/apport: Silently exit for existing unseen crash report, and overwrite existing seen crash report. Add test cases. (LP: #323714) * debian/changelog, * debian/local/apport-collect: [1319] debian/local/apport-collect: Do not crash on launchpadlib.errors.HTTPError, but give a proper error message and point out that this script needs "change anything" privileges. (LP: #338201) * apport/crashdb_impl/launchpad.py, * debian/changelog: [1318] apport/crashdb_impl/launchpad.py: Fix typo in previous upload. === 0.144 === 2009-03-10 Martin Pitt * debian/changelog: [1317] releasing version 0.144 * bin/apport-retrace, * debian/changelog: [1316] bin/apport-retrace: If we didn't find the ExecutablePath on the system because the package is out of date, don't crash, but close the bug as invalid. * apport/crashdb_impl/launchpad.py, * debian/changelog: [1315] apport/crashdb_impl/launchpad.py, mark_retrace_failed(): If report is invalid, remove CoreDump.gz and other attachments. === 0.143 === 2009-03-09 Martin Pitt * debian/changelog: [1314] releasing version 0.143 * apport/report.py, * debian/changelog: [1313] apport/report.py, anonymize(): Move user name anonymization into the "non-root" case as well; fixes uninitialized variable. (LP: #338847) 2009-03-06 Martin Pitt * backends/packaging-apt-dpkg.py, * debian/changelog: [1312] backends/packaging-apt-dpkg.py, is_distro_package(): Do not consider a package a native distro one if installed version is "None". This happens with some PPA packages. (LP: #252734) * debian/apport.README.Debian, * debian/changelog: [1311] debian/apport.README.Debian: Document how to temporarily and permanently enable crash interception. === 0.142 === 2009-03-05 Martin Pitt * debian/changelog: [1310] releasing version 0.142 * apport/report.py: [1309] report.py: fix silly typo * backends/packaging-apt-dpkg.py, * debian/changelog: [1308] backends/packaging-apt-dpkg.py, _get_mirror(): Only consider http:// mirrors for fetching Contents.gz. (LP: #315797) * debian/apport.default, * debian/apport.init, * debian/changelog: [1307] debian/apport.init: Also start apport if force_start=1 is given. This provides a convenient method of starting apport just for a session without changing the default file. Add a comment to debian/apport.default about this possibility. Thanks to Milan for the suggestion and the initial patch! (LP: #320467) * debian/changelog: [1306] close a related bug in changelog * apport/report.py, * debian/changelog: [1305] apport/report.py, anonymize(): Do not anonymize single-character user and host names, since they create an utter mess in bug reports, and also are very low-sensitive. * apport/report.py, * debian/changelog: [1304] apport/report.py, anonymize(): Fix crash when processing root-owned reports. (LP: #338033) * apport/REThread.py, * apport/chroot.py, * apport/fileutils.py, * apport/report.py, * apport/ui.py, * apport_python_hook.py, * backends/packaging-apt-dpkg.py, * backends/packaging_opensuse.py, * backends/packaging_rpm.py, * debian/changelog, * problem_report.py, * test-apport, * test-hooks: [1303] Remove redundant verbiage from test suite docstrings. * apport/ui.py, * debian/changelog: [1302] apport/ui.py, load_report(): Clearer error message if report file does not exist. (LP: #204198) * debian/changelog, * debian/local/ubuntu-bug: [1301] debian/local/ubuntu-bug: Fix invocation with "--help". (LP: #305841) * apport/report.py, * debian/changelog: [1300] apport/report.py: Slight robustification of test_add_gdb_info_script() test case. * apport/ui.py, * debian/changelog: [1299] apport/ui.py: Fix crash in get_complete_size() for reports that are constructed on the fly instead of loaded from a file (i. e. for bug reports). Fixes displaying of report in apport-cli. * apport/ui.py, * debian/changelog: [1298] apport/ui.py, run_report_bug(): Show details of collected information and give the user a chance to cancel. Previously, collected data was sent directly to Launchpad. Nowadays lots of packages have hooks, so we cannot guarantee any more that bug reports only have non-sensitive information. (LP: #195514) * apport/report.py, * debian/changelog: [1297] apport/report.py, _gen_stacktrace_top(): Fix parsing of stacktraces with some addresses missing. Add test cases. (LP: #269133) * apport/hookutils.py, * debian/changelog: [1296] * apport/hookutils.py: Fix attach_printing(): - Correct spelling or "error_log". - Do not call fgrep with no file names (if /etc/cups/ppd/ is empty), since that hangs forever. 2009-03-03 Martin Pitt * apport/report.py, * debian/changelog: [1295] apport/report.py: Do not include lsb_release's stderr in the DistroRelease: output. === 0.141 === 2009-03-02 Kees Cook * debian/changelog: [1294] releasing version 0.141 * apport/hookutils.py, * debian/changelog: [1293] apport/hookutils.py: Add cups error log to attach_printing() === 0.140 === 2009-03-02 Martin Pitt * debian/changelog: [1292] releasing version 0.140 * debian/changelog, * run-tests: [1291] run-tests: Only check for local packaging_impl.py if running local tests. This unbreaks running tests from /usr/share/apport/testsuite/. * debian/changelog, * debian/python-apport.install, * debian/python-problem-report.install: [1290] debian/python-{apport ,problem-report}.install: Fix site-packages ? *-packages. === 0.139 === 2009-03-02 Martin Pitt * debian/changelog: [1289] releasing version 0.139 * apport/hookutils.py, * debian/changelog: [1288] apport/hookutils.py, hal_dump_udi(): Filter out serial numbers. (Mentioned in LP #107103) 2009-02-26 Martin Pitt * debian/changelog, * debian/local/apport-collect: [1287] debian/local/apport-collect: Ignore ValueErrors from add_package_info(), which happens if the bug has a source package task which does not have an identically named binary package name. Slightly ugly, but it's nontrivial to do that in a sensible manner; let's just fix the crash for now, since the focus of this tool is to collect information from hooks. (LP: #334823) * debian/changelog, * debian/local/apport-collect, * debian/local/apport-collect.1: [1286] debian/local/apport-collect: Attach new info to staging.launchpad.net if $APPORT_STAGING is defined. This makes testing easier. Describe in debian/local/apport- collect.1. 2009-02-25 Martin Pitt * debian/changelog, * debian/rules: [1285] debian/rules: Supply --install-layout=deb to setup.py. * apport/report.py, * debian/changelog: [1284] apport/report.py, anonymize(): Do not anonymize "root". (Side issue in LP #333542) === 0.138 === 2009-02-24 Martin Pitt * debian/changelog: [1283] releasing version 0.138 * apport/hookutils.py, * debian/changelog: [1282] apport/hookutils.py: Add attach_printing(). Thanks to Brian Murray for the initial patch! (LP: #333582) * apport/crashdb_impl/memory.py, * apport/ui.py, * bin/apport, * bin/crash-digger, * debian/changelog: [1281] Replace all instances of using an exception's .message attribute with str(exception), since message is deprecated in Python 2.6. * apport/hookutils.py, * backends/packaging_rpm.py, * debian/changelog: [1280] apport/hookutils.py, backends/packaging_rpm.py: Convert usage of md5 module (which is deprecated in 2.6) to hashlib. * debian/changelog, * debian/control, * debian/rules: [1279] Set python-version to all, include symlinks in the package. * apport/crashdb_impl/launchpad.py, * debian/changelog: [1278] apport/crashdb_impl/launchpad.py: Consider an useful stack trace sufficient for automatically removing the core dump, it doesn't need to be perfect. This is in accordance with not setting the apport-failed-retrace tag for useful, but non-perfect retraces any more. === 0.136 === 2009-02-24 Martin Pitt * debian/changelog: [1277] releasing version 0.136 * debian/changelog, * debian/local/apport-collect: [1276] debian/local/apport-collect: Add user environment information, too (LANG, PATH, SHELL). (LP: #332578) * apport/report.py, * bin/apportcheckresume, * debian/changelog: [1275] * bin/apportcheckresume: remove originator in suspend/hibernate/resume reporting. This was intended for debugging only and is now redundant. * bin/apportcheckresume, apport/report.py: when collecting resume failures in very early boot hal may not be running and we thus unable to obtain the machine type information. Move title generation to the reporting engine. === 0.135 === 2009-02-23 Martin Pitt * debian/changelog: [1274] releasing version 0.135 * debian/changelog, * test-hooks: [1273] test-hooks: Update dodgy test for uninstalled package, libdb4.3-tcl is not available in Jaunty any more. * debian/changelog, * problem_report.py: [1272] problem_report.py, test_write(): Add test cases for single-line and two-line UTF-8 and Unicode values, and fix handling of these in write(). * debian/changelog, * package-hooks/source_apport.py: [1271] package- hooks/source_apport.py: Robustify by using hookutils, and avoid stat errors if /var/crash/* does not exist. * debian/changelog, * debian/local/apport-collect: [1270] debian/local/apport-collect: Collect package, OS, and user information as well. (LP: #332578) * debian/changelog, * problem_report.py: [1269] problem_report.py, test_write_mime_text(): Add test cases for single-line and two-line UTF-8 values, single-line and two-line Unicode values and a single-line LF-terminated value. Fix handling of the latter two. === 0.134 === 2009-02-20 Martin Pitt * debian/changelog: [1268] releasing version 0.134 * apport/hookutils.py, * debian/changelog: [1267] apport/hookutils.py: Replace tabs with spaces. * apport/report.py, * debian/changelog: [1266] apport/report.py: If downloading a nonexisting bug pattern file name succeeds and returns a HTML snippet with "404 Not Found", consider this as failure. This repairs falling back to source package names. (LP: #328751) * apport/crashdb_impl/launchpad.py, * debian/changelog: [1265] apport/crashdb_impl/launchpad.py, download(): Download DpkgTerminalLog.txt attachment as well. * debian/changelog, * debian/local/apport-collect: [1264] debian/local/apport-collect: Do not collect information for closed tasks. Thanks for Brian Murray for the initial patch! (LP: #331839) === 0.133 === 2009-02-19 Martin Pitt * debian/changelog: [1263] releasing version 0.133 * apport/hookutils.py, * bin/apportcheckresume, * debian/changelog: [1262] * apport/hookutils.py: define and include a machine type from the hardware information in the report, using HAL information where available. * bin/apportcheckresume: include the machine type in the suspend/hibernate report title. They are generally machine specific. === 0.132 === 2009-02-19 Martin Pitt * debian/changelog: [1261] releasing version 0.132 * debian/changelog, * debian/control: [1260] debian/control: Add ${misc:Depends} dependencies. 2009-02-19 Martin Pitt * debian/local/apport-collect, * debian/local/apport-collect.1: Added. * debian/apport.install, * debian/apport.manpages, * debian/changelog, * debian/control: Modified. [1259] * Add debian/local/apport-collect: Download a Launchpad bug report, get its source package, check if it has apport hooks, and if so, run and upload them. Add manpage, too. (LP: #124338) * debian/control: Add Suggests: python-launchpadlib; this is only needed by apport-collect, thus we don't need to pull that into every default installation; if it's not installed apport-collect will detect and point this out. 2009-02-17 Jonathan Riddell * debian/changelog, * qt4/apport-qt: [1258] Set window icon in apport-qt === 0.131 === 2009-02-16 Martin Pitt * debian/changelog: [1257] releasing version 0.131 * debian/changelog, * po/de.po: [1256] Update German translations. * apport/ui.py, * debian/changelog: [1255] apport/ui.py: Drop some bogus translatable strings. * cli/apport-cli, * debian/changelog, * qt4/apport-qt: [1254] cli/apport-cli, qt4/apport-qt: Unify string with apport-gtk. * debian/changelog, * po/Makefile: [1253] po/Makefile: Fix merge-po rule to actually work again. * bin/apportcheckresume, * bin/kernel_oops, * cli/apport-cli, * debian/changelog, * gtk/apport-gtk, * gtk/apport-gtk.glade, * qt4/apport-qt: [1252] bin/apportcheckresume, bin/kernel_oops, cli /apport-cli, gtk/apport-gtk, gtk/apport-gtk.glade, qt4/apport-qt: generalised the KernelOops dialog and handling to allow suspend and hibernate failures present more accurate reasons for the report. Also commonises all messages in the three implementations to simplify internationalisation. === 0.130 === 2009-02-12 Martin Pitt * debian/changelog: [1251] releasing version 0.130 * bin/apportcheckresume, * debian/changelog: [1250] * bin/apportcheckresume: modify the oops title and thereby the launchpad bug title to say suspend or hibernate. * bin/apportcheckresume: modify the tags to bin/apportcheckresume: modify the oops title and thereby the launchpad be resume+suspend or resume+hibernate as appropriate. * bin/apportcheckresume: include any non-free modules in the bug title. * bin/apport-retrace, * debian/changelog: [1249] bin/apport-retrace: Do not try to install -dbgsym packages with nonmatching versions, unless --unpack-only is used. Thanks to hggdh for the initial patch! (LP: #309208) * apport/crashdb_impl/memory.py, * debian/changelog: [1248] apport/crashdb_impl/memory.py: Improve docstrings of test suite. * bin/crash-digger, * debian/changelog: [1247] bin/crash-digger: Revert catching "database is locked" errors during consolidation, since it just hides more fundamental errors. 2009-02-05 Martin Pitt * apport/crashdb_impl/launchpad.py, * debian/changelog: [1246] crashdb_impl/launchpad.py: Tag bugs with the architecture they are being reported on. 2009-02-02 Martin Pitt * bin/kernel_crashdump, * debian/changelog: [1245] bin/kernel_crashdump: Don't crash if vmcore.log does not exist. === 0.129 === 2009-01-26 Martin Pitt * debian/changelog: [1244] releasing version 0.129 * apport/crashdb.py, * debian/changelog: [1243] apport/crashdb.py, duplicate_db_consolidate(): Warn about a bug which is not yet fixed, but does not appear in get_unfixed(). In Launchpad, this means that the bug does not have the 'apport-crash' tag any more; if there are many, those would be a huge time/bandwidth waste. * apport/crashdb_impl/launchpad.py, * debian/changelog: [1242] apport/crashdb_impl/launchpad.py: Request bug lists with batch size 300, for slight speedup of consolidation. * bin/dupdb-admin, * debian/changelog: [1241] dupdb-admin: Add new command "consolidate". * bin/crash-digger, * debian/changelog: [1240] bin/crash-digger: Create a backup of the duplicates database right after initializing it (which verifies integrity). * apport/crashdb.py, * apport/crashdb_impl/memory.py, * debian/changelog: [1239] apport/crashdb.py, init_duplicate_db(): Run an integrity check and raise exception if it fails, to avoid running the retracers on a corrupt duplicate db. Add test case to apport/crashdb_impl/memory.py. * bin/apportcheckresume, * debian/changelog: [1238] bin/apportcheckresume: Include /var/lib/pm- utils/stress.log, too. Thanks to Andy Whitcroft for the initial patch, rewrote to use apport.hookutils. * apport/crashdb_impl/launchpad.py, * apport/ui.py, * debian/changelog: [1237] * apport/ui.py: Check environment variable APPORT_REPORT_THIRDPARTY in addition to the 'thirdparty' configuration file option for overriding the "genuine distro package" check. Thanks to Oumar Aziz OUATTARA! * apport/crashdb_impl/launchpad.py: In third-party mode, report bugs against Launchpad projects. Thanks to Oumar Aziz OUATTARA for his branch! (LP: #213454) 2009-01-20 Martin Pitt * debian/changelog, * doc/package-hooks.txt: [1236] doc/package-hooks.txt: Point out apport.hookutils. * bin/apport, * debian/changelog: [1235] bin/apport: Move argv length/usage help before lock check, so that it works if the user cannot lock /var/crash/.lock. Thanks to Kees Cook! * debian/changelog, * debian/local/ubuntu-fat-chroot: [1234] debian/local/ubuntu-fat- chroot: Symlink /target -> /, to work for crashes which appear in /target during installation. * bin/apport-retrace, * debian/changelog: [1233] bin/apport-retrace: Do not mark bugs as invalid after they are already marked as a duplicate, since that does not work in Launchpad. * bin/apport-retrace, * debian/changelog: [1232] bin/apport-retrace: Log broken reports. * bin/apport-retrace, * debian/changelog: [1231] typo fixes === 0.128 === 2009-01-19 Martin Pitt * debian/changelog: [1230] releasing version 0.128 * bin/apport-retrace: [1229] apport-retrace: improve error message * bin/apport-retrace: [1228] apport-retrace: more robustification of r1226 * apport/crashdb_impl/launchpad.py, * debian/changelog: [1227] apport/crashdb_impl/launchpad.py: Apply some heuristics to attempt recovering broken descriptions as in LP #315728 (intermediate blank lines, and non-apport data append). * bin/apport-retrace, * debian/changelog: [1226] bin/apport-retrace: If downloading a report fails (e. g. the description was invalidly modified), mark the bug as invalid with a proper explanation instead of crashing, unless we are in "stdout" or "output file" mode. * bin/apport-retrace, * debian/changelog: [1225] bin/apport-retrace: Call Cache.open() after Cache.update(). * apport/ui.py, * debian/changelog: [1224] * apport/ui.py: Introduce new configuration option "thirdparty" and * ignore the is_distro_package() check if it is set to true. === 0.127 === 2009-01-13 Steve Langasek * bin/apportcheckresume: Added. * debian/apport.init, * debian/apport.install, * debian/changelog, * setup.py: Modified. [1223] bin/apportcheckresume, debian/apport.init: integrate with pm- utils to detect suspend/resume failures. Thanks to Steve Conklin and Andy Whitcroft. LP: #316419. === 0.126 === 2009-01-09 Martin Pitt * debian/changelog: [1222] releasing version 0.126 * bin/apport-retrace, * debian/changelog: [1221] bin/apport-retrace: Exit with zero for bugs which do not have a core dump, so that it does not completely stop the retracers. * bin/apport-chroot, * debian/changelog: [1220] bin/apport-chroot: If --auth is specified in "login" mode, symlink the file into /tmp/auth in the fakechroot. This makes it much easier to interactively debug retracing. === 0.125 === 2009-01-09 Martin Pitt * debian/changelog: [1219] releasing version 0.125 * bin/crash-digger, * debian/changelog, * test-crash-digger: [1218] * Rewrite bin/crash-digger to become much more robust and easier for retracer maintainers: - Now designed around cron-based maintenance: start, process all pending bugs, exit. This makes memory leaks irrelevant, and gets rid of all the logging, daemonizing, and looping code. - Adapt stdout/stderr reporting to be suitable for cron and redirecting stdout to a log file. - Use lock files to avoid overlapping instances and avoid damaging bugs with broken retracers after crash-digger failed. - Handle chroot upgrading, so that this does not need separate cronjobs any more. - Drop old -i option, replace with -D/--dupcheck which is a mode which *only* checks duplicates of Python crashes (no fakechroot handling). - Mark bug as retraced after apport- chroot retrace finished successfully; the process is robust enough now to avoid enless loops even if retracing fails. - Adapt test- crash-digger accordingly. - UbuntuSpec:apport-retracer-maintenance 2009-01-08 Martin Pitt * bin/apport-retrace, * debian/changelog: [1217] bin/apport-retrace: Do not put outdated -dbgsym comments into the bug comments. * bin/apport-chroot, * debian/changelog: [1216] bin/apport-chroot: Exit with apport- retraces' exit status, to propagate errors upwards to crash-digger. === 0.124 === 2009-01-08 Martin Pitt * debian/changelog: [1215] releasing version 0.124 * debian/apport.default, * debian/changelog: [1214] debian/apport.default: Enable by default again for Jaunty. Let the flood begin! * bin/apport-retrace: [1213] apport-retrace: useful stack trace is enough, does not need to be perfect * bin/apport-retrace, * debian/changelog: [1212] bin/apport-retrace: Update the apt cache before looking for, and installing packages. (Part of UbuntuSpec :apport-retracer-maintenance) * bin/apport-retrace, * debian/changelog, * debian/control: [1211] bin/apport-retrace: If we do not have an usable stack trace, and encounter outdated package versions in the crash, close the report as invalid with an appropriate comment. (LP: #308917) * apport/crashdb.py, * apport/crashdb_impl/launchpad.py, * debian/changelog: [1210] apport/crashdb.py, mark_retrace_failed(): Add new optional argument "invalid_msg", intended for crashes which cannot be retraced properly (e. g. due to outdated packages). Implement this in apport/crashdb_impl/launchpad.py. * apport/crashdb_impl/launchpad.py, * debian/changelog: [1209] apport/crashdb_impl/launchpad.py: Allow using staging for testing. * debian/changelog, * debian/local/ubuntu-fat-chroot: [1208] debian/local/ubuntu-fat- chroot: Divert touch to touch.real and wrap it into a shell wrapper which ignores failures. Some packages use "touch -m" which fails with EPERM on directories under fakechroot. Also disable gconf-schemas and polkit-auth, since they do not work in fakechroots. === 0.123 === 2009-01-05 Martin Pitt * debian/changelog: [1207] releasing version 0.123 * apport/report.py, * debian/changelog: [1206] apport/report.py, add_proc_environ(): Use "PATH=(...)" instead of "PATH: ..." notation, to be consistent with other environment variables. Unbreaks the apport test suite. * apport/report.py, * debian/changelog: [1205] apport/report.py testsuite: Use "isofs" for module license check testing instead of "usbcore", since the latter is more likely to get built into the kernel. * apport/report.py, * debian/changelog: [1204] apport/report.py, add_proc_info(): Only try to attach /proc/pid/attr/current if we are root. This works around Python segfaulting regression when encountering EPERM on read() (see LP #314065). * bin/apport, * debian/changelog: [1203] bin/apport: Remove a previously seen report file, so that the following creation with O_EXCL actually works. * bin/apport, * debian/changelog: [1202] bin/apport: Do not write the report into the log file if opening the report file failed; just log the error. === 0.122 === 2009-01-05 Martin Pitt * debian/changelog: [1201] releasing version 0.122 * apport/crashdb_impl/launchpad.py, * debian/changelog, * doc/data-format.tex: [1200] apport/crashdb_impl/launchpad.py: Support extra tags in the report's "Tags:" field, and set them in the Launchpad bug. Document this in doc/data-format.tex. Thanks to Steve Conklin for the patch! === 0.121 === 2008-12-09 Martin Pitt * debian/changelog: [1199] releasing version 0.121 2008-12-01 Martin Pitt * debian/changelog: [1198] fix changelog * apport/report.py, * debian/changelog, * doc/data-format.tex: [1197] apport/report.py, add_proc_environ(): Do not include verbatim $PATH, only classify it as "default" (does not appear at all then), "custom, user" (/home or /tmp in $PATH), or "custom, no user". Add appropriate test case. Update the data format documentation accordingly. (LP: #245263) * debian/apport.init, * debian/changelog: [1196] debian/apport.init: Make restart actually work if the default file was changed. (LP: #292402) * debian/apport.init, * debian/changelog: [1195] debian/apport.init: Drop long obsolete setting of /proc/sys/kernel/crashdump-size. === 0.120 === 2008-11-26 Martin Pitt * debian/changelog: [1194] releasing version 0.120 * apport/hookutils.py: [1193] hookutils.py: Fix Lspci and Lsusb key names * apport/report.py: [1192] add_hook_info(): Fix error handling for binary hooks, too * apport/hookutils.py, * debian/changelog: [1191] apport/hookutils.py, _parse_gconf_schema(): Correctly handle bool values. * apport/report.py, * debian/changelog: [1190] apport/report.py, add_hooks_info(): Do not print an error if a source package hook does not exist. * apport/report.py, * debian/changelog: [1189] apport/report.py: Also print exceptions from binary and source package hooks, not just from common ones. * apport/hookutils.py, * debian/changelog, * package-hooks/source_linux.py: [1188] * apport/hookutils.py: Add attach_network(), attach_alsa(), and attach_hardware(), and add proper docstrings. Thanks to Matt Zimmerman for the branch! * source_linux.py hook: Use above tool functions, which greatly simplifies the hook. 2008-11-21 Martin Pitt * apport/crashdb_impl/memory.py, * apport/ui.py, * debian/changelog: [1187] apport/crashdb_impl/memory.py: Use example.com, not bug.net, since the latter actually exists now. 2008-11-13 Martin Pitt * apport_python_hook.py, * bin/apport, * debian/changelog, * problem_report.py: [1186] * apport_python_hook.py, bin/apport: Create files in a race free way to avoid symlink attacks. Thanks to Sebastian Kramer for finding them! * problem_report.py test suite: Create debugging leftover which left /tmp/r behind. 2008-10-29 Martin Pitt * apport.init.opensuse, * apport.spec.opensuse, * apport/report.py, * backends/packaging_opensuse.py, * backends/packaging_rpm.py, * debian/changelog: [1185] * apport/report.py: Some distro portability fixes in the test suite, thanks to Nikolay Derkach! * Add OpenSUSE spec file, init script, and RPM packaging backend. Thanks to Nikolay Derkach! * apport/ui.py, * debian/changelog: [1184] apport/ui.py: Fix regression introduced in in 0.115 for checking successful package name determination. * apport/fileutils.py, * bin/apport: [1183] fileutils.py, get_config(): Support boolean values * bin/apport, * debian/changelog, * debian/control: [1182] bin/apport: Check config option "unpackaged", and if it is set to True, create a crash dump for unpackaged programs, too. Bump apport package dependency to python-apport for this. * apport/fileutils.py, * debian/changelog: [1181] apport/fileutils.py: Add new function get_options() to read ~/.config/apport/settings. In the future, the apport-ignore.xml file will move to this directory, too. Based on idea and initial patch from Nikolay Derkach. 2008-10-29 Martin Pitt * python-apport.spec.opensuse: Added. * apport.spec.opensuse: Modified. [1180] merge from opensuse branch 2008-10-29 Martin Pitt * apport.init.opensuse, * apport.spec.opensuse, * backends/packaging_opensuse.py: Added. * backends/packaging_fedora.py, * backends/packaging_rpm.py: Modified. * apport.spec: Renamed to apport.spec.fedora. [1179] merge from opensuse branch 2008-10-28 Martin Pitt * debian/changelog, * man/apport-cli.1: [1178] man/apport-cli.1: Fix "sytem" typo. (LP: #288977) === 0.119 === 2008-10-23 Martin Pitt * debian/changelog: [1177] releasing version 0.119 * debian/apport.default, * debian/changelog: [1176] debian/apport.default: Disable Apport by default for the final release. 2008-10-15 Matt Zimmerman * apport/hookutils.py: [1175] Remove unnecessary import of expat 2008-10-13 Matt Zimmerman * apport/hookutils.py, * debian/changelog: [1174] apport/hookutils.py: add attach_gconf() function to add non-default gconf settings to a report === 0.117 === 2008-10-07 Martin Pitt * debian/changelog: [1173] releasing version 0.117 * apport/crashdb_impl/launchpad.py, * debian/changelog: [1172] apport/crashdb_impl/launchpad.py, update(): Set source package of a bug if the reporter removed it and the task is against 'Ubuntu'. (LP: #269045) * debian/changelog, * test-apport: [1171] test-apport, create_test_process(): Fix race condition: wait until the child process has fully execve()ed, to avoid coredumping it while it is still running as test-apport process. * bin/apport, * debian/changelog: [1170] bin/apport: Log that we are ignoring SIGABRT, since it is a common cause of confusion. * backends/packaging-apt-dpkg.py, * debian/changelog: [1169] backends/packaging-apt-dpkg.py, is_distro_package(): Fix crash if apt.Cache()[pkg].origins is None. (LP: #279353) === 0.116 === 2008-09-26 Martin Pitt * debian/changelog: [1168] releasing version 0.116 * debian/changelog, * debian/local/ubuntu-bug: [1167] debian/local/ubuntu-bug: Fix quoting of the command line arguments, so that several options do not end up as one big argument when being passed to apport-{cli,gtk,qt}. This also repairs launchpad-integration. (LP: #260242) 2008-09-21 Martin Pitt * AUTHORS, * cli/apport-cli, * debian/changelog, * debian/copyright, * qt4/apport-qt: [1166] Update AUTHORS and debian/copyright, Michael and Troy released their copyright to Canonical. Properly attribute them as authors in the respective files. === 0.115 === 2008-09-19 Martin Pitt * debian/changelog: [1165] releasing version 0.115 * debian/changelog, * run-tests: [1164] run-tests: Provide a better error message if apport/packaging_impl.py does not exist. 2008-09-19 Martin Pitt * bin/kernel_oops: Added. * apport/report.py, * apport/ui.py, * debian/apport.install, * debian/changelog, * doc/data-format.tex, * problem_report.py, * setup.py, * test-hooks: Modified. [1163] Add bin/kernel_oops hook to capture a kernel oops (eg. via kerneloops) 2008-09-19 Martin Pitt * debian/changelog: [1162] add bug # to changelog 2008-09-18 Matt Zimmerman * debian/changelog, * general-hooks/automatix.py: [1161] Fix automatix.py to not crash when automatix isn't installed * apport/crashdb_impl/launchpad.py, * apport/ui.py, * problem_report.py, * test-hooks: [1160] Finish renaming Kernel to KernelCrash * debian/apport.install: [1159] Finish renaming kernel_hook * bin/kernel_crashdump, * debian/changelog: [1158] Change kernel crash report type to KernelCrash 2008-09-18 Matt Zimmerman * debian/apport.init, * debian/changelog, * setup.py, * test-hooks: Modified. * bin/kernel_hook: Renamed to bin/kernel_crashdump. [1157] Rename kernel_hook to kernel_crashdump (there are other kernel hooks) 2008-09-18 Matt Zimmerman * package-hooks/source_linux.py: [1156] Simplify test for Uname 2008-09-18 Martin Pitt * apport/crashdb_impl/launchpad.py, * debian/changelog: [1155] apport/crashdb_impl/launchpad.py: Add regression-retracer tag to bugs which seem to be a regression (duplicate, and crash happens in a later version than the fix). (LP: #271876) 2008-09-14 Martin Pitt * AUTHORS: [1154] AUTHORS: Troy James Sobotka released copyright to Canonical 2008-09-11 Martin Pitt * apport/report.py, * debian/changelog: [1153] apport/report.py: If we do not find a bug pattern file for the binary package, fall back to looking for one with the source package name. 2008-09-08 Martin Pitt * AUTHORS: Added. * debian/changelog: Modified. [1152] Add AUTHORS file for collecting the list of major contributors and copyright holders. 2008-09-05 Matt Zimmerman * apport/hookutils.py: [1151] Wrap long lines * debian/changelog, * debian/local/ubuntu-bug: [1150] Extend ubuntu-bug to accept a path as an argument and look up the package name * apport/hookutils.py: [1149] Add recent_syslog to hookutils 2008-09-05 Matt Zimmerman * apport/hookutils.py: Added. * debian/changelog: Modified. [1148] Add apport/hookutils.py with some convenience functions for writing hook scripts (work in progress) === 0.114 === 2008-09-04 Martin Pitt * debian/changelog: [1147] releasing version 0.114 * apport/crashdb_impl/launchpad.py, * debian/changelog: [1146] apport/crashdb_impl/launchpad.py: If PackageArchitecture is 'all', fall back to looking at Architecture instead of not adding a needs-$ARCH-retrace tag at all. This prevented signal crashes originating from e. g. Python packages from being automatically retraced. 2008-09-02 Martin Pitt * apport/report.py, * debian/changelog: [1145] apport/report.py: If a hook crashes with an exception, print it to stderr, for easier debugging of hooks. 2008-09-01 Martin Pitt * doc/crashdb-conf.txt: Added. * apport/crashdb.py, * apport/ui.py, * debian/changelog, * doc/package-hooks.txt: Modified. [1144] * apport/crashdb.py: Add support for /etc/apport/crashdb.conf.d/*.conf crash database configuration files. Document it in doc/crashdb-conf.txt. * apport/ui.py: Support a new field "CrashDB" in apport reports which select a non-default crash database. Document this in doc/package-hooks.txt. 2008-09-01 Martin Pitt * apport/ui.py, * debian/changelog: [1143] apport/ui.py: Use preferred browser when it's recognized as a Mozilla browser (firefox, seamonkey, flock) or Epiphany (LP: #131350) 2008-08-28 Anthony Mercatante * debian/changelog, * debian/control: [1142] aport-qt recommends update-notifier-kde === 0.112 === 2008-08-07 Martin Pitt * debian/changelog: [1141] releasing version 0.112 * apport/ui.py, * debian/changelog: [1140] apport/ui.py: Use gnome-panel as indicator for a running GNOME session; 'gnome-session' now calls itself x -session-manager, which isn't useful to tell apart session types. * apport/crashdb_impl/launchpad.py, * debian/changelog: [1139] apport/crashdb_impl/launchpad.py: Update attachment handling to current python-launchpad-bugs API, thanks Markus Korn! === 0.111 === 2008-08-05 Martin Pitt * debian/changelog: [1138] releasing version 0.111 * debian/changelog, * gtk/apport-gtk.glade, * qt4/apport-qt: [1137] gtk/apport-gtk.glade, qt4/apport-qt: Generalize notification of kernel crash, since it now happens after a boot, not right after the BUG/OOPS. But in the future we want to cover both cases. * debian/changelog, * debian/control: [1136] debian/control: Bump Standards-Version (no required changes). * apport/ui.py, * debian/changelog: [1135] apport/ui.py: Collect information for "ProblemType: Kernel" as well, so that we run the package hook. Adapt test suite to cover this. * bin/kernel_hook, * debian/apport.init, * debian/changelog, * test-hooks: [1134] * bin/kernel_hook, test-hooks: Throw away the original kernel hook which we never used (and got superseded by the proper source_linux.py package hook now). Replace it with the new logic of looking for /var/crash/vmcore{,.log} and turning that into an apport report. * debian/apport.init: Call kernel_hook if /var/crash/vmcore exists. (LP: #241322) * apport/ui.py: [1133] apport/ui.py: fix self.options.package stripping harder * apport/ui.py, * debian/changelog: [1132] apport/ui.py, add_hooks_info(): Collect OS info first, then call the package hooks, so that the linux hook actually has a chance to delete the Uname field. * apport/ui.py, * debian/changelog: [1131] apport/ui.py, run_report_bug(): Strip spaces from package argument. * debian/changelog, * package-hooks/source_linux.py: [1130] package-hooks/source_linux.py: Drop Uname, ProcVersion, and RunningKernelVersion fields, since they are all subsumed in the ProcVersionSignature field. * apport/crashdb_impl/launchpad.py, * debian/changelog: [1129] apport/crashdb_impl/launchpad.py, download(): Support reading bugs with the "--- " separator instead of "ProblemType: ". Launchpad doesn't create bugs that way ATM, but at least we have the reading part implemented now. * apport/crashdb_impl/launchpad.py, * debian/changelog: [1128] apport/crashdb_impl/launchpad.py: Do not write the "Date:" field on upload(), and fetch it from the bug metadata in download(). * debian/changelog, * problem_report.py: [1127] problem_report.py, write_mime(): Add new "skip_keys" argument to filter out keys. Add test cases. * TODO: [1126] some TODO items * apport/crashdb_impl/launchpad.py, * apport/ui.py, * debian/changelog, * doc/data-format.tex: [1125] apport/ui.py: Drop the PackageArchitecture field for the uploaded report if it is equal to Architecture. Adapt apport/crashdb_impl/launchpad.py to fall back to Architecture, and mention the change in doc/data-format.tex. * debian/changelog, * debian/local/ubuntu-bug: [1124] debian/local/ubuntu-bug: If just one argument is given, infer -p/-P from the type of the argument. * apport/ui.py, * debian/changelog: [1123] apport/ui.py: "Do what I mean" when filing a bug against "linux" and report it against the actual kernel package. 2008-07-25 Martin Pitt * apport/packaging.py, * backends/packaging-apt-dpkg.py, * debian/changelog: [1122] apport/packaging.py: Add get_kernel_package() to return the actual Linux kernel package name; useful if the user reports a bug against just "linux". Implement it in backends/packaging-apt-dpkg.py. 2008-07-24 Martin Pitt * debian/changelog, * debian/local/ubuntu-bug.1: [1121] debian/local/ubuntu-bug.1: Fix documentation of -p, it specifies the binary package name, not the source. 2008-07-24 Martin Pitt * package-hooks/source_linux.py: Added. * debian/changelog: Modified. [1120] Add package-hooks/source_linux.py: Package hook for collecting kernel related information. By Matt Zimmerman, thank you! (LP: #251441) 2008-07-24 Martin Pitt * apport/report.py, * debian/changelog: [1119] apport/report.py, test_add_gdb_info_script(): Use bash, not dash as test program for core dumping; stack trace is awkwardly bad with dash, so that the test case cannot really work any more. 2008-07-23 Martin Pitt * debian/apport.default, * debian/changelog: [1118] debian/apport.default: Enable apport by default again, now that we have working retracers. 2008-07-15 Martin Pitt * debian/changelog, * debian/local/setup-apport-retracer: [1117] debian/local/setup- apport-retracer: Fix installation of python-apt. Also install apt, to avoid library version mismatches to python-apt. * debian/changelog, * debian/local/setup-apport-retracer: [1116] debian/local/setup- apport-retracer: Switch to intrepid. 2008-06-13 Martin Pitt * apport/report.py, * debian/changelog, * doc/data-format.tex: [1115] * apport/report.py, add_proc_info(): Report the AppArmor or SELinux context in a new ProcAttrCurrent field, read from /proc/pid/attr/current. Document it in doc/data- format.tex. The field will not be added if the proc attribute cannot be read or isn't present. Thanks to Steve Beattie for the patch and the suggestion! * apport/crashdb_impl/launchpad.py, * debian/changelog: [1114] * apport/crashdb_impl/launchpad.py: Ignore broken LP bug tasks instead of crashing on them. 2008-05-17 Martin Pitt * apport/ui.py, * debian/changelog: [1113] * apport/ui.py: Fix test_run_report_bug_unpackaged_pid() to work with the installed run- tests from the package as well. * debian/changelog: [1112] release as 0.110 to intrepid * apport_python_hook.py, * debian/changelog: [1111] * apport_python_hook.py: Do not create reports if Apport is disabled (in /etc/default/apport). (LP: #222260) * apport/packaging.py, * backends/packaging-apt-dpkg.py, * debian/changelog: [1110] * apport/packaging.py: Introduce a new function enabled() which reports whether Apport should create crash reports. Signal crashes are controlled by /proc/sys/kernel/core_pattern, but we need that to control whether reports for Python, package, or kernel crashes are generated. * backends/packaging-apt-dpkg.py: Provide implementation for PackageInfo.enabled() for Debian/Ubuntu by evaluating /etc/default/apport. Add various test cases for different configuration files and absent files. 2008-05-09 Martin Pitt * bin/crash-digger, * debian/changelog: [1109] * bin/crash-digger: Intercept exceptions when downloading crash reports for duplicate checking, so that the retracer does not crash on malformed bug reports. (LP: #205178) 2008-05-08 Martin Pitt * apport/chroot.py, * debian/changelog: [1108] chroot.py: test chmod and chown, too * apport/chroot.py: [1107] chroot.py: test rm -r, too * apport/chroot.py, * debian/changelog: [1106] * apport/chroot.py: In the test suite, copy some system binaries/libraries into a fakechroot and exercise a lot of standard shell commands (cp, ln -s, rm, mkdir, echo, etc.) with absolute/relative paths. This reproduces the total breakage of rm'ing absolute paths in hardy fakechroots. 2008-05-05 Martin Pitt * debian/changelog: [1105] release as 0.109 to intrepid * debian/changelog: [1104] add bug number 2008-04-29 Martin Pitt * apport/report.py, * debian/changelog: [1103] * apport/report.py, add_proc_info(): also strip pathnames starting with 'cow', 'squashmnt', and 'persistmnt' to allow apport to locate the executable pathname, additionally to 'rofs' added in 0.75. This fixes apport for packages installed on the read-write part of the unionfs mounts and under UME which uses different names for the mount points. Proper fix is to rewrite the pathnames in the kernel. * debian/changelog, * debian/local/setup-apport-retracer: [1102] * debian/local/setup- apport-retracer: Update for some changes in Hardy. 2008-04-16 Martin Pitt * debian/changelog: [1101] release as 0.108 to hardy * debian/apport.default, * debian/changelog: [1100] * debian/apport.default: Disable Apport for the final Hardy release, since it is less useful in stable releases, and drains a lot of CPU and I/O power on crashes. Disabling it here instead of in update-notifier/adept is more discoverable and more centralized. * cli/apport-cli, * debian/changelog, * gtk/apport-gtk, * qt4/apport-qt: [1099] * apport-{gtk,qt,cli}: Fix handling of file references added by package hooks. (LP: #205163) * apport/REThread.py, * apport_python_hook.py, * bin/apport-retrace, * cli/apport-cli, * debian/changelog: [1098] merge bug fixes from Daniel Hahler * debian/changelog, * po/de.po: [1097] * po/de.po: Fix typo (missing space). 2008-04-08 Martin Pitt * backends/packaging_rpm.py, * debian/changelog: [1096] * backends/packaging_rpm.py: Fix RPM platform parsing, thanks to Patryk Zawadzki! (LP: #213015) * backends/packaging_rpm.py, * debian/changelog: [1095] * backends/packaging_rpm.py: Fix dependency resolution of uname(*) in the RPM backend. Thanks to Patryk Zawadzki! (LP: #213018) 2008-04-06 Martin Pitt * debian/changelog: [1094] release as 0.107 to hardy * apport/ui.py, * debian/changelog, * debian/local/ubuntu-bug.1: [1093] * apport/ui.py: Disallow filing a bug without specifying a package or a PID. Update debian/local /ubuntu-bug.1 accordingly (apport-cli manpage was already correct). (LP: #210348) 2008-04-03 Martin Pitt * debian/changelog, * po/Makefile, * po/Makevars, * po/POTFILES.in: [1092] * po/Make{vars,file}: Remove the --language=python option again, since it breaks extracting strings from the glade. intltool-update currently does not seem to have a way to tag a file as "language python", so add an ugly workaround: Create temporary .py symlinks for gtk/apport-gtk & friends, and have intltool extract them. * debian/changelog, * po/de.po: [1091] Update German translations. * cli/apport-cli, * debian/changelog: [1090] * cli/apport-cli: Add translator comment for difficult string. (LP: #210948) 2008-04-01 Martin Pitt * debian/changelog: [1089] release as 0.106 to hardy * apport/report.py, * apport/ui.py, * debian/changelog: [1088] * apport/ui.py: Add test_run_report_bug_unpackaged_pid() test case which reports a bug against a pid which belongs to an unpackaged program. This reproduces LP #203764. * apport/report.py: Drop add_hooks_info() assertion on nonexisting Package field, return silently instead. This conforms to the behaviour of the other add_*_info() functions and avoids nasty error handling. * apport/ui.py: Generate proper error message when calling with -f -p PID and PID belongs to an unpackaged program. (LP: #203764). 2008-03-25 Martin Pitt * apport_python_hook.py, * debian/changelog: [1087] * apport_python_hook.py: Catch IndexError for invalid sys.argv[0], too. (LP: #204940) 2008-03-20 seb128@ubuntu.com * debian/changelog, * po/Makevars: [1086] * po/Makevars: add the --language=python xgettext option so the translations template is correctly updated on build since cdbs is using intltool-update directly and not the corresponding makefile target 2008-03-19 Martin Pitt * apport/crashdb_impl/launchpad.py, * debian/changelog: [1085] * apport/crashdb_impl/launchpad.py: Fix spelling mistake in p-lp-bugs API (now corrected there). 2008-03-18 Martin Pitt * debian/changelog: [1084] release as 0.105 to hardy * apport_python_hook.py, * debian/changelog: [1083] * apport_python_hook.py: If the Python script has mutilated sys.argv so that even sys.argv[0] does not exist any more, fall back into readlink()ing /proc/pid/exe and gracefully handle the failure of that, instead of crashing in the crash handler (ugh). Add test case. (LP: #198183) * apport/ui.py, * debian/changelog: [1082] * apport/ui.py, run_crash(): Intercept other IOErrors, too (such as EISDIR) and print out proper error message instead of crashing. (LP: #201819) * backends/packaging-apt-dpkg.py, * debian/changelog: [1081] * backends/packaging-apt-dpkg.py, get_architecture(): Return 'unknown' instead of None if package architecture cannot be determined. (LP: #198548) * apport/report.py, * debian/changelog: [1080] * apport/report.py, anonymize(): Be robust against empty user names and only anonymize fields which can potentially contain user specific data. (LP: #195706) * apport/crashdb_impl/launchpad.py, * debian/changelog: [1079] * apport/crashdb_impl/launchpad.py: Ignore ValueErrors when subscribing a team, since these are usually due to the team already being subscribed. 2008-03-13 Martin Pitt * debian/changelog: [1078] add missing bug number * debian/changelog: [1077] release as 0.104 to hardy * debian/changelog, * gtk/apport-gtk-mime.desktop.in, * qt4/apport-qt-mime.desktop.in: [1076] * gtk/apport-gtk- mime.desktop.in, qt4/apport-qt-mime.desktop.in: Add a main category. * debian/changelog, * debian/control: [1075] * debian/control: Fix wrongly spelt project names (Python and GTK+). Thanks to lintian's scrutiny. * debian/control: [1074] debian/control: -XS-Vcs-Bzr -> Vcs-Bzr * debian/changelog, * debian/control: [1073] * debian/control: Bump Standards-Version (no changes necessary). * apport/ui.py, * debian/changelog, * doc/package-hooks.txt: [1072] * apport/ui.py: If a report has a field "Ignore", entirely ignore the report without even presenting an explanatory error dialog (as "UnsupportableReason" does). Document this in doc/package-hooks.txt. * apport/report.py, * apport/ui.py, * debian/changelog: [1071] * apport/ui.py, test_collect_info_exepath(): Add a tuple argument and a CompressedValue to the test report. This reproduces LP #199349. * apport/report.py, anonymize(): Only work on string values. (LP: #199349) * apport/ui.py, * debian/changelog: [1070] * apport/fileutils.py, mark_report_seen(): Do not crash if the file does not exist any more, because it was removed underneath us. (LP: #199932) * apport/report.py, * apport/ui.py, * debian/changelog: [1069] * apport/report.py: Split out method add_proc_environ() for getting ProcEnviron, so that we can call it separately. * apport/ui.py, run_report_bug(): Add ProcEnviron if we do not have a pid to file a bug against. This way, bugs filed against packages or distro also get locale information. (LP: #198514) * apport/ui.py, * debian/changelog: [1068] * apport/ui.py tests: assert that ProcEnviron is also included into bug reports where we do not have a PID, since having the local information is interesting and important (and acceptable in terms of personal information). * apport/report.py, * debian/changelog, * problem_report.py: [1067] * apport/report.py: fix module license checking logic (LP: #199927). - nonfree_modules: being unable to find a module should not mean the module is non-free. - test_module_license_evaluation: check modinfo reporting. * problem_report.py: Skip atime test case if file system is mounted noatime. * apport/crashdb_impl/launchpad.py, * debian/changelog: [1066] * apport/crashdb_impl/launchpad.py, get_source_version(): re-escape the package name so that it doesn't stumble over '+' and similar characters. 2008-02-25 Martin Pitt * debian/changelog: [1065] release as .103 to hardy * bin/apport-retrace, * debian/changelog: [1064] * bin/apport-retrace: Print out proper error message instead of an exception if trying to do write operations to the bug tracker without specifying a cookie file. (LP: #146423) * bin/apport-retrace, * debian/changelog: [1063] * bin/apport-retrace: Only update a bug report with new attachments if it is not a duplicate. (LP: #172792) * apport/report.py, * apport/ui.py, * apport_python_hook.py, * debian/changelog: [1062] * apport/ui.py: Add test case test_run_crash_anonymity() which asserts that the crash dump does not contain strings which can identify the user, such as the user name, login name, host name, and current directory. * apport/report.py: Add method anonymize() which replaces user specific strings with generic ones. * apport/ui.py, thread_collect_info(): Call anonymize() on the report. (LP: #192786) * debian/changelog, * problem_report.py: [1061] * problem_report.py(): Make write() work for reports with CompressedValues. Add test case. * apport/report.py, * debian/changelog, * doc/data-format.tex: [1060] * apport/report.py: Use uname -srm, not -a, to hide the hostname. (part of LP #192786); also use os.uname() instead of calling the system program. * apport/report.py, * debian/changelog, * doc/data-format.tex: [1059] * apport/report.py: Use uname -srmo, not -a, to hide the hostname. (part of LP #192786) * apport/ui.py, * debian/changelog: [1058] * apport/ui.py, parse_argv(): Specify that --pid/-P argument must be an integer, to avoid exceptions when it's not. (LP: #193494) * apport/report.py, * debian/changelog: [1057] * apport/report.py: Add standard_title() test cases for Python crashes with a custom message, and a custom message with newlines. The latter reproduces LP #190947. * apport/report.py, standard_title(): Do not rely on a fixed position of the topmost function; use iteration and regular expression matching instead. (LP: #190947) * backends/packaging-apt-dpkg.py, * debian/changelog: [1056] * backends/packaging-apt-dpkg.py, is_distro_package(): Explicitly check site for "ppa", so that we do not automatically file bugs for PPA packages. This works around Soyuz bug LP #140412 for the time being. 2008-02-06 Martin Pitt * bin/apport-unpack, * debian/changelog: [1055] * bin/apport-unpack: Print error messages instead of crashing for problems like nonexisting file names passed as arguments. (LP: #185273) * debian/changelog: [1054] release as 0.102 to hardy * apport/ui.py, * debian/changelog, * man/apport-cli.1: [1053] * apport/ui.py: Waive check for obsolete packages if environment defines $APPORT_IGNORE_OBSOLETE_PACKAGES. Document this in the apport-cli manpage. (LP: #148064) * apport/ui.py, * cli/apport-cli, * debian/changelog: [1052] * apport/ui.py, run_argv(): Add return code which indicates whether any report has been processed. * cli/apport- cli: If no pending crash reports are present, say so and refer to --help. (LP: #182985) * bin/apport-checkreports, * debian/changelog: [1051] * bin/apport-checkreports: Print out a list of program names/packages which have a pending crash report. (LP: #145117) * cli/apport-cli, * debian/changelog: [1050] * cli/apport-cli: Intercept SIGPIPE when calling sensible-pager, to avoid crash when quitting it prematurely. (LP: #153872) * apport/ui.py, * debian/changelog: [1049] * apport/ui.py: Add various test cases for crash reports whose packages have been uninstalled between the crash and the report. This reproduces LP #186684. * apport/ui.py, load_report(): Produce proper error message if executable/interpreter path do not exist any more. (LP: #186684) * apport/ui.py, * debian/changelog: [1048] * apport/ui.py: Do not include ProcCmdline in bug reports, since these are not ack'ed by the user and might contain sensitive data. (LP: #132800) 2008-02-05 Martin Pitt * apport/ui.py, * debian/changelog: [1047] * apport/ui.py: Give a meaningful error message instead of crashing if the package for a crash report is not installed any more. (LP: #149739) 2008-02-05 Martin Pitt * qt4/apport-qt-mime.desktop.in, * qt4/apport-qt-mimelnk.desktop.in: Added. * debian/apport-qt.install, * debian/changelog, * debian/rules, * gtk/apport-gtk-mime.desktop.in, * qt4/Makefile, * qt4/apport-qt.desktop.in: Modified. [1046] * .crash file integration for KDE3 (LP: #177055) - debian /apport-qt.install: install added files qt4/apport-qt-mime.desktop and qt4/apport-qt-mimelnk.desktop * Fixed minor warnings/errors from desktop-file-validate in gtk/apport-gtk-mime.desktop.in and qt4 /apport-qt.desktop.in (LP: #146957) 2008-02-05 Martin Pitt * apport/ui.py, * debian/changelog: [1045] * apport/ui.py, run_crash(): Catch zlib.error on invalidly compressed core dumps. (LP: #176977) * debian/apport.init, * debian/changelog: [1044] * debian/apport.init: Do not stop apport in any runlevel (LSB header). * debian/changelog, * debian/rules: [1043] * debian/rules: Use dh_icons instead of dh_iconcache. * debian/changelog, * debian/control, * debian/rules, * run-tests: [1042] * debian/control, debian/rules: Switch from python-support to python-central, and use 'nomove' option so that apport works during upgrades, too. (LP: #121341) * debian/changelog, * problem_report.py: [1041] * problem_report.py: Support reading reports with legacy zlib compression in 'retain compressed values' mode (as used nowadays by apport when reporting a crash). Add a test case, too. (LP: #129616) 2008-01-23 martin@piware.de * debian/changelog: [1040] release as 0.101 to hardy * apport/report.py, * debian/changelog: [1039] * apport/report.py: Fix test_add_gdb_info_load() test case, the temporary executable was already deleted when gdb ran the second time. 2008-01-22 martin@piware.de * apport/ui.py, * debian/changelog: [1038] * apport/ui.py: Add test case for reporting a report which has been preprocessed by apport-retrace, i. e. has a stack trace, but no core dump any more (reproducing LP #185084). * apport/ui.py, run_crash(): Do not reject reports which have a stack trace, but no core dump. (LP: #185084) 2007-12-27 martin@piware.de * debian/changelog, * debian/control: [1037] * debian/control: Add python-xdg dependency to apport, since apport-cli needs it. (LP: #177095) 2007-12-21 martin@piware.de * debian/changelog: [1036] release as 0.100 to hardy * TODO, * debian/apport.init, * debian/changelog, * use-local: [1035] * debian/apport.init, use-local: Now call apport with %p, %s, and %c kernel macros (since 2.6.24). Drop Edgy support from init script. 2007-12-21 martin@piware.de * apport/elfcore.py: Removed. * bin/apport, * debian/changelog, * test-apport: Modified. [1034] * bin/apport: Drop evaluation of CORE_* environment variables and mandate calling with . Drop the now obsolete apport/elfcore.py. Adapt test-apport accordingly. 2007-12-20 martin@piware.de * apport/ui.py, * debian/changelog: [1033] * apport/ui.py: Sleep for 0.5 seconds after creating the test process in the test suite to give /proc some time to settle down. * apport/ui.py, * debian/changelog: [1032] * apport/ui.py: Robostify cleanup of forked test processes. 2007-11-30 Martin Pitt * debian/changelog, * debian/local/setup-apport-retracer: [1031] * debian/local/setup- apport-retracer: Update default apt sources to http://ddebs.ubuntu.com. 2007-11-27 Martin Pitt * apport/crashdb_impl/launchpad.py, * debian/changelog: [1030] * apport/crashdb_impl/launchpad.py: get_source_info() does not work any more due to HTML changes in Launchpad, and not showing the component any more on /distro/+source/package. Since we do not actually need component and release name any more, rename it to get_source_version(), fix the regular expression to just get the version, and adapt get_fixed_version() accordingly. * debian/changelog, * debian/local/setup-apport-retracer: [1029] * debian/local/setup- apport-retracer: Update for hardy. 2007-11-19 Martin Pitt * debian/changelog, * problem_report.py: [1028] * problem_report.py: Add test case to check that update() works and does the right thing with binary values and overwriting. This confirms that importing a dictionary works. 2007-10-31 martin@piware.de * apport/report.py, * debian/changelog, * problem_report.py: [1027] * apport/report.py testsuite: Check that our methods get along with binary data which turn into CompressedValue objects after loading them from a file. This reproduces LP #148305. * problem_report.py, CompressedValue: Add method splitlines() since we need it very often. Add test case to test_compressed_values(). (LP: #148305) * bin/apport, * debian/changelog: [1026] * bin/apport: Do not re-raise exceptions about failure to create the lock file, to avoid crashing in the case that another apport instance tries to lock at exactly the same moment. (LP: #147237) 2007-10-30 martin@piware.de * bin/crash-digger, * debian/changelog, * test-crash-digger: [1025] * bin/crash-digger: Add option --log for logging to a file, and --pidfile/--stop for daemonization. Add test cases to test-crash-digger. 2007-10-28 martin@piware.de * debian/changelog: [1024] release as 0.99 to hardy * run-tests: [1023] run-tests: only check crash-digger in local mode * apport/fileutils.py, * apport/ui.py, * debian/changelog: [1022] * apport/ui.py: Only import xdg.DesktopEntry when a .desktop file has been found in the affected package. This avoids the dependency on servers with just apport-cli. Thanks, Matthias Gug! (LP: #130013) * apport/fileutils.py: Do not fail if there are no packages installed which have one or several .desktop files. Thanks, Matthias Gug! * debian/changelog, * qt4/apport-qt: [1021] * qt4/apport-qt: Fix Unicode <-> UTF-8 conversion. Thanks, Daniel Hahler! (LP: #148177) * debian/changelog, * gtk/apport-gtk.glade: [1020] * gtk/apport-gtk.glade: Fix title of upload progress window to comply to HIG. Thanks, Bruce Cowan. (LP: #144782) * apport/ui.py, * debian/changelog: [1019] * apport/ui.py, run_crash(): Intercept ENOSPC and present a proper error message. (LP: #145100) * cli/apport-cli, * debian/changelog: [1018] * cli/apport-cli, ui_present_package_error(): Fix running of dialog, so that reporting package problems with apport-cli actually works. (LP: #136369) * apport/ui.py, * debian/changelog: [1017] * apport/ui.py, run_crash(): Intercept CRC errors from the info collection thread, which happens on broken core dumps. (LP: #132212) 2007-10-28 martin@piware.de * test-crash-digger: Added. * debian/changelog, * run-tests: Modified. [1016] * Add test-crash-digger: Initial test suite for bin/crash- digger. 2007-10-28 martin@piware.de * bin/crash-digger, * debian/changelog: [1015] * bin/crash-digger: Use self.log() more consistently, and flush stdout in log(), so that we do not lose logs on output redirection. * apport/crashdb_impl/memory.py: [1014] apport/crashdb_impl/memory.py: do only mark Python crashes as "needs duplicate check" 2007-10-26 martin@piware.de * apport/crashdb_impl/memory.py: [1013] apport/crashdb_impl/memory.py: add DistroRelease fields to dummy data * apport/crashdb_impl/memory.py, * debian/changelog: [1012] * apport/crashdb_impl/memory.py: Support 'dummy_data' option which adds a few dummy crashes by default. This is useful for external test suites which cannot otherwise pre-fill the in-memory db. Add checks that this works properly. * apport/crashdb_impl/memory.py, * debian/changelog: [1011] * apport/crashdb_impl/memory.py: Implement mark_retraced(), get_unretraced(), and get_dup_unchecked() for completeness, and define _MemoryCrashDBTest also when not running file as __main__. This makes the class useful for higher-level test suites. Add test cases for the new functions. * apport/ui.py, * debian/changelog: [1010] * apport/ui.py, run_crash(): Show a proper UI error message instead of just crashing with an exception if the crash report is inaccessible for the invoking user. (LP: #146464) * apport_python_hook.py, * debian/changelog: [1009] * apport_python_hook.py: Add user info, too. Also add check for this to the test suite. (LP: #145109) * cli/apport-cli, * debian/changelog, * po/de.po, * qt4/apport-qt: [1008] * cli/apport-cli, qt4/apport-qt: Fix typo 'send' -> 'sent'. (LP: #139288) 2007-10-06 Martin Pitt * debian/changelog: [1007] release as 0.98 to gutsy 2007-10-04 Martin Pitt * apport/crashdb_impl/launchpad.py, * debian/changelog: [1006] * Use bugs.launchpad.net for +filebug and +bugs requests. (LP: #138090) 2007-10-01 Martin Pitt * bin/crash-digger, * debian/changelog: [1005] * bin/crash-digger: Only consolidate the duplicate DB when -i is given (i. e. usually only on one running instance). * apport/crashdb_impl/memory.py: [1004] apport/crashdb_impl/memory.py: add disabled test case for locking of consolidation 2007-09-10 Martin Pitt * apport/crashdb_impl/launchpad.py, * debian/changelog: [1003] * apport/crashdb_impl/launchpad.py, close_duplicate(): Explicitly set the duplicate after removing attachments, since the new LP does not allow any modification of duplicate bugs. * apport/crashdb_impl/launchpad.py, * debian/changelog, * debian/control: [1002] * apport/crashdb_impl/launchpad.py, download(): Use Bug.description_raw, since LP mangles spaces in .description. Bump p-lp-bugs dependency. * apport/crashdb_impl/launchpad.py, * debian/changelog: [1001] * apport/crashdb_impl/launchpad.py, test examples: Do not duplicate to bug #1, that generates a huge amount of spam. Use another test bug. * debian/changelog, * debian/local/setup-apport-retracer: [1000] * debian/local/setup- apport-retracer: launchpadBugs -> launchpadbugs (recently renamed Python package in python-launchpad-bugs). * TODO: [999] TODO item * apport/crashdb_impl/launchpad.py, * debian/changelog, * debian/control: [998] Merge Markus' and Daniel's porting to new p -lp-bugs 2007-08-22 Martin Pitt * debian/changelog, * debian/local/setup-apport-retracer: [997] * debian/local/setup- apport-retracer: Adapt ddeb apt source for the move from ~pitti to ~ubuntu-archive. 2007-08-21 Martin Pitt * debian/changelog, * problem_report.py: [996] * problem_report.py: Coerce CompressedValue.__len__() to return an int to work on Python 2.4, too. * debian/changelog: [995] release as 0.96 to gutsy * apport/crashdb.py, * debian/changelog: [994] * apport/crashdb.py: Drop the last argument (-1), since it is the default anyway and did not yet exist on Python 2.4. 2007-08-21 Martin Pitt * man/apport-chroot.1: Added. * debian/apport-retrace.manpages, * debian/changelog: Modified. [993] add manpage for apport-chroot 2007-08-21 Martin Pitt * debian/changelog, * problem_report.py: [992] * problem_report.py, write_mime(): Use base64 encoding for gzipped attachments, to not screw up mail servers. Thanks to Tim Yamin for this patch! * problem_report.py: [991] problem_report.py: fix syntax for older Python versions 2007-08-20 Martin Pitt * man/apport-retrace.1: [990] apport-retrace.1: document --duplicate- db 2007-08-15 Martin Pitt * debian/local/setup-apport-retracer: [989] setup-apport-retracer: use --print-architecture * apport/crashdb_impl/launchpad.py, * debian/changelog, * debian/local/setup-apport-retracer: [988] * apport/crashdb_impl/launchpad.py, debian/local/setup-apport-retracer: Use packaging.get_system_architecture() (which is dpkg --print- architecture on Debian/Ubuntu) instead of uname, so that this does the right thing on lpia. * apport/fileutils.py, * debian/changelog: [987] * apport/fileutils.py, find_file_package(): Try to resolve symlinks in the directory path. (LP: #125551) 2007-08-15 Martin Pitt * man/apport-cli.1, * man/dupdb-admin.1: Added. * debian/apport-retrace.manpages, * debian/apport.manpages, * debian/changelog: Modified. [986] * Create man pages for apport-cli, dupdb-admin. 2007-08-11 Martin Pitt * debian/changelog: [985] release as 0.95 to gutsy * debian/changelog, * debian/rules: [984] * debian/rules: Blacklist wine-preloader, so that we ignore wine crashes until an appropriate way is found to deal with them. (Point 6 of apport-better-retracing spec.) 2007-08-11 Martin Pitt * doc/README.blacklist: Added. * TODO, * apport/report.py, * debian/changelog, * setup.py: Modified. [983] * apport/report.py: Support system-wide blacklisting: /etc/apport/blacklist.d/. Add test cases. * Add doc/README.blacklist: Document blacklist.d/, install it there in setup.py. 2007-08-01 Martin Pitt * debian/changelog, * general-hooks/automatix.py: [982] * general-hooks/automatix.py: Remove hashbang, it's not an executable script. 2007-07-31 Martin Pitt * debian/changelog: [981] release as 0.94 to gutsy * debian/control: [980] bump p-problem-report dependency * apport/ui.py, * cli/apport-cli, * debian/changelog, * gtk/apport-gtk, * qt4/apport-qt: [979] * apport/ui.py: Load crash report with keeping compressed binaries. This avoids loading the entire uncompressed core dump into memory, and avoids recompressing it all over again for generating the crash database upload MIME document. This greatly speeds up crash reporting, too. (LP: #98562) * apport/report.py, * debian/changelog: [978] * apport/report.py, add_gdb_info(): Make function work if CoreDump is a compressed value. * problem_report.py: [977] problem_report.py: Add CompressedValue.__len__ * problem_report.py: [976] problem_report.py: remove property, they are broken; add CompressedValue.write() * debian/changelog, * problem_report.py: [975] * problem_report, write_mime(): Make function work for compressed binary values. Add test case. * debian/changelog, * problem_report.py: [974] * problem_report, write_mime(): Eliminate unnecessary usage of StringIO. * problem_report.py: [973] problem_report.py, CompressedValue: add default value ctor argument * problem_report.py: [972] problem_report.py: Enrich CompressedValue interface a bit, add test cases * debian/changelog, * problem_report.py: [971] * problem_report.py, write(): Add new permitted 'binary' argument value 'compressed', which retains gzip compressed binary values instead of unpacking them transparently. Add test cases. * debian/changelog, * doc/data-format.tex, * problem_report.py: [970] * problem_report.py: Switch encoding of binary values from bare zlib to proper gzip format, since this is much more useful when reusing the compressed value. Retain support for zlib-only reports. Add test cases for both old and new encodings, and adapt the other test cases for the new format. Update doc/data-format.tex accordingly. * apport/report.py, * debian/changelog: [969] * apport/report.py, test_add_proc_info(): Fix determination of /bin/zgrep interpreter. 2007-07-30 Martin Pitt * apport/report.py: [968] fix comment in report.py * debian/changelog, * problem_report.py: [967] * problem_report.py: Remove support for reading bz2 compressed binary data. That was only relevant during edgy's development cycle. * apport/crashdb.py, * apport/crashdb_impl/launchpad.py, * apport/crashdb_impl/memory.py, * apport/ui.py, * debian/changelog, * debian/control: [966] * apport/crashdb.py: Add a second optional parameter to upload() to specify an upload progress callback function. Adapt the declarations in the Launchpad and Memory implementations, too. * apport/crashdb_impl/launchpad.py, upload(): Pass upload progress callback handler to launchpadBugs.storeblob.upload(), which supports this since version 0.2~39. Bump dependency to it accordingly. * apport/ui.py, file_report(): Define an upload progress callback handler, pass it to the crashdb upload(), and feed ui_set_upload_progress() with some actual data. (LP: #91521) * test-apport: [965] fix test-apport for running packaged apport from the test suite * debian/changelog, * run-tests: [964] * run-tests: In 'local' mode, only explicitly run the apt/dpkg implementation instead of backends/*, since the RPM ones don't have tests yet. 2007-07-30 Martin Pitt * bin/gcc_ice_hook: Added. * debian/apport.install, * debian/changelog, * setup.py, * test-hooks: Modified. [963] * Add bin/gcc_ice_hook: Script to create an apport report for a gcc ICE (internal compiler exception). Add test cases to test-hooks, and ship it in the 'apport' package. (LP: #125551) 2007-07-27 Martin Pitt * test-apport: [962] ./test-apport: fix variable name in lib mode * bin/apport, * debian/changelog, * test-apport: [961] make apport locking safe against symlink attacks, add test suite check * bin/apport, * debian/changelog: [960] * bin/apport: Implement lock file checking to avoid running several apport instances at the same time. (LP: #119622) * debian/changelog, * test-apport: [959] * test-apport: Add check that apport aborts immediately if another apport instance is already running. * TODO, * apport/report.py, * debian/changelog: [958] * apport/report.py, obsolete_packages(): Fix crash when apt does not know an available version of a package. (LP: #128176) * TODO: [957] remove obsolete TODO item 2007-07-25 Martin Pitt * debian/changelog, * doc/data-format.tex: [956] * doc/data-format.tex: Some updates to incorporate feedback from Gnome upstream: - Do not talk about "Distributions" any more, but "Operating systems". Gnome is used on non-Linux OSs, too. - Split "DistroRelease:" field into "OS:" and "OSRelease:". - Explicitly mention that CoreDump, StackTrace etc. can also contain minidump output. - Increase document version to 0.2. * debian/changelog: [955] release as 0.93 to gutsy * apport/crashdb_impl/launchpad.py, * debian/changelog: [954] * apport/crashdb_impl/launchpad.py: Add function get_source_info() which parses out release, version, and component from https://launchpad.net/$DISTRO/+source/$PACKAGE. * apport/crashdb_impl/launchpad.py, get_fixed_version(): If a bug is fixed, return the current version (as approximation of the version where the bug was fixed), instead of an empty string (which meant 'fixed in unknown version'). [apport-crash-duplicates spec] * apport/crashdb_impl/launchpad.py, * debian/changelog: [953] * apport/crashdb_impl/launchpad.py: Fix typo in bug comment string. * bin/dupdb-admin, * debian/changelog: [952] * bin/dupdb-admin, command_dump(): Correctly interpret empty version strings as 'fixed in unknown verrsion', not 'unfixed'. * apport/crashdb.py, * debian/changelog: [951] * apport/crashdb.py: Set sqlite connect timeout to two hours, instead of the default 5 seconds. Previously, one retracer always crashed when the other was consolidating the database. 2007-07-24 Martin Pitt * debian/changelog: [950] release as 0.92 to gutsy * apport/crashdb_impl/launchpad.py, * debian/changelog: [949] * apport/crashdb_impl/launchpad.py, update(): Set bug importance to Medium if retracing was successful. (LP: #106379) * apport/report.py, * debian/changelog: [948] * apport/report.py, crash_signature(): Generate a signature for one-line Python tracebacks, too. This sometimes seems to happen, e. g. LP#124588. (LP: #125020) * apport/crashdb_impl/launchpad.py, * debian/changelog: [947] * apport/crashdb_impl/launchpad.py, __init__(): Only do the "download bug #2" hack if we actually have an authentication cookie. Thus, do it only on the retracing servers, not on the client side. (LP: #125142) * debian/changelog, * preloadlib/Makefile, * preloadlib/libapport.c, * test-apport: [946] * Revive preloadlib/: - Remove PIPE_CORE #ifdefs and make them the default. We do not need to support the Edgy kernel patches in this version any more. - Install signal handler for SIGABRT, too. - Read core ulimit, pass it to apport in CORE_REAL_RLIM, and set it to zero for the program, since we do not actually want the kernel to write core files when we pipe the core dump to apport. - test-apport: Pass APPORT_REPORT_DIR to the manually called apport instance in the memory clipping test; otherwise it'll write into /var/crash/, which we do not consider in library mode. * apport/ui.py, * debian/changelog: [945] * apport/ui.py, collect_info(): Collect additional information for 'Package' problem reports, too. * apport/ui.py, * debian/changelog: [944] * apport/ui.py, test_run_crash_package(): Check that 'Package' problem reports collect additional information, too. * debian/changelog, * doc/package-hooks.txt: [943] * doc/package-hooks.txt: Do not document UnsupportableReason, since it does not make sense to set it in package hooks (it is checked before calling the hooks). Hooks should use UnreportableReason only. 2007-07-24 Martin Pitt * general-hooks, * general-hooks/automatix.py: Added. * debian/apport.dirs: Removed. * debian/apport.install, * debian/changelog, * setup.py: Modified. [942] * Add general-hooks/automatix.py: Refuse to send problem reports if automatix is installed. 2007-07-24 Martin Pitt * apport/ui.py, * debian/changelog: [941] * apport/ui.py, __init__(): Intercept ImportError, which can happen for crashes during system upgrades. (LP: #124354) 2007-07-23 Martin Pitt * bin/apport-unpack, * debian/changelog: [940] * bin/apport-unpack: Fix format string in error message. 2007-07-22 Martin Pitt * apport/crashdb_impl/launchpad.py, * debian/changelog: [939] * apport/crashdb_impl/launchpad.py, get_unfixed(): Search for 'apport-crash' tag, not 'apport'. 2007-07-20 Martin Pitt * bin/crash-digger, * debian/changelog: [938] * bin/crash-digger: Add option -i/--arch- indep-dupcheck to explicitly enable duplicate checking of arch- independent crashes like Python exceptions. We only want to process them on one architecture to avoid scattering the duplicate database. * debian/local/ubuntu-fat-chroot: [937] debian/local/ubuntu-fat- chroot: remove explicit ucf install, not necessary with diversion * debian/changelog, * debian/local/setup-apport-retracer: [936] * debian/local/setup- apport-retracer: launchpad-crash-digger -> crash-digger. * debian/changelog, * debian/local/ubuntu-fat-chroot: [935] * debian/local/ubuntu-fat- chroot: Use diversions for the binaries we want to disable, so that chroot upgrades do not trash the modifications. 2007-07-20 Martin Pitt * debian/changelog: Modified. * bin/ubuntu-fat-chroot: Renamed to debian/local/ubuntu-fat-chroot. [934] * Move ubuntu-fat-chroot from bin/ to debian/local/, since it is so heavily Ubuntu specific. 2007-07-20 Martin Pitt * bin/crash-digger, * debian/changelog: [933] * bin/crash-digger: Do not crash if duplicate db is locked when attempting to consolidate it. This happens often because in the DC we have two parallel instances (for amd64 and i386). 2007-07-14 Martin Pitt * debian/changelog: [932] release as 0.91 to gutsy 2007-07-14 martin@piware.de * TODO, * apport/crashdb.py, * bin/dupdb-admin, * debian/changelog: [931] * Add bin/dupdb-admin: Initial version of duplicate db CLI app; can dump the db, display consolidation state, and change master bug IDs for now. Ship it in apport-retrace. * apport/crashdb.py, * apport/crashdb_impl/memory.py, * debian/changelog: [930] * apport/crashdb.py: Add duplicate_db_change_master_id() to change the master ID of a crash. Add test case to apport/crashdb_impl/memory.py. * debian/changelog: [929] fix changelog typo * apport/ui.py, * debian/changelog: [928] * apport/ui.py, open_url(): Intercept weird race condition for os.close() trying to close an already invalidated fd. (LP: #123180) * apport/fileutils.py, * debian/changelog: [927] * apport/fileutils.py, likely_packaged(): Ignore /var/lib/schroot. Add test case. (LP: #122859) * apport/ui.py, * debian/changelog: [926] * apport/ui.py, run_report_bug(): Do not crash if the target process runs as a different user. Print a proper error message instead. Add test case test_run_report_bug_noperm_pid(). (LP: #121121) * apport/fileutils.py, * debian/changelog: [925] * apport/fileutils.py, mark_report_seen(): Do not crash if the file has already been deleted underneath us. (LP: #122347) * apport/ui.py, * debian/changelog: [924] * apport/ui.py: - test_run_report_bug_package(): Add test case for calling the UI in bug filing mode with an invalid package name. - run_report_bug(): Do not crash on invalid package name, generate an error message instead. (LP: #123644) 2007-07-13 martin@piware.de * bin/crash-digger, * debian/changelog: [923] * bin/crash-digger: Fix dumping of dup db after consolidation. * apport/crashdb.py, * debian/changelog: [922] * apport/crashdb.py, duplicate_db_last_consolidation(): Fix timedelta seconds calculation to actually take the days into account, too. 2007-07-13 martin@piware.de * bin/dupdb-admin: Added. * debian/apport-retrace.install, * debian/changelog, * setup.py: Modified. [921] * Add bin/dupdb-admin: Initial version of duplicate db CLI app; can only dump the db and display consolidation state for now, but will grow more features later. Ship it in apport-retrace. 2007-07-13 martin@piware.de * apport/crashdb.py, * debian/changelog: [920] * apport/crashdb.py: Split out duplicate_db_last_consolidation() for getting the date (or seconds since) the last consolidation, so that we can use it externally. 2007-07-12 martin@piware.de * apport/crashdb_impl/launchpad.py, * debian/changelog: [919] * apport/crashdb_impl/launchpad.py, close_duplicate(): If the master bug is already duped to yet another bug, mark the bug to that one instead of the master. * apport/crashdb_impl/launchpad.py, * debian/changelog: [918] * apport/crashdb_impl/launchpad.py, close_duplicate(): Delete some attachments, as specified in apport- crash-duplicates spec, and make the bug public afterwards. 2007-07-11 martin@piware.de * TODO: [917] TODO item 2007-07-10 martin@piware.de * apport.init.fedora, * apport.spec, * apport/elfcore.py, * backends/packaging_fedora.py, * backends/packaging_rpm.py: Added. * bin/apport, * crashdb.conf, * debian/changelog: Modified. [916] Merge the fedora branch, thanks a lot to Will Woods wwoods@redhat.com>: * Add apport.init.fedora: Fedora specific init script. * Add apport.spec: RPM build recipe. * Add backends/packaging_rpm.py: Partial implementation of the packaging backend for RPM which applies to all RPM-based distros. * Add backends/packaging_fedora.py: Concrete packaging backend implementation for Fedora. * apport/elfcore.py: Classes for parsing general ELF files, and information from core dumps. * bin/apport: Fall back to reading signal number and PID directly from the core file (via elfcore.py) if CORE_SIGNAL and CORE_PID are not defined (i. e. when running on a non-Ubuntu kernel). * crashdb.conf: Add stanzas for Fedora and a 'debug' database which uses the 'memory' crashdb implementation. 2007-07-10 martin@piware.de * bin/apport, * debian/changelog: [915] * bin/apport: Remove code that supported the Edgy kernel way of core dump passing. Also factorize the CORE_REAL_RLIM evaluation, since it is likely to change in the near future. * debian/changelog: [914] release as 0.90 to gutsy 2007-07-10 martin@piware.de * debian/apport.dirs: Added. * TODO, * apport/report.py, * debian/changelog, * doc/package-hooks.txt: Modified. [913] * apport/report.py: Support another hook directory /usr/share/apport/general-hooks/ for scripts which are run for every problem report. This was requested for adding e. g. AppArmor logs, etc. Add test cases. * Add debian/apport.dirs again to ship that hook directory. * doc/package-hooks.txt: Document the general hooks. 2007-07-10 martin@piware.de * apport/crashdb_impl/launchpad.py, * debian/changelog: [912] * apport/crashdb_impl/launchpad.py: Simplify _subscribe_triaging_team(), now that we do not differ between main and universe policies any more. * po/de.po: [911] update po/de.po * TODO, * cli/apport-cli, * debian/changelog: [910] * cli/apport-cli: Add option for keeping the report file without sending it, and to display its path. This is for sending the report later, copying it from a server to a workstation with internet connection, etc. * po/de.po: [909] Fix amgiguous keyboard shortcut in de.po * po/de.po: [908] fix format string error in de.po * debian/changelog, * po/de.po: [907] * po/de.po: Updated for apport-cli. * debian/changelog, * po/POTFILES.in: [906] * po/POTFILES.in: Add missing cli/apport-cli. * po/de.po: [905] po/de.po: Fix typo * apport/ui.py, * debian/changelog: [904] * apport/ui.py: Do not ask the initial "Do you want to report this?" question when being invoked with --crash- file. 2007-07-10 martin@piware.de * debian/apport.links: Added. * debian/changelog: Modified. [903] * Add debian/apport.links: Install an icon symlink for the MIME type. 2007-07-10 martin@piware.de * xdg-mime, * xdg-mime/apport.xml: Added. * TODO, * debian/apport.install, * debian/changelog, * debian/rules, * setup.py: Modified. [902] * Add xdg-mime/apport.xml: XDG MIME type definition for .crash files. 2007-07-10 martin@piware.de * gtk/apport-gtk-mime.desktop.in: Added. * debian/apport-gtk.install, * debian/changelog, * debian/rules, * gtk/Makefile: Modified. [901] * Add gtk/apport-gtk-mime.desktop.in: Link text/x-apport MIME type to apport-gtk -c, so that .crash files can be reported with Gnome. 2007-07-09 martin@piware.de * TODO, * apport/ui.py, * debian/changelog: [900] * apport/ui.py: Add option -c/--crash-file to run the UI with a particular crash file (which can be anywhere) instead of all pending crashes in /var/crash/. * apport/report.py, * debian/changelog: [899] * apport/report.py, obsolete_packages(): Use the version comparison from the packaging system instead of just testing for inequality. This catches zero epochs. Thanks to Will Woods ! * TODO: [898] remove bogus TODO item 2007-07-09 martin@piware.de * debian/apport-cli.install: Removed. * debian/apport.install, * debian/changelog, * debian/control: Modified. * debian/apport-cli.README.Debian: Renamed to debian/apport.README.Debian and modified. [897] * Merge apport-cli package into apport itself. The program itself is just 3 kB compressed, and it's not worth wasting another 34 kB compressed changelog for this tiny bit. 2007-07-09 martin@piware.de * TODO: [896] TODO updates for server needs 2007-07-08 Martin Pitt * TODO: [895] TODO items 2007-07-06 Martin Pitt * apport/ui.py, * debian/changelog: [894] * apport/ui.py, load_report(): Catch IOError, too. LP: #118827 * debian/changelog: [893] release as 0.89 to gutsy * apport/crashdb_impl/launchpad.py, * debian/changelog: [892] * apport/crashdb_impl/launchpad.py, get_distro_release(): Make this function work with private bugs, too, by using p-lp-bugs' safe_urlopen(). * apport/crashdb_impl/launchpad.py: [891] apport/crashdb_impl/launchpad.py, download(): fix description parsing harder 2007-07-05 Martin Pitt * TODO, * apport/crashdb_impl/launchpad.py, * debian/changelog: [890] * apport/crashdb_impl/launchpad.py, download(): Replace dodgy parsing of fields from the description with proper code, so that multi-line fields are read correctly, too. * TODO: [889] remove obsolete TODO * TODO: [888] TODO items * apport/crashdb_impl/launchpad.py, * debian/changelog: [887] * apport/crashdb_impl/launchpad.py: Implement private crash bug handling, according to https://wiki.ubuntu.com/CrashReporting: - upload(): If we have an Ubuntu bug, mark it as private and only subscribe 'apport' (the 'Apport retracing service' user). - Add function _subscribe_triaging_team() which subscribes ubuntu-crashes-main for source packages in Ubuntu main or restricted, or ubuntu- crashes-universe for other packages. It does not touch non-Ubuntu bugs, since these are not marked private by default and are outside of the scope of this spec. - update(), _mark_dup_checked(): Call _subscribe_triaging_team(). - Note: This entire spec is a gross hack, and Ubuntu derivatives do not benefit from it at all. We have to live with this until LP grows a real crash database. * TODO: [886] TODO item * apport/crashdb.py, * apport/crashdb_impl/launchpad.py, * apport/crashdb_impl/memory.py, * bin/crash-digger, * debian/changelog: [885] * apport/crashdb.py, apport/crashdb_impl/launchpad.py, apport/crashdb_impl/memory.py: Remove official interface mark_dup_checked(), as it should only be an internally used function. Add report parameter, since we will need it there in the future. Remove explicit call from bin/crash- digger and instead change check_duplicate() to call it on its own. * apport/report.py, * debian/changelog: [884] * apport/report.py, _read_maps(): Revert ptrace hack when maps cannot be read. maps file is now protected based on process ownership, not ptracing. * TODO, * backends/packaging-apt-dpkg.py, * debian/changelog: [883] * backends/packaging-apt-dpkg.py, _search_contents(): Fix package name parsing for non-main components. This fixes retracing of e. g. #124111. * TODO, * backends/packaging-apt-dpkg.py, * debian/changelog: [882] * backends/packaging-apt-dpkg.py, _search_contents(): Package list is actually comma separated, only take the first item. This fixes retracing of e. g. #124139. * TODO: [881] TODO items 2007-07-04 Martin Pitt * apport/crashdb_impl/launchpad.py, * debian/changelog: [880] * apport/crashdb_impl/launchpad.py: Add function get_source_component() to query Launchpad for the component of a given distribution and source package. (This will be required for implementing crash-reporting). * apport/crashdb_impl/launchpad.py, * debian/changelog: [879] * apport/crashdb_impl/launchpad.py: Revert simplification change of 0.85: BugList returns a set of strings, not integers; due to non-identity they do not work with the usual set operations. 2007-07-03 Martin Pitt * debian/changelog: [878] release as 0.88 to gutsy * po/de.po: [877] update German translations * debian/changelog, * gtk/apport-gtk.glade: [876] * gtk/apport-gtk.glade: Mark string as translatable. LP: #119621 * debian/changelog: [875] add bug number to changelog * apport/ui.py, * debian/changelog: [874] * apport/ui.py, test_run_crash(): Set the message box title, text, and severity as assertion message if the run_crash() test fails, so that you know why it fails. This usually happens if libc6 or another dependency of the test crash is out of date. * apport/crashdb_impl/launchpad.py, * debian/changelog: [873] * apport/crashdb_impl/launchpad.py, update(): Delete CoreDump.gz attachment if the retrace was successful (i. e. if the report has a crash signature). * bin/apport-retrace, * debian/changelog, * debian/control: [872] * bin/apport-retrace: If retraced report does not have a crash signature, mark it as failed with above new function. Bump python-apport dependency for this. * apport/crashdb.py, * apport/crashdb_impl/launchpad.py, * debian/changelog: [871] * apport/crashdb.py: Add interface mark_retrace_failed(). Implement it in apport/crashdb_impl/launchpad.py. * backends/packaging-apt-dpkg.py, * debian/changelog: [870] * backends/packaging-apt-dpkg.py, get_source_tree(): Call apt-get source with --assume-yes to not block on VCS confirmations. * bin/crash-digger, * debian/changelog: [869] * bin/crash-digger: Mark a bug as retraced if DistroRelease: cannot be determined. Those are bugs apport cannot handle. * backends/packaging-apt-dpkg.py, * debian/changelog: [868] * backends/packaging-apt-dpkg.py, _search_contents(): Do not check the return value of zgrep. It usually errors out with 'stdout: broken pipe' when called with -m1. * debian/changelog, * po/de.po: [867] * po/de.po: Update. 2007-07-02 Martin Pitt * debian/changelog: [866] release as 0.87 to gutsy * apport/report.py, * debian/changelog: [865] * apport/report.py: - test_gen_stacktrace_top(): Add test case for unwinding a Gnome assertion (g_logv(), g_assert_warning() and similar), see LP #123462. - _gen_stacktrace_top(): Generalize for unwinding multiple functions and a set of function names, and add the Gnome assertion ones. 2007-06-28 Martin Pitt * debian/changelog: [864] release as 0.86 to gutsy * debian/changelog, * test-apport: [863] * test-apport: Clarify assertion message if /var/crash is not empty. * apport/report.py, * debian/changelog: [862] * apport/report.py, check_ignored(): round the mtime to an int (just like mark_ignore() does), to not get wrong results on file systems that support subsecond file timestamps. This fixes running the test suite on the live CD. * debian/changelog, * problem_report.py: [861] * problem_report.py: Add test case for delayed piping of data passed as file object pointers. This was supposed to explain the reason for getting bugs with zero-byte core dumps, but already works correctly. * bin/apport, * debian/changelog: [860] * bin/apport: Enforce non-emptyness of CoreDump. * debian/changelog, * problem_report.py: [859] * problem_report.py: Introduce a fourth optional parameter "fail_on_empty" to file pointer tuples which causes write() to raise an IOError if no data was read. Add test cases. * debian/changelog, * test-apport: [858] * test-apport: Check that apport does not create reports for emtpy core dumps. 2007-06-26 Martin Pitt * debian/changelog: [857] release as 0.85 to gutsy 2007-06-25 Martin Pitt * apport/crashdb_impl/launchpad.py, * debian/changelog: [856] * apport/crashdb_impl/launchpad.py: Do a bogus call to Bug() in the ctor. This initializes python-launchpad- bugs to use a cookie for the urlopen in BugList, so that get_unretraced() and get_dup_unchecked() return private bugs, too. This works around LP #122126. 2007-06-20 Martin Pitt * apport/report.py, * debian/changelog: [855] * apport/report.py, obsolete_packages(): Do not consider virtual packages as obsolete. * backends/packaging-apt-dpkg.py, * debian/changelog: [854] * backends/packaging-apt-dpkg.py, get_dependencies(): Fix crash when encountering a virtual package. 2007-06-19 Martin Pitt * bin/apport-chroot, * debian/changelog: [853] * bin/apport-chroot, command_upgrade(): Run 'apt-get clean' before regenerating the chroot tarball. * bin/apport-chroot, * debian/changelog: [852] * bin/apport-chroot, command_upgrade(): Supply -y to 'apt-get upgrade' also in verbose mode. * apport/report.py, * debian/changelog: [851] * apport/report.py test suite: Do not assume that /bin/zgrep uses /bin/sh, it was recently changed to use bash. Directly read the interpreter from the shebang line. * apport/report.py, * debian/changelog: [850] * apport/report.py, crash_signature(): Allow ':' and '~' as part of function names to cover C++. Adapt test case to cover this. * debian/changelog, * debian/control: [849] * debian/control: Add dpkg-dev dependency to apport-retrace, for getting dpkg-source. 2007-06-18 Martin Pitt * apport/crashdb_impl/launchpad.py, * debian/changelog: [848] * apport/crashdb_impl/launchpad.py: BugList.bugs is already a set, simplify code a bit. 2007-06-14 Martin Pitt * debian/changelog: [847] release as 0.84 to gutsy * bin/crash-digger: [846] bin/crash-digger: revert accidental changing of fill_pool() calling * bin/apport-retrace, * bin/crash-digger, * debian/changelog: [845] * bin/apport-retrace, bin/crash-digger: More language cleanup; we should stop talking about 'bugs' and use 'crash' consistently. * bin/crash-digger, * debian/changelog: [844] * bin/crash-digger: Do duplicate checking for needs-duplicate-check crash bugs (such as Python crashes). * apport/crashdb_impl/launchpad.py, * debian/changelog: [843] * apport/crashdb_impl/launchpad.py, download(): Fetch Traceback.txt, too, so that we can do duplicate checking for Python crashes. * apport/crashdb_impl/launchpad.py: [842] apport/crashdb_impl/launchpad.py: typo fix * apport/crashdb_impl/launchpad.py, * debian/changelog: [841] * apport/crashdb_impl/launchpad.py: Set "need-duplicate-check" tag for Python crashes. * apport/crashdb.py, * apport/crashdb_impl/launchpad.py, * debian/changelog: [840] apport/crashdb.py: add get_dup_unchecked() and mark_dup_checked(), and implement it for launchpad 2007-06-13 martin@piware.de * apport/crashdb.py, * apport/crashdb_impl/launchpad.py, * debian/changelog: Modified. * bin/launchpad-crash-digger: Renamed to bin/crash-digger and modified. [839] * apport/crashdb.py: Add two new abstract methods get_unretraced() and mark_retraced(id) to get a list of crashes that need to be processed (retraced) and chalk them off. * apport/crashdb_impl/launchpad.py: Implement above methods for launchpad (moving the code from bin/launchpad-crash-digger). * bin /launchpad-crash-digger: Drop Launchpad specific code and replace it with calls to above new functions. Rename to bin/crash-digger. Also rename all 'cookie' to 'auth' (as happened with the other applications earlier). 2007-06-13 Martin Pitt * debian/changelog: [838] release as 0.83 to gutsy * TODO, * apport/crashdb.py, * apport/crashdb_impl/launchpad.py, * apport/crashdb_impl/memory.py, * bin/apport-chroot, * bin/apport-retrace, * bin/launchpad-crash-digger, * debian/changelog, * debian/control, * debian/pyversions, * run-tests: [837] merge crash-dups branch: implements apport-crash- duplicates specification 2007-06-12 Martin Pitt * apport/chroot.py, * debian/changelog: [836] * apport/chroot.py: Do not include /usr/local/lib and /usr/lib in LD_LIBRARY_PATH, just /lib, so that we still use the libc from outside, but e. g. libxml2 from inside the chroot. 2007-06-11 Martin Pitt * apport/report.py, * debian/changelog: [835] * apport/report.py: Fix typo: 'none' -> 'None'. 2007-06-08 Martin Pitt * apport/packaging.py, * backends/packaging-apt-dpkg.py, * debian/changelog: [834] * apport/packaging.py: Add interface compare_versions() for comparing package version numbers. * backends /packaging-apt-dpkg.py: Implement compare_versions() using apt.VersionCompare(), add some test cases. * apport/crashdb.py, * apport/packaging.py, * apport/ui.py, * debian/changelog: [833] * apport/crashdb.py, apport/packaging.py, apport/ui.py: Use NotImplementedError instead of Exception in the abstract methods. * apport/crashdb.py, * debian/changelog: [832] * apport/crashdb.py: Separate abstract from implemented functions. * debian/changelog: [831] release as 0.82 to gutsy * apport/report.py, * debian/changelog: [830] * apport/report.py, get_module_license(): Do not iterate over Popen.stdout, use communicate() instead. The latter is already fixed to not trip over SIGINTR. (LP: #118965) 2007-06-07 Martin Pitt * debian/changelog, * test-apport: [829] * test-apport: Clarify assertion failure message when an unexpected core dump is present. * TODO, * apport/crashdb_impl/launchpad.py, * debian/changelog: [828] * apport/crashdb_impl/launchpad.py: Check PackageArchitecture for 'all', to not set a retracer tag 'need-all- retrace'. * debian/changelog: [827] debian/changelog: improve references to apport-better-retracing spec * apport/crashdb_impl/launchpad.py, * bin/apport-retrace, * debian/changelog: [826] * bin/apport-retrace: Add gen_source_stacktrace() and a few helper functions to construct a field 'StacktraceSource' with the source code around the affected lines in the stack trace (as available). (Point 5 of apport-better- retracing spec). * apport/crashdb_impl/launchpad.py, update(): Attach StacktraceSource to the bug if it exists. * TODO: [825] TODO item 2007-06-05 Martin Pitt * apport/packaging.py, * backends/packaging-apt-dpkg.py, * debian/changelog: [824] * apport/packaging.py: Add interface get_source_tree() to fetch and unpack a source package to a given directory, optionally specifying a particular version. * backends /packaging-apt-dpkg.py: Implement get_source_tree(). This has a rather crude 'call apt-get source and guess about directories' implementation until python-apt learns about doing this directly and more elegantly (see LP #118788). 2007-06-03 martin@piware.de * apport/ui.py, * debian/changelog: [823] * apport/ui.py, thread_collect_info(): For crashes, call obsolete_packages() and set UnreportableReason: if there are any. * apport/report.py, * debian/changelog: [822] * apport/report.py: Add method crash_signature() to calculate an unique identifier of a signal or Python crash, to be used for duplicate detection. Add various test cases. 2007-06-02 martin@piware.de * TODO, * apport/report.py, * debian/changelog: [821] * apport/report.py, add_gdb_info(): Split out StacktraceTop generation into separate funtion _gen_stacktrace_top(), so that we can test it separately. * apport/report.py, _gen_stacktrace_top(): Step back from the crashed program's own signal handlers, since those are generally not useful for the purposes of StacktraceTop and only impede duplicate matching (part of apport-better-retracing spec). Add various test cases. * apport/ui.py, * debian/changelog: [820] * apport/ui.py: Fix declaration of the test suite's ui_set_upload_progress(). Funny that this has never been triggered before. * apport/ui.py, * debian/changelog: [819] * apport/ui.py, thread_collect_info(): call standard_title() and add it to the report as 'Title' field. This is useful if reporters modify the default title (per request of Brian Murray, thanks). Add test case. 2007-05-31 Martin Pitt * apport/report.py, * debian/changelog: [818] * apport/report.py: Add function obsolete_packages() to return packages in Package: and Depends: which are not up to date. Add test cases. * backends/packaging-apt-dpkg.py: [817] backends/packaging-apt- dpkg.py: Simplify get_version() implementation a bit * apport/packaging.py, * backends/packaging-apt-dpkg.py, * debian/changelog: [816] * apport/packaging.py: Add interface get_available_version(package). * backends/packaging-apt-dpkg.py: Implement get_available_version(), add shallow test case. 2007-05-29 Martin Pitt * debian/changelog: [815] fix changelog spacing * bin/apport-retrace, * debian/changelog, * debian/control: [814] * bin/apport-retrace: Use "uninstalled" option now to install packages and corresponding -dbgsyms for uninstalled files mentioned in ProcMaps (Point 1 of apport-better-retracing spec). Bump python-apport dependency. * backends/packaging-apt-dpkg.py: [813] backends/packaging-apt- dpkg.py: add missing import * backends/packaging-apt-dpkg.py: [812] backends/packaging-apt- dpkg.py: silence zgrep stderr since we get SIGPIPE errors * apport/packaging.py, * backends/packaging-apt-dpkg.py, * debian/changelog: [811] * apport/packaging.py: - Add "uninstalled" option to get_file_package(). If set to True, this will do an expensive search of files/packages which are not installed. - Add interface "set_mirror(URL)" for functions which need to retrieve packages and data from distribution mirrors. * backends/packaging-apt- dpkg.py: Implement "uninstalled" option and "set_mirror(URL)", add test cases. 2007-05-27 martin@piware.de * bin/ubuntu-fat-chroot: [810] ubuntu-fat-chroot: add apt-get clean * TODO: [809] remove TODO item solved with last commit 2007-05-27 martin@piware.de * bin/ubuntu-fat-chroot: Added. * debian/changelog: Modified. [808] * Add bin/ubuntu-fat-chroot: Script to install a set of commonly needed packages into a minimal Ubuntu chroot (as created by apport- chroot). This requires some hacking of postinst and /usr/sbin/ files in between the installation stages and thus deserves a script on its own. 2007-05-24 Martin Pitt * doc/Makefile: Added. * debian/changelog, * debian/control, * debian/rules, * setup.py: Modified. [807] * Add doc/Makefile: Build and clean rules for generating data- format.pdf. * debian/rules, setup.py: Call doc/Makefile and install the PDF documentation. Add texlive-latex-recommended build dependency for that. 2007-05-24 Martin Pitt * doc/data-format.tex: Added. * debian/changelog: Modified. [806] * Add doc/data-format.tex: Documentation of the structure, encoding, and standard keys of the Apport report file format. [apport-for-upstreams blueprint] 2007-05-24 Martin Pitt * debian/changelog: [805] release as 0.81 to gutsy * bin/apport-retrace, * debian/changelog: [804] * bin/apport-retrace: Fix handling of packages which are still known to /var/lib/dpkg/status, but do not have an apt record any more; treat them like virtual packages and just issue a warning instead of falling over. (LP: #107474) * apport/report.py, * debian/changelog: [803] * apport/report.py, add_gdb_info(): Intercept OSError from gdb invocation (which might be segfaulting itself) and just do not put any gdb output into the report. The automatic retracers can try their luck again. (LP: #112501) * apport_python_hook.py, * debian/changelog: [802] * apport_python_hook.py: Move the apport.* imports into the try: block and move the likely_packaged() test to the top, to avoid importing apport.report and creating a Report object for non-packaged scripts. This makes the entire code more efficient and robust against errors in the apport modules. (LP: #109955) * apport/report.py, * debian/changelog: [801] * apport/report.py, add_os_info(): Add field 'NonfreeKernelModules' which lists loaded kernel modules which do not have a FOSS license. This is particularly helpful for quickly checking for restricted graphics drivers. (LP: #103239) * apport/crashdb_impl/launchpad.py, * debian/changelog: [800] * apport/crashdb_impl/launchpad.py, update(): Create a temporary directory and use proper file names for the new attachments. With TemporaryFile(), attachment file names ended up as ''. (LP: #115347) * bin/apport-retrace, * debian/changelog: [799] * bin/apport-retrace: Do not abort with an exception if package installation fails. Give a proper error message instead and point to -u. (LP: #115681) * apport/crashdb_impl/launchpad.py, * debian/changelog: [798] apport/crashdb_impl/launchpad.py: use "apport-" tag instead of just "apport" 2007-05-23 Martin Pitt * bin/launchpad-crash-digger, * debian/changelog: [797] * bin/launchpad-crash-digger: Check the release of a bug and whether we have a chroot for it before untagging it. This avoids loosing tags for bugs we do not yet have a working retracer chroot for. * bin/apport-chroot, * debian/changelog, * debian/local/setup-apport-retracer: [796] * debian/local/setup- apport-retracer: Set APPORT_CRASHDB_CONF to the local crashdb.conf. * bin/apport-chroot: Unset APPORT_CRASHDB_CONF for login and retrace. * bin/apport-chroot, * debian/changelog: [795] * bin/apport-chroot: Fix identifier name in command_retrace(). * bin/launchpad-crash-digger, * debian/changelog: [794] * bin/launchpad-crash-digger: Supply --auth instead of the deprecated --cookie to apport-chroot. * debian/changelog, * debian/local/setup-apport-retracer: [793] * debian/local/setup- apport-retracer: Install python-libxml2 and python-apt. * bin/apport-chroot, * debian/changelog: [792] * bin/apport-chroot: Fix symlinks before repackaging the chroot tarball in 'install' and 'installdeb' modes. * debian/changelog, * debian/local/setup-apport-retracer: [791] * debian/local/setup- apport-retracer: Specify a path in '.' command and use sh again. Yay for me needing three attempts before actually RTFMing how '.' works (which is really nasty and strange IMHO). * TODO: [790] TODO item 2007-05-22 Martin Pitt * apport/crashdb_impl/launchpad.py, * debian/changelog: [789] * apport/crashdb_impl/launchpad.py: Tag new bugs with 'apport'. This replaces the former '[apport]' prefixing. * apport/report.py, * debian/changelog: [788] * apport/report.py: Remove '[apport]' default bug title prefix. (LP: #94819) 2007-05-21 Martin Pitt * debian/changelog: [787] release as 0.80 to gutsy * debian/changelog, * debian/local/setup-apport-retracer: [786] * debian/local/setup- apport-retracer: Revert back 'source' to '.' and use bash instead of sh. POSIX sh does not seem to have a 'source' command. * debian/changelog, * debian/control: [785] * debian/control: Bump some python-apport dependencies for the API changes. 2007-05-21 Martin Pitt * apport/crashdb.py, * apport/crashdb_impl, * apport/crashdb_impl/__init__.py, * apport/crashdb_impl/launchpad.py, * apport/crashdb_impl/memory.py, * crashdb.conf: Added. * apport/report.py, * apport/ui.py, * bin/apport, * bin/apport-chroot, * bin/apport-retrace, * bin/launchpad-crash-digger, * debian/changelog, * debian/python-apport.install, * man/apport-retrace.1, * po/de.po, * run-tests, * setup.py: Modified. [784] merge abstract-bugtracker branch 2007-05-21 Martin Pitt * po/Makefile: [783] re-add "include Makevars" in po/Makefile to fix mo building * cli/apport-cli, * debian/changelog, * qt4/apport-qt: [782] * cli/apport-cli, qt4/apport-qt: Generalize window titles. * debian/changelog, * gtk/apport-gtk.desktop.in, * po/de.po, * qt4/apport-qt.desktop.in: [781] * *.desktop.in: Remove 'in Ubuntu' from comment. * debian/changelog, * gtk/apport-gtk.desktop.in, * po/Makefile, * qt4/apport-qt.desktop.in: [780] * Remove 'X-Ubuntu-Gettext-Domain' from *.desktop.in, since langpack.mk will add it automatically now. * debian/changelog, * setup.py: [779] Some debranding: * setup.py: Use apport wiki home page for 'url'. * debian/changelog: [778] release as 0.79 to gutsy * bin/kernel_hook, * debian/changelog, * test-hooks: [777] * bin/kernel_hook, ./test-hooks: Do not rely on /proc/version_signature any more, it's gone in the gutsy kernel. * bin/kernel_hook, * test-hooks: [776] fix syntax error in bin/kernel_hook, adapt test- hooks to recently updated fields in kernel reports 2007-05-21 Martin Pitt * po/Makevars: Added. * debian/changelog, * po/Makefile: Modified. [775] * Add po/Makevars to specify the domain, to make intltool figure out the gettext domain automatically. 2007-05-21 Martin Pitt * TODO: [774] TODO item * debian/changelog, * debian/rules: [773] * debian/rules: Use langpack.mk for updating the .desktop files. 2007-05-10 martin@piware.de * bin/kernel_hook, * debian/changelog: [772] * bin/kernel_hook: Fix/improve the collected information: - Read /proc/modules instead of lsmod. - Fix lspci argument: -n instead of -m. - Add /proc/cmdline. * debian/changelog, * debian/control: [771] * debian/control: Use code.lp.net instead of bazaar.lp.net VCS URL. 2007-05-09 martin@piware.de * backends/packaging-apt-dpkg.py, * debian/changelog: [770] * backends/packaging-apt-dpkg.py: Formally make this a subclass of apport.packaging.PackageInfo. * apport/report.py, * debian/changelog: [769] * apport/report.py: Change example URLs in the testsuite from launchpad to an artificial ones to avoid the impression that it is LP specific. * apport/ui.py, * debian/changelog, * debian/control: [768] * apport/ui.py: Convert to new write_mime() interface from above. This finally automatically tags bugs with need -$ARCH-retrace. Bump p-problem-report dependency of python-apport for this. * debian/changelog, * problem_report.py: [767] * problem_report.py, write_mime(): Drop preamble argument, replace it with an extra_headers dictionary. This is much easier to evaluate on clients. 2007-05-07 martin@piware.de * debian/changelog, * debian/local/setup-apport-retracer: [766] * debian/local/setup- apport-retracer: Fix '.' bashism, replace it with 'source'. 2007-05-06 martin@piware.de * debian/changelog: [765] release as 0.78 to gutsy 2007-05-05 martin@piware.de * cli/apport-cli, * debian/changelog, * debian/control, * gtk/apport-gtk, * qt4/apport-qt: [764] * gtk/apport-gtk, qt4/apport-qt, cli/apport- cli: Do not offer 'reduced report' option if the stack trace is useless. (LP: #87430) Bump the python-apport dependencies of the frontend packages to ensure that we have has_useful_stacktrace(). * apport/report.py, * debian/changelog: [763] * apport/report.py: Add method has_useful_stacktrace() to determine whether the stack trace can be considered useful. The current heuristic is to consider it useless if it either is shorter than three lines and has any unknown function, or for longer traces, a minority of known functions. Add test cases. * apport/ui.py, * debian/changelog: [762] * apport/ui.py, load_report(): Also catch zlib.error on invalid reports. (LP: #103547) * apport/ui.py, * debian/changelog: [761] * apport/ui.py: Add a comment for translators. (LP: #104703) * bin/apport, * debian/changelog, * test-apport: [760] * ./test-apport: Check that crashes create a core dump (with proper ulimits) when an unseen crash report exists already. This reproduces LP #105976. * bin/apport: Create core dump file if aborting because an unseen crash report already exists. (LP: #105976) * apport/report.py, * debian/changelog: [759] * apport/report.py, add_gdb_info(): Fix crash when Stacktrace could not be created. (LP: #107853) 2007-05-03 Martin Pitt * TODO, * apport/packaging.py, * apport/ui.py, * backends/packaging-apt-dpkg.py, * debian/changelog: [758] change get_origins(package) -> is_distro_package(package) * TODO: [757] TODO item 2007-04-27 Martin Pitt * backends/packaging-apt-dpkg.py: Added. * backends/packaging-dpkg.py: Removed. * debian/changelog, * debian/local/setup-apport-retracer, * debian/rules: Modified. [756] * Drop backends/packaging-dpkg.py. It had some hackish usage of python-apt anyway, since some things just cannot be figured out with dpkg alone. Since we have to give up on that idea, implement a new clean packaging backend 'packaging-apt-dpkg.py' which now uses python-apt and dpkg in a clean way. 2007-04-27 Martin Pitt * debian/changelog, * debian/control: [755] * debian/control: Remove debianutils dependency, it's essential. * apport/packaging.py, * apport/ui.py, * backends/packaging-dpkg.py, * debian/changelog, * debian/control: [754] * apport/packaging.py, backends/packaging- dpkg.py: Add new interface get_origins(package) which determines the origins (distribution/vendor/ repository names) for a given package. Move the dodgy hack from apport/ui.py to the backend, where it belongs to. Also add a test case. * debian/control: Add python-apt dependency to python-apport. * debian/changelog: [753] release as 0.77 to gutsy 2007-04-23 Martin Pitt * debian/changelog, * debian/local/setup-apport-retracer: [752] * debian/local/setup- apport-retracer: Generalized some feisty specific bits, set default release to gutsy. 2007-04-19 Martin Pitt * apport/chroot.py, * debian/changelog: [751] * apport/chroot.py: Fix test suite to work with Python 2.4's tarfile module output format. * apport/report.py, * debian/changelog: [750] * apport/report.py: Move the ctypes import to the one place where we actually need it, and do not entirely fail if they do not exist (such as in Python 2.4). It is only required for non-default Feisty kernels anyway. (LP: #107662) 2007-04-16 Martin Pitt * apport/report.py, * debian/changelog: [749] * apport/report.py: Replace any() call with a list comprehension to work with Python < 2.5. (LP: #104864) 2007-04-12 Martin Pitt * debian/changelog: [748] release as 0.76 to feisty * apport/ui.py, * debian/changelog: [747] * apport/ui.py test suite: Unset locale related environment variables so that the tests which check strings are not invalidated by translations. 2007-04-12 Martin Pitt * debian/changelog, * debian/python-apport.install, * run-tests, * setup.py: Modified. * apport/python_hook.py: Renamed to apport_python_hook.py and modified. [746] * Move python_hook.py out of the apport module to apport_python_hook.py, so that it does not inflict the expensive import of all apport related modules to every python program. Adapt module prefixes accordingly. (LP: #105764) * setup.py, debian /python-apport.install: Install apport_python_hook.py into the python-apport binary package. 2007-04-06 Martin Pitt * TODO: [745] TODO item 2007-04-04 Martin Pitt * debian/changelog: [744] release as 0.75 to feisty * backends/packaging-dpkg.py, * debian/changelog: [743] * backends/packaging-dpkg.py, get_modified_files(): Ignore empty lines in broken .md5sums file rather than crashing on them. (LP: #102906) * apport/report.py, * debian/changelog: [742] * apport/report.py, add_proc_info(): Chop off /rofs/ prefix from ExecutablePath, so that crashes work on the live system, too. Arguably a kernel bug, but probably too hard to fix at this time. (LP: #102909) * debian/changelog: [741] release as 0.74 to feisty * debian/changelog, * gtk/apport-gtk.glade: [740] * gtk/apport-gtk.glade: Add window titles to progress and details dialogs. (LP: #97640) * apport/ui.py, * debian/changelog: [739] * apport/ui.py: Fix crash on None candiateOrigin from the apt cache object. (LP: #98961) * apport/ui.py, * debian/changelog: [738] * apport/ui.py: Ignore SystemError exceptions from apt, which happen on badly formatted source.list entries. (LP: #98901) * apport/report.py, * debian/changelog: [737] * apport/report.py, _check_interpreted(): Add a whitelist of common interpreters and check ExecutablePath against it. (LP: #102056) * apport/report.py, * debian/changelog: [736] * apport/report.py, test_check_interpreted(): Run gedit test on an actually existing file, reproducing the interpreter confusion reported in #102056. 2007-04-04 martin@piware.de * debian/changelog, * test-apport: [735] * test-apport: Do not fail on non-empty gdb stderr if it only consists of a single warning (as happens on powerpc). 2007-04-02 Martin Pitt * backends/packaging-dpkg.py, * debian/changelog, * test-hooks: [734] * test-hooks: Add a (dodgy) test case for calling package_hook on an uninstalled package. After all, this is very likely to happen for installation errors. This reproduces #97636. * backends/packaging-dpkg.py, get_source(): Add a similarly dodgy fallback to apt if the queried package is not installed. This needs to be generalized and cleaned up later, but now is the time for unintrusive small patches. (LP: #97636) 2007-03-30 Martin Pitt * debian/changelog, * problem_report.py: [733] * problem_report.py, write_mime(): Do not re-compress keys which already end in .gz. Add test cases. * debian/apport-gtk.install, * debian/apport-qt.install, * debian/changelog: [732] * debian/apport-{gtk,qt}.install: Do not install .desktop files for now, until we get a proper guided bug reporting. 2007-03-29 Martin Pitt * debian/changelog: [731] release as 0.73 to feisty * apport/ui.py, * debian/changelog: [730] * apport/ui.py, run_crash(): If a signal crash report does not have a core dump, explain that the computer has too little memory for an automatic analysis/report of the crash. Add test suite check. * bin/apport, * debian/changelog, * debian/control, * test-apport: [729] * bin/apport: Limit core dump size to 75% of usable RAM (MemFree+Cached-Writeback). This should avoid trashing people's boxes hard on huge core dumps. Bump dependencies on python- problem-report. Create an expensive, but realistic check for this in test-apport. (LP: #71560) * debian/changelog, * problem_report.py: [728] * problem_report.py, write(): Allow a third optional argument in tuple values, which specify a maximum file size. Above it, the entire key gets removed. Add testsuite checks for all boundary cases. * debian/changelog: [727] release as 0.72 to feisty * debian/changelog, * qt4/apport-qt: [726] * qt4/apport-qt: Fix undefined symbol in ui_present_package_error(). (LP: #97282) * debian/apport-cli.README.Debian: [725] merge spacing fix * cli/apport-cli, * debian/changelog, * gtk/apport-gtk.glade, * po/de.po, * qt4/apport-qt: [724] * Another grammar fix, thanks to Brian Murray! 2007-03-28 Martin Pitt * debian/apport-cli.README.Debian: Added. * debian/changelog, * debian/control, * debian/local/ubuntu-bug: Modified. [723] * debian/local/ubuntu-bug: Try to use apport-cli, if we do not have a $DISPLAY, or neither Gnome nor KDE are running. * debian/control: Recommend elinks, since it is the only text browser so far that works with Launchpad (see #59510) * Add debian/apport- cli.README.Debian: Describe how to integrate apport-checkreports and apport-cli into .bashrc for crash notification on servers. 2007-03-28 Martin Pitt * apport/ui.py, * debian/changelog: [722] * apport/ui.py: Fix wrong parameter name in help message. 2007-03-27 Martin Pitt * debian/changelog, * debian/control: [721] * debian/control: Add XS-Vcs-Bzr: header. * apport/ui.py, * bin/launchpad-crash-digger, * debian/changelog: [720] * bin/launchpad-crash-digger, apport/ui.py: Remove the special case 'powerpc'->'ppc' and use need-powerpc- retrace uniformly. 2007-03-27 Martin Pitt * debian/apport-retrace.manpages: Added. * debian/apport.manpages, * debian/changelog, * debian/control: Modified. [719] * Move apport-retrace.1 manpage from package apport to apport- retrace. Bump Conflicts/Replaces accordingly. 2007-03-27 Martin Pitt * bin/apport-retrace, * debian/changelog: [718] * bin/apport-retrace: Fix error handling in fetch_unpack(). * bin/apport-chroot, * debian/changelog: [717] * bin/apport-chroot, command_create(): Install gpgv. 2007-03-26 Martin Pitt * debian/changelog: [716] release as 0.71 to feisty * apport/ui.py, * debian/changelog: [715] * apport/ui.py: Check package origin, compare it to DistroRelease:, and report crash as unreportable if they do not match. This particularly saves the user from uploading large reports for e. g. opera crashes, and avoids filing Ubuntu bugs from Debian installations. (LP: #75513) * apport/ui.py, * debian/changelog, * doc/package-hooks.txt: [714] * apport/ui.py, doc/package-hooks.txt: Check for a field "UnreportableReason: " and display an information box that the current crash cannot be reported because of . Add test case. Document the new field. * backends/packaging-dpkg.py, * debian/changelog: [713] * backends/packaging-dpkg.py, get_modified_files(): Ignore lines in .md5sums files which contain a NUL byte. This Should Not Happen?, but nevertheless did. (LP: #96050) * apport/ui.py, * debian/changelog: [712] * apport/ui.py, run_report_bug(): Ignore ENOENT from add_proc_info(). This happens if the user closes the application prematurely, so that /proc/pid does not exist any more. Add test case. (LP: #95954) * apport/ui.py, * debian/changelog, * debian/control: [711] * apport/ui.py, upload_launchpad_blob(): Set need-$ARCH-retrace tag in MIME preamble. Bump p-problem-report dependency. (LP: #94790) * bin/apport-retrace, * debian/changelog: [710] * bin/apport-retrace: Do not fall over errors of dpkg -x (which happens e. g. on udev, where it cannot unpack /dev, since this is a symlink to the real /dev). Merely print out a warning about it. * bin/apport-retrace, * debian/changelog: [709] * bin/apport-retrace: In verbose mode, display the path of currently extracting deb. * debian/changelog, * problem_report.py: [708] * problem_report.py, write_mime(): Add optional 'preamble' parameter. Add test case. * cli/apport-cli, * debian/changelog, * po/de.po, * qt4/apport-qt: [707] * cli/apport-cli, qt4/apport-qt: Fix bad grammar 'some minutes'. (LP: #95296) * debian/changelog: [706] release as 0.70 to feisty * debian/changelog, * doc/package-hooks.txt: [705] * doc/package-hooks.txt: Add some examples, document source package hook. 2007-03-23 Martin Pitt * bin/apport-retrace, * debian/changelog: [704] * bin/apport-retrace: Fix ordering of version numbers in warning message. * bin/apport-chroot, * bin/apport-retrace, * debian/changelog: [703] * bin/apport-retrace: Replace --no-purge with --no-dpkg. With this option, do not call dpkg --unpack any more, but dpkg -x, to avoid any fchmod() and other calls which cause problems in fakechroots. * bin/apport-chroot, * debian/changelog: [702] * bin/apport-chroot: Fixed command function selection to not abort with 'unknown command' if the DistroRelease: was unknown. * bin/apport-chroot, * debian/changelog: [701] * bin/apport-chroot: When specifying --save for login, only save the tarball if the exit status is 0. * bin /apport-chroot, create: Install /usr/sbin/policy-rc.d to disable init scripts. * apport/ui.py: [700] apport/ui.py: mark report as seen when updating it with new information 2007-03-23 Martin Pitt * package-hooks, * package-hooks/source_apport.py: Added. * debian/apport.dirs: Removed. * debian/apport.install, * debian/changelog, * setup.py: Modified. [699] * Add package-hooks/source_apport.py: Package hook for apport itself. Include /var/log/apport.log and the status of files in /var/crash. 2007-03-23 Martin Pitt * apport/report.py, * debian/changelog: [698] * apport/report.py, add_hooks_info(): Use execfile() instead of __import__(), since package names might conflict with module names already imported into apport's namespace. Also search for hook named after the source package name (prefixed with 'source_'). Add test cases. * cli/apport-cli, * debian/changelog, * gtk/apport-gtk.glade, * po/de.po, * qt4/apport-qt: [697] * Some grammar corrections. * TODO, * apport/ui.py, * debian/changelog: [696] * apport/ui.py, run_crash(): Check for a field "UnsupportableReason: " and display an information box that the current configuration cannot be supported because of , instead of processing and reporting the crash. Add test case for this workflow. With special regards to our Firefox crash triagers who want to get rid of the hundreds of flash-related crashes. :) 2007-03-22 Martin Pitt * TODO, * bin/apport-chroot, * debian/changelog: [695] * apport-chroot: Add forgotten sys.exit(1) after printing the error message about an invalid chroot specification. * TODO: [694] TODO updates * apport/ui.py, * debian/changelog, * debian/control: [693] * apport/ui.py: Remember currently processed report file and update it with the added information, so that it becomes useful for local evaluation, too. Bump python-problem-report dependency to ensure write()'s only_new availability. (LP: #94678) * debian/changelog, * problem_report.py: [692] * problem_report.py: Add optional parameter only_new to write(), which writes only the get_new() keys. Add test case. * debian/changelog, * problem_report.py: [691] * problem_report.py: Add new method get_new() which returns a set of all keys which have been added since load() or construction. Add test cases. * debian/changelog: [690] add another bug to the changelog * apport/report.py, * debian/changelog: [689] * apport/report.py, add_proc_info(): Do not regard symlinks to executables as interpreted scripts any more (such as Debian alternatives). Add test case. (LP: #94732) * apport/REThread.py, * apport/chroot.py, * apport/fileutils.py, * apport/packaging.py, * apport/python_hook.py, * apport/report.py, * backends/packaging-dpkg.py, * debian/changelog, * problem_report.py: [688] * Remove trailing white space in all Python files. * apport/chroot.py, * apport/fileutils.py, * apport/python_hook.py, * apport/report.py, * backends/packaging-dpkg.py, * debian/changelog, * problem_report.py: [687] * Replace tabs with spaces in all Python files. (LP: #93561) * debian/changelog, * run-tests: [686] * run-tests: Run tests with python's -tt flag to catch whitespace errors. * apport/report.py, * bin/apport-retrace, * debian/changelog: [685] * apport/report.py, add_gdb_info(): Limit maximum backtrace depth to 2000 to avoid infinitely looped stacks and gdb crashes. (LP: #94455) * bin/apport-retrace: Add option -R /--rebuild-package-info, so that apport-retrace works on unprocessed crash dumps in /var/crash. 2007-03-22 Martin Pitt * cli, * cli/apport-cli, * debian/apport-cli.install: Added. * apport/ui.py, * debian/changelog, * debian/control, * debian/copyright, * setup.py: Modified. [684] [ Michael Hofmann ] * Add cli/apport-cli, setup.py, debian /apport-cli.install, debian/control: Add command line user interface. * apport/ui.py, format_filesize(): Use MiB and GiB instead of MB and GB; these are the official units. Adapt test cases. * apport/ui.py, collect_info()/file_report(): Do not raise an exception on KeyboardInterrupt in the subthreads. * apport/ui.py, open_url(): Do not use gtk.MessageDialog(), but ui_error_message(), and fix error passing so that the message is displayed in the parent thread. * apport/ui.py, open_url(): Check that $DISPLAY is set before considering the KDE/Gnome web browsers. 2007-03-21 Martin Pitt * debian/changelog, * debian/local/setup-apport-retracer: [683] * debian/local/setup- apport-retracer: - Unpack and install python-launchpad-bugs locally if the package is not installed. - Link launchpad-crash-digger into the retracer's bin/ dir. * apport/report.py, * bin/apport-retrace, * debian/changelog: [682] * apport/report.py, add_proc_info(): If reading /proc/pid/maps fails, ptrace() the target process to make it readable (proposed security improvement in future kernels). * bin /apport-retrace: Fix crash for packages unknown to the apt cache. 2007-03-20 Martin Pitt * debian/changelog, * debian/local/setup-apport-retracer: [681] * debian/local/setup- apport-retracer: Install libc6-i686{,-dbgsym} into an x86 chroot, to get sane x86 backtraces for crashes in libc. * bin/apport-retrace, * debian/changelog: [680] * bin/apport-retrace: Mangle bug comment with StacktraceTop to not contain invalid UTF-8, to avoid getting Internal Server Errors from LP. * bin/launchpad-crash-digger: [679] launchpad-crash-digger: do not endlessly loop on failed apport-retrace 2007-03-20 Martin Pitt * bin/launchpad-crash-digger: Added. * debian/changelog: Modified. [678] * Add bin/launchpad-crash-digger: Daemon for watching out for need-$ARCH-retrace tagged Ubuntu bugs in Launchpad and calling apport-retrace on them. 2007-03-20 Martin Pitt * bin/apport-chroot, * debian/changelog: [677] * bin/apport-chroot: Add option --remove-tag and pass it to apport-retrace. * apport/chroot.py, * debian/changelog: [676] * apport/chroot.py, fix_symlinks(): Convert chroot path prefixed absolute symlinks to relative symlinks to avoid fakechroot's weird handling of absolute symlinks. * TODO: [675] TODO item * bin/apport-retrace, * debian/changelog, * debian/control, * man/apport-retrace.1: [674] * bin/apport-retrace: Add option --remove-tag to remove a Launchpad bug tag. This is intended for an automatic Malone crash retracing system. * debian/control: Bump python-launchpad-bugs dependency to ensure that we have Bug.[gs]et_metadata(). * man/apport-retrace.1: Add documentation for --confirm and --remove-tag. 2007-03-19 Martin Pitt * debian/changelog: [673] release as 0.69 to feisty * bin/apport, * debian/changelog, * test-apport: [672] * test-apport: Check that core dumps are written for packaged programs as well, if ulimits want them. (Test for #92029) * bin/apport: Call write_user_coredump() for packaged program crashes and SIGABRT as well. (LP: #92029) 2007-03-15 Martin Pitt * TODO: [671] remove TODO item * bin/apport-retrace, * debian/changelog: [670] revert removal of getch(), that was a red herring * bin/apport-chroot, * debian/changelog: [669] * apport-chroot: Fix 'login' and 'upgrade' commands to not require specifying a chroot map when giving a chroot tarball path as argument. * bin/apport-chroot, * debian/changelog: [668] * apport-chroot: Add command 'installdeb' to conveniently install a bunch of .debs into a chroot. * bin/apport-retrace, * debian/changelog: [667] * apport-retrace: Remove function getch() again, since the termios ioctls do not always work. This requires users to press Enter after y/n. * debian/changelog: [666] release as 0.68 to feisty 2007-03-14 Martin Pitt * bin/apport-chroot, * debian/changelog: [665] * apport-chroot: Add option --confirm- attach; if given, call apport-retrace with --confirm. * bin/apport-retrace, * debian/changelog: [664] [ Martin Pitt ] * apport-retrace: Add option --confirm to display the retraced stack traces and ask for confirmation before uploading them as LP bug attachments. (LP: #91878) * debian/changelog, * qt4/apport-qt, * qt4/error.ui: [663] [ Michael Hofmann ] * qt4/apport-qt: Fix taskbar entry, remove an unused method. * qt4/error.ui: Fix icon spacing. * debian/changelog: [662] release as 0.67 to feisty * debian/changelog, * gtk/apport-gtk, * gtk/apport-gtk.glade: [661] * gtk/apport-gtk{,.glade}: Fix signal handler name of the Cancel button in the upload progress dialog, so that it actually works. (LP: #92115) * po/de.po: [660] update German translations * debian/changelog, * gtk/apport-gtk.glade: [659] * gtk/apport-gtk.glade: - Remove titles from the progress windows to comply with Gnome HIG and not repeat the text content. - Improve wording a bit. - LP: #92114 * bin/apport, * debian/changelog, * test-apport: [658] * test-apport: Check that non-packaged executables generate a core dump on SIGABRT, too (test case for bug #92029). * bin/apport: Move check for ignoring SIGABRT below the core dump file writing for non-packaged binaries. (LP: #92029) * bin/apport-retrace, * debian/changelog: [657] * bin/apport-retrace: Fix 'numer' typo. (LP: #91680) * apport/report.py, * debian/changelog: [656] * apport/report.py: Remove undefined call to error_log() in _command_output(), replace it with raising proper exceptions. 2007-03-13 Martin Pitt * TODO, * debian/changelog, * po/de.po: [655] * po/de.po: Update from Rosetta. 2007-03-12 Martin Pitt * debian/changelog, * debian/local/setup-apport-retracer: [654] * debian/local/setup- apport-retracer: Add apt sources for restricted, universe, and multiverse, too. * debian/changelog: [653] release as 0.66 to feisty 2007-03-11 Martin Pitt * apport/chroot.py, * bin/apport-chroot, * bin/apport-retrace, * debian/changelog, * debian/local/setup-apport-retracer: [652] merge to trunk 2007-03-10 Martin Pitt * bin/apport-retrace: [651] remove some debugging junk * bin/apport-chroot, * debian/changelog: [650] * bin/apport-chroot: Add --cookie option: temporarily symlink cookie into the chroot and pass it to apport- retrace in retrace mode. * bin/apport-retrace, * debian/changelog, * man/apport-retrace.1: [649] * bin/apport-retrace: Attach retraced stack traces back to the Launchpad bug report if no other output option is given (This corresponds to the in-place editing when a report file is specified). Add option --cookie to specify a Mozilla- style cookie file for the necessary Launchpad authentication. * man /apport-retrace.1: Document above apport-retrace changes. 2007-03-10 Martin Pitt * apport/MultipartPostHandler.py: Removed. * apport/ui.py, * debian/changelog, * debian/control, * debian/copyright: Modified. [648] * Remove apport/MultipartPostHandler.py, this functionality moved to python-launchpad-bugs now. Add a dependency to that package. * apport/ui.py, upload_launchpad_blob(): Use the shiny new launchpadBugs.storeblob.upload(). 2007-03-07 Martin Pitt * bin/apport-chroot, * debian/changelog: [647] * bin/apport-chroot: Use apt-get options -y and --allow-unauthenticated when installing additional packages. * debian/changelog, * debian/local/setup-apport-retracer: [646] * debian/local/setup- apport-retracer: - Replace grep-dctrl with grep call, since grep- dctrl is not installed in all the DC chroots. - Do not download apport source from archive.u.c., instead require that this script lives in the unpacked apport source tree. 2007-03-06 Martin Pitt * debian/changelog: [645] release as 0.64 to feisty * bin/apport-retrace, * debian/changelog: [644] * bin/apport-retrace: Do not complain about missing ddebs for Arch: all packages. * bin/apport-chroot, * debian/changelog: [643] * bin/apport-chroot: Add a -v/--verbose option. * bin/apport-chroot, * debian/changelog: [642] * bin/apport-chroot: Add a similar option -p /--extra-package and install those in the 'create' command and simply pass it to apport-retrace in the 'retrace' command. (LP: #90077) * bin/apport-retrace, * debian/changelog, * man/apport-retrace.1: [641] * bin/apport-retrace: Add option -p /--extra-package to install an additional package for retracing. May be specified multiple times. Document new option in man/apport- retrace.1. (LP: #90077) * apport/fileutils.py, * debian/changelog: [640] * apport/fileutils.py, get_all_{system_,}reports(): Fix file access race condition. (LP: #89977) * bin/apport-retrace, * debian/changelog: [639] * bin/apport-retrace: Give some additional explanation when installing packages fails. (LP: #89916) * apport/report.py, * debian/changelog: [638] * apport/report.py, search_bug_patterns(): Catch all exceptions from urlopen(), not just IOError. Sometimes this fails with funnier errors. (LP: #89589) * apport/report.py, * debian/changelog: [637] * apport/report.py, _check_interpreted(): When calling an interpreter with a script name as argument, set ExecutablePath to the script instead of the interpreter. Add test case. (LP: #88794) 2007-03-05 Martin Pitt * debian/local/setup-apport-retracer: Added. * debian/changelog: Modified. [636] * Add debian/local/setup-apport-retracer: Script to install local versions of apport, debootstrap, fake{,ch}root libraries, and a feisty apport fakechroot. This works OOTB on ronne's amd64 and i386 feisty chroots. The script is not shipped in any package yet, but it's convenient to ship it in revision control and in the source. 2007-03-05 Martin Pitt * bin/apport-chroot, * debian/changelog: [635] * bin/apport-chroot: Install apport-retrace into a newly created chroot. * bin/apport-chroot, * debian/changelog: [634] * bin/apport-chroot: Add 'login' command. * debian/changelog: [633] release as 0.63 to feisty 2007-03-05 Martin Pitt * apport/chroot.py, * bin/apport-chroot, * debian/apport-retrace.install: Added. * bin/apport-retrace, * debian/apport.install, * debian/changelog, * debian/control, * man/apport-retrace.1, * run-tests, * setup.py: Modified. [632] merge fakechroot branch 2007-03-05 Martin Pitt * debian/changelog: [631] release as 0.62 to feisty 2007-03-02 Martin Pitt * apport/ui.py: [630] apport/ui.py, create_crash_bug_title(): Arch:all matches everywhere, add test case 2007-03-01 Martin Pitt * debian/changelog, * gtk/apport-gtk.desktop.in, * qt4/apport-qt.desktop.in: [629] * gtk/apport-gtk.desktop.in: Only show in Gnome and Xfce. * qt4/apport-qt.desktop.in: Only show in KDE. 2007-02-28 Martin Pitt * debian/changelog: [628] remove stray changelog space * debian/apport.install, * debian/changelog, * setup.py: [627] * setup.py, debian/apport.install: Ship test-hooks, test-apport, and run-tests in /usr/share/apport/testsuite/, so that the full test suite can be run in the installed system. * debian/changelog, * run-tests: [626] * run-tests: Add a 'local' command line option which runs tests on the files and modules in the build tree. Run tests on system files/modules by default. * apport/report.py, * debian/changelog: [625] * apport/report.py, test_add_proc_info(): Change the python script test so that it does not depend on being run in the source tree. * debian/changelog, * run-tests, * test-hooks: [624] * test-hooks: Run tests on installed hooks in /usr/share/apport by default and add a '--local' switch to test the hooks in the source tree instead. Use this option in run-tests. * apport/fileutils.py, * apport/report.py, * backends/packaging-dpkg.py, * debian/changelog: [623] * All test suites: Remove redundant word 'behaviour' from test descriptions. * TODO, * apport/ui.py, * debian/changelog: [622] * apport/ui.py, create_crash_bug_title(): Append warning about non-native package if package architecture does not match the system's one. * apport/report.py, * debian/changelog: [621] * apport/report.py, add_os_info(): Add system architecture as 'Architecture:' field. * apport/report.py, * debian/changelog: [620] * apport/report.py, add_package_info(): Rename key 'Architecture:' to 'PackageArchitecture:' for clarity. * apport/packaging.py, * backends/packaging-dpkg.py, * debian/changelog: [619] * apport/packaging.py: Add interface get_system_architecture() to return the system architecture in the distro specific notation. This can differ from get_architecture(package) on multiarch platforms such as amd64. * backends/packaging-dpkg.py: Implement get_system_architecture() to return dpkg --print-architecture, add a shallo test case. * apport/report.py, * debian/changelog: [618] * apport/report.py, add_proc_info(): Check that ExecutablePath actually exists, so that invalid values from transient error conditions are ignored (such as '/usr/bin/gnome- panel\x00\x00\x8b (deleted)'). * apport/ui.py, * debian/changelog: [617] * apport/ui.py, collect_info(): Use REThread instead of Thread and raise exceptions from it, so that errors during info collection actually become visible. * debian/changelog: [616] release as 0.61 to feisty 2007-02-27 Martin Pitt * bin/apport, * debian/changelog: [615] * bin/apport: - Kernel 2.6.20-9 now sets CORE_REAL_RLIM to -1 instead of not setting it; handle this case correctly. (LP: #87065) - Add forgotten multiplication of CORE_REAL_RLIM with 1024, since ulimit sets kB, not bytes. * TODO: [614] TODO item 2007-02-26 Martin Pitt * debian/changelog: [613] release as 0.60 to feisty * debian/changelog, * qt4/apport-qt: [612] * qt4/apport-qt: Wrap gettext() into an unicode(str, 'UTF-8') call, otherwise all non-ASCII unicode strings are broken. (LP: #87757) * debian/changelog: [611] remove stray changelog space * apport/fileutils.py, * apport/ui.py, * debian/changelog: [610] * apport/ui.py: Already mark report as seen when we load it, not just in the information collection thread. That way, reports will only be shown once on systems which have /var/crash mounted noatime, too. (LP: #85809) * apport/fileutils.py, mark_report_seen(): If os.utime() fails, and opening the report file for reading does not change the atime (happens with noatime mount option), don't throw an exception, just delete the report. (other aspect of LP: #85809) * apport/report.py, * debian/changelog: [609] * apport/report.py, add_package_info(): Add Architecture: field. (LP: #87424) * apport/packaging.py, * backends/packaging-dpkg.py, * debian/changelog: [608] * apport/packaging.py: Add get_architecture() interface for determining the architecture of a particular package (which might not match the overall system architecture on multiarch-capable systems, e. g. an i386 Firefox package installed on amd64). * backends/packaging-dpkg.py: Implement get_architecture() and add test case. * debian/changelog, * gtk/apport-gtk.glade: [607] * gtk/apport-gtk.glade: Reintroduce window titles. Since the crash notifications are like alerts, title have been removed recently to comply with Gnome HIG standards, but then the user will get 'nameless window' buttons in the task bar. Let's have the smaller evil then. (LP: #87164) 2007-02-22 Martin Pitt * debian/changelog: [606] release as 0.59 to feisty * apport/report.py, * debian/changelog: [605] * apport/report.py, add_gdb_info(): - Remove all the initial gdb output, which gets rid of the duplicated #0 line. - Replace some stray tabs with spaces. - Thanks to Kees Cook for this! * debian/changelog, * problem_report.py: [604] * problem_report.py test suite: Use assertAlmostEqual() when comparing stat times, since they are floats on some systems. * debian/changelog, * test-apport: [603] * test-apport: Check that the core file written by apport is valid. This uncovers kernel bugs like #87065 * TODO, * bin/apport, * debian/changelog, * test-apport: [602] * bin/apport: Write core files into a process' cwd if the process' ulimit requests and permits it and the crashes process is not packaged, so that developers get happy again. Test this behaviour with various ulimits in test-apport. * debian/changelog, * test-apport: [601] * test-apport, check_crash(): Differ between expecting the program dumping core and finding a core dump on disk, because this is not equivalent any more with core pipelining. * apport/report.py, * debian/changelog: [600] * apport/report.py, _check_interpreted_script(): Filter out interpreter command line options. This should make the detection of interpreted scripts more robust. (LP: #87005) * apport/report.py, * debian/changelog: [599] * apport/report.py: Check that interpreter options are discarded in test_check_interpreted_script(). This replicates bug #87005. 2007-02-20 Martin Pitt [598] release as 0.58 to feisty 2007-02-20 Jonathan Riddell * debian/changelog: [597] add changelog * qt4/apport-qt.desktop.in: [596] move kde .desktop file to system menu 2007-02-19 Martin Pitt * debian/changelog: [595] release as 0.57 to feisty * apport/ui.py, * debian/changelog: [594] * apport/ui.py, open_url(): Remove debugging print statement again, now that we tracked down bug #83974. * TODO: [593] TODO item * apport/python_hook.py, * debian/changelog: [592] * apport/python_hook.py: Resolve symbolic links in ExecutablePath. (LP: #85529) * apport/ui.py, * debian/changelog: [591] * apport/ui.py: If the problem report does not apply to a packaged program, and we have an ExecutablePath, mention it in the error message for easier debugging. * debian/changelog: [590] fix changelog bug number * debian/changelog, * gtk/apport-gtk, * qt4/apport-qt: [589] * gtk/apport-gtk, qt4/apport-qt: Intercept ImportError for the non-builtin Python modules. This usually happens for crashes when there is a dist-upgrade active and some Python packages have not been configured yet. (LP: #86007) * apport/ui.py, * debian/changelog: [588] * apport/ui.py: Ignore KeyError when deleting the CoreDump field on sending a reduced report. This Should Not Happen?, but nevertheless did. (LP: #86007) * apport/ui.py, * debian/changelog: [587] * apport/ui.py: Intercept ENOMEM and fail gracefully; there is little else we can do at that point, and there is no point in presenting a crash report for this. (LP: #85155) 2007-02-15 Martin Pitt * debian/changelog: [586] release as 0.56 to feisty * debian/changelog, * qt4/apport-qt: [585] * qt4/apport-qt: Add some missing features that are present in the GTK UI: - Do not show details by default, add a button to show them. - Add complete/reduced bug report radio buttons. - Thanks to Michael Hofmann for this! 2007-02-15 Martin Pitt * debian/local/ubuntu-bug.1: Added. * debian/apport.manpages, * debian/changelog: Modified. [584] * Add debian/local/ubuntu-bug.1: Manpage for ubuntu-bug. Add it to debian/apport.manpages. 2007-02-14 Martin Pitt * apport/ui.py, * debian/changelog: [583] * apport/ui.py, open_url(): When being invoked as root, call gnome-open or firefox as root through sudo instead of dropping our uid/gid and calling it normally. The latter does not work for Firefox for some mysterious reason. Thanks to Mika Fischer for this trick. (LP: #81207) * TODO: [582] remove delay TODO item, it does not happen any more * debian/changelog: [581] release as 0.55 to feisty * apport/ui.py, * debian/changelog: [580] * apport/ui.py: Switch from edge.launchpad.net to production launchpad.net, since the necessary bits are now there. (LP: #84992) * apport/ui.py, * debian/changelog: [579] * apport/ui.py: Do not silently ignore exceptions while uploading data to Launchpad, but intercept them and display their message in the error dialog. (Part of LP: #84992) * debian/changelog, * gtk/apport-gtk: [578] * gtk/apport-gtk: Generously add some gtk.main_iteration() calls to avoid hanging dialogs, since we do not have a main loop. 2007-02-14 Martin Pitt * debian/local, * debian/local/ubuntu-bug: Added. * TODO, * debian/apport.install, * debian/changelog: Modified. [577] * Add debian/local/ubuntu-bug: Check for a running KDE or Gnome session, availability of apport-gtk and -qt, and open the appropriate GUI in bug filing mode. This makes it convenient for shell users and is also required for proper Firefox 'Report a bug...' menu integration (see bug #85041). * debian/apport.install: Install ubuntu-bug to /usr/bin. 2007-02-13 Martin Pitt * debian/changelog: [576] release as 0.54 to feisty * bin/apport, * debian/changelog: [575] * bin/apport: Re-enable, now that our kernel has been fixed to pipe complete core dumps to us. 2007-02-12 Martin Pitt * debian/changelog: [574] release as 0.53 to feisty * apport/ui.py, * debian/changelog: [573] * apport/ui.py, open_url(): Print URL to stdout, so that we can debug the weirdness in #83974. * debian/changelog, * gtk/apport-gtk: [572] * gtk/apport-gtk: Do not count the lines of fields with binary data. This particularly avoids long delays with huge core dumps. (LP: #81979) * debian/changelog, * gtk/apport-gtk: [571] * gtk/apport-gtk: Process pending GTK events after hiding the info collection window to avoid a hanging dead dialog. 2007-02-09 Martin Pitt * apport/ui.py, * debian/changelog: [570] * apport/ui.py, open_url(): Remove some accidentally left-over debugging junk. * debian/changelog: [569] release as 0.52 to feisty * bin/apport, * debian/changelog: [568] * bin/apport: Disable for now, since the current kernel produces cropped core dumps and thus we get totally useless crash reports * debian/changelog: [567] change bug numbers for official Ubuntu dpkg- dev syntax * debian/changelog, * qt4/apport-qt: [566] * qt4/apport-qt: Do not try to call splitlines() on a report value that is a file reference; just display the reference instead. Closes: LP#84196 2007-02-09 Martin Pitt * debian/apport.dirs: Added. * debian/changelog: Modified. [565] * Add debian/apport.dirs: Ship package-hooks/ directory. 2007-02-09 Martin Pitt * debian/changelog, * qt4/apport-qt: [564] * qt4/apport-qt: Fix restart button handling. Closes: LP#84202 * bin/apport-retrace, * debian/changelog: [563] * bin/apport-retrace: --verbose can now be specified multiple times to increase verbosity and debug package installation. Also, fix some quoting bugs. Thanks to Kees Cook for this! 2007-02-09 Martin Pitt * qt4/apport-qt.desktop.in: Added. * debian/apport-qt.install, * debian/changelog, * debian/rules, * po/POTFILES.in, * qt4/Makefile, * qt4/apport-qt: Modified. [562] * Add qt4/apport-qt.desktop.in and add it to POTFILES.in. 2007-02-09 Martin Pitt * TODO, * debian/changelog, * gtk/apport-gtk, * qt4/apport-qt: [561] * gtk/apport-gtk, qt4/apport-qt: Fix detection of binary data so that the CoreDump is not displayed as incomprehensible gibberish any more. * TODO: [560] bc package does not ship md5sums, no check possible, remove TODO item 2007-02-09 Martin Pitt * doc, * doc/package-hooks.txt: Added. * TODO, * debian/apport.install, * debian/changelog, * setup.py: Modified. [559] * Add doc/package-hooks.txt: Document per-package hooks, ship in package apport. 2007-02-09 Martin Pitt * apport/report.py, * debian/changelog: [558] * apport/report.py: Fix hook directory to be /usr/share/apport/package-hooks/, not /u/s/apport/. * TODO: [557] remove solved TODO item 2007-02-08 Martin Pitt * debian/changelog: [556] release as 0.51 to feisty * bin/apport-retrace, * debian/changelog, * man/apport-retrace.1: [555] * bin/apport-retrace, man/apport- retrace.1: Document that report can now be a LP bug number. 2007-02-08 Martin Pitt * apport/apport.svg: Added. * apport/apport.png: Removed. * debian/changelog, * debian/copyright, * debian/rules, * setup.py: Modified. [554] Improvements: * Replaced old apport.png icon stolen from bug- buddy with nice SVG one. Thanks to Troy Sobotka for this! * debian/copyright: Add Troy as copyright holder for the icon. 2007-02-08 Martin Pitt * TODO, * debian/apport-gtk.install, * debian/apport.install, * debian/changelog, * setup.py: Modified. * gtk/apport.png: Renamed to apport/apport.png. [553] * Move icon from apport-gtk to apport, since it is/can be shared between frontends. 2007-02-08 Martin Pitt * debian/apport-gtk.install, * debian/apport.install, * debian/changelog, * debian/control: [552] * Move translations from apport-gtk to apport, since they are shared between frontends. Add appropriate Conflicts/Replaces (we don't strictly need it here because we strip them anyway, but we need that for the moving icon anyway). 2007-02-08 Martin Pitt * debian/apport-qt.install: Added. * debian/changelog, * debian/control, * po/POTFILES.in, * setup.py: Modified. * qt4/apport-qt4: Renamed to qt4/apport-qt. [551] * setup.py, debian/control, debian/apport-qt.install: Packaging bits for apport-qt. 2007-02-08 Martin Pitt * qt4, * qt4/Makefile, * qt4/apport-qt4, * qt4/bugreport.ui, * qt4/error.ui, * qt4/progress.ui: Added. * debian/changelog, * po/POTFILES.in, * po/de.po: Modified. [550] New feature: Qt4 GUI implementation: * Added qt4/: Qt4 implementation of the abstract user interface. Thanks to Michael Hofmann for that! * debian/copyright: Add Michael as copyright holder. 2007-02-08 Martin Pitt * TODO: [549] TODO item * debian/changelog: [548] release as 0.50 to feisty * debian/changelog, * gtk/apport-gtk: [547] * gtk/apport-gtk: Mark '(binary data)' string as translatable. * TODO: [546] TODO item * bin/apport-retrace, * debian/changelog, * debian/control: [545] * bin/apport-retrace: Use python-launchpad- bugs to create a Report object from a given Launchpad bug number (given as argument instead of the report file path). Add appropriate p-l-b dependency. * TODO: [544] TODO item 2007-02-07 Martin Pitt * debian/changelog, * gtk/apport-gtk.glade: [543] * gtk/apport-gtk.glade: Fix 'prolem' typo. 2007-02-06 Martin Pitt * debian/changelog: [542] release as 0.49 to feisty * apport/ui.py: [541] remove debugging print statements * apport/ui.py, * debian/changelog: [540] * apport/ui.py, open_url(): Check the user's session for ksmserver/gnome-session to decide whether to prefer kfmclient or gnome-open. Also, only call Firefox directly if gconf's prefered browser is actually Firefox. Closes: LP#82007 * debian/changelog, * gtk/apport-gtk: [539] * gtk/apport-gtk: Do not save/alter crash dialog title any more, it's empty now. * apport/python_hook.py, * debian/changelog: [538] * apport/python_hook: Do not create a report if the binary is ignored. Add test case. Closes: LP#83566 * apport/ui.py, * debian/changelog: [537] * apport/ui.py, create_crash_bug_title(): Cope with odd Tracebacks that are shorter than three lines. Add test case from the bug. Closes: LP#83556 * debian/changelog, * gtk/apport-gtk.glade: [536] * gtk/apport-gtk.glade: Fix s/send/sent/ typo. Closes: LP#83061 2007-02-05 Martin Pitt * debian/changelog: [535] release as 0.48 to feisty * debian/changelog, * gtk/apport-gtk.glade: [534] * gtk/apport-gtk.glade: Remove window titles in alert dialogs to comply with Gnome HIG. Closes: LP#83123 * TODO: [533] mono does not trigger apport, remove TODO item * bin/apport-retrace: [532] merge apport-retrace bug fix from Kees's branch 2007-02-02 Martin Pitt * TODO: [531] TODO item 2007-02-01 Martin Pitt * apport/report.py, * debian/changelog: [530] * apport/report.py, add_package_info(): Fix crash when the first dependency is not installed. Closes: LP#82561 * debian/changelog: [529] restructure changelog * debian/changelog, * gtk/apport-gtk, * gtk/apport-gtk.glade: [528] * gtk/apport-gtk{,.glade}: Add implementation for ui_present_kernel_error(). * apport/ui.py, * debian/changelog: [527] * apport/ui.py: Add support for reporting ProblemType: Kernel reports, and add test suite for the workflow. * TODO, * apport/ui.py, * debian/changelog: [526] * apport/ui.py: Do not crash if Package: specifies a nonexisting package. Display a proper error message instead. Add test_run_crash_errors() test case. 2007-02-01 Martin Pitt * bin/kernel_hook: Added. * TODO, * debian/apport.install, * debian/changelog, * setup.py, * test-hooks: Modified. [525] * Add bin/kernel_hook and ship it in /usr/share/apport. The kernel can call this on an Oops. Add a test suite for it to test- hooks. 2007-02-01 Martin Pitt * TODO, * apport/report.py, * debian/changelog: [524] * apport/report.py, add_hooks_info(): Only use first part of 'Package:', there might be a version number and a changed files list which we must not propagate to the import statement. Closes: LP#82566 2007-01-31 Martin Pitt * TODO: [523] TODO item 2007-01-31 Martin Pitt * test-hooks: Added. * debian/changelog, * run-tests: Modified. [522] * Add ./test-hooks: Test suite for the various package hooks shipped with apport. Test the package problem hook for now. 2007-01-31 Martin Pitt * debian/changelog, * setup.py: [521] * setup.py: Remove version attribute, we do not update and use it anyway. * bin/apport, * debian/changelog: [520] * bin/apport: Call add_os_info(), so that we get architecture information even for 'naked' reports which didn't go through UI enrichment. 2007-01-31 Martin Pitt * gtk/Makefile, * gtk/apport-gtk.desktop.in: Added. * debian/apport-gtk.install, * debian/changelog, * debian/rules, * po/POTFILES.in: Modified. [519] * Add gtk/apport-gtk.desktop.in: Desktop file for calling apport-gtk in 'file a distro bug' mode, to be displayed in gnome- panel's System menu (see bug-reporting-tool spec). Also add a Makefile to do the intltool-merge dance, add it to POTFILES.in, and ship it in debian/apport-gtk.install. 2007-01-31 Martin Pitt * TODO: [518] TODO item * backends/packaging-dpkg.py, * debian/changelog: [517] * backends/packaging-dpkg.py test suite: Verify that packages returned by get_dependencies() actually exist. This catches the 'chops off first letter of package name sometimes' bug. * backends/packaging-dpkg.py, _init_status(): Add missing space to Depends: field format in dpkg-query call. This fixes the chopped- off first letters in the 'Dependencies' report field. * debian/changelog, * debian/control: [516] * debian/control: Add gdb dependency to python-apport. * bin/apport-retrace, * debian/changelog, * debian/control: [515] * debian/control: Add missing python-apt dependency to apport (apport-retrace needs it). Thanks to Kees Cook for noticing. * Merged various apport-retrace improvements from Kees' branch: - Add various options to override some report fields with local values. - Add --verbose option and be quiet by default. - Read ProcMaps for additional library dependencies, to also catch libraries loaded at runtime (plugins). - Set correct debug file directory when starting an interactive gdb session with -g. * debian/changelog: [514] release as 0.46 to feisty * bin/package_hook, * debian/changelog: [513] * bin/package_hook: Remove erroneous 'import apport.packaging', which shadows the packaging variable in the apport package. This unbreaks the package problem hook. Closes: LP#82297 * debian/changelog, * debian/control: [512] * debian/control: Bump dependencies to python- apport due to recent changes in expected return values in some UI functions. Closes: LP#82267 2007-01-29 Martin Pitt * TODO: [511] TODO items 2007-01-29 martin@piware.de * debian/changelog: [510] release as 0.45 to feisty 2007-01-28 Martin Pitt * debian/changelog, * test-apport: [509] * test-apport: Test blacklisting. * debian/changelog: [508] add LP bug number to changelog 2007-01-27 Martin Pitt * bin/apport, * debian/changelog: [507] * bin/apport: Do nothing if the current crash is blacklisted. * debian/changelog, * gtk/apport-gtk, * gtk/apport-gtk.glade: [506] * gtk/apport-gtk{,.glade}: Add a blacklist checkbox to the crash notification dialogs. * apport/ui.py, * debian/changelog: [505] * apport/ui.py: Add another return value of ui_present_crash() to specify whether or not to blacklist the current crash's executable. Check workflow of both responses in the test suite. * apport/report.py, * debian/changelog: [504] * apport/report.py, _get_ignore_dom(): Do not throw an error for an empty ignore list file. * * TODO: [503] missing dependencies work fine, remove TODO item * TODO, * apport/ui.py, * debian/changelog: [502] * apport/ui.py, create_crash_bug_title(): Create default bug title for package reports. Add various test cases. * bin/package_hook: [501] bin/package_hook: do not crash if no logs are given * apport/ui.py: [500] use splitlines() instead of split(\n) * TODO, * apport/ui.py, * debian/changelog: [499] * apport/ui.py, create_crash_bug_title(): - Do not crash on an empty StacktraceTop. Closes: LP#81677 - Do not mention an unknown function name ('??') in the bug title; instead, use the topmost function with a known name, or leave it out at all. - Add test cases for these situations. * apport/__init__.py, * apport/fileutils.py, * apport/packaging.py, * apport/report.py, * bin/package_hook, * debian/changelog: [498] * Changed the packaging backend import, so that its methods can now be accessed at apport.packaging instead of apport.packging.impl. * TODO, * backends/packaging-dpkg.py, * debian/changelog: [497] * backends/packaging-dpkg.py: Do not read the dpkg status in the constructor, but lazily initialize it when actually calling a query function. This avoids imposing the dpkg- query overhead for programs that import the apport package without doing package queries (such as any Python program under Ubuntu, due to the Python crash hook). * debian/changelog: [496] fix changelog ordering * debian/changelog, * run-tests: [495] run-tests: Adapt to new core_pattern kernel interface * apport/fileutils.py, * apport/report.py, * backends/packaging-dpkg.py, * bin/apport-retrace, * debian/changelog, * problem_report.py: [494] Code cleanups: * Consistently use 'in'/'not in' instead of find() for substring searches. * apport/report.py, * debian/changelog: [493] * apport/report.py: Fix test_add_gdb_info_script() to not leave behind a stray gzip process which randomly blocks stdin. * apport/report.py, * debian/changelog: [492] * apport/report.py, add_package_info(): Do not produce stray empty lines for uninstalled alternative dependencies. * backends/packaging-dpkg.py, * debian/changelog: [491] * backends/packaging-dpkg.py: Fix return value of get_modified_files() if dpkg .list file is missing. * apport/report.py, * debian/changelog: [490] * apport/report.py test suite: Refactorize generation of test crash program and core dump generation. * apport/report.py, * debian/changelog: [489] * apport/report.py test suite: Use gdb to generate a test core dump, do not rely on kill(SIGSEGV) and the kernel to do it (since we now use a pipe in core_pattern). * TODO: [488] TODO item 2007-01-26 Martin Pitt * TODO: [487] TODO items * TODO: [486] TODO items 2007-01-25 Martin Pitt * bin/apport, * debian/changelog: [485] * apport: Improve logging of exceptions, include environment variables. * TODO: [484] TODO item * debian/changelog, * use-local: [483] * use-local: Adapt to new core_pattern kernel interface. * debian/changelog, * test-apport: [482] * test-apport: Adapt to new core_pattern kernel interface mode: - Check core_pattern instead of the obsolete crashdump sysctl to determine whether or not apport is running. - Give apport max. 10 seconds to complete. The current kernel reaps the crashed process as soon as writing the core dump to the pipe is finished, but apport still needs to write the report file. - Do not EXFAIL the test for crashes in nonwriteable cwd any more, since it is now supposed to work (we do not write a core dump to the disk any more). * apport/report.py, * debian/changelog: [481] New feature: Maintain a per-binary blacklist to inhibit apport crash reports until the binary changes. Closes: LP#79408 * apport/report.py: Add new Report methods check_ignored() and mark_ignore() to check for/set ignore list entries. Add test cases. * debian/changelog: [480] structure changelog * bin/package_hook, * debian/changelog, * gtk/apport-gtk, * gtk/apport-gtk.glade: [479] * gtk/apport-gtk{,.glade}: GTK implementation of ui_present_package_error(). * apport/ui.py, * debian/changelog: [478] * apport/ui.py: If ProblemType is 'Package', call a new function self.ui_present_package_error() instead of presenting a crash. Add test suite checks for the package error report workflow. * debian/changelog, * gtk/apport-gtk: [477] * gtk/apport-gtk: Fix return code for restarting the application ('reopen' -> 'restart'). Closes: LP#81422 2007-01-25 Martin Pitt * bin/package_hook: Added. * debian/apport.install, * debian/changelog, * setup.py: Modified. [476] * Add bin/package_hook: Script for creating a report for a package installation/upgrade failure. It receives a package name, a number of log files, and an ErrorMessage: from stdin. This will be called from e.g. dist-upgrader. * setup.py, debian/apport.install: Ship package_hook. 2007-01-24 Martin Pitt * debian/changelog: [475] release as 0.44 to feisty * debian/changelog: [474] brush up the changelog * backends/packaging-dpkg.py, * debian/changelog: [473] * backends/packaging-dpkg.py: Use a single hackish 'dpkg-query --show *' as a portable variant of 'cat /var/lib/dpkg/status' to pre-fill the status cache with all packages instead of calling dpkg -s on every single package we query. This changes the time for figuring out dependencies and their versions from 'unbearable for many packages' to 'barely noticeable'. * apport/ui.py, * debian/changelog: [472] * apport/ui.py: Call add_hooks_info() in the information collection thread. * apport/report.py: [471] apport/report.py: fix test case * apport/report.py, * debian/changelog: [470] * apport/report.py: Add method add_hooks_info() which executes a function add_info(report) from /usr/share/apport/.py. Also add appropriate test cases. This provides per-package hooks for apport. * apport/python_hook.py, * debian/changelog: [469] * apport/python_hook.py: If we figure out an ExecutablePath which is not actually an executable, do not create a report. This particularly affects interactive python sessions where sys.argv[0] is empty and thus ExecutablePath ends up being the current directory. Add test cases. Closes: LP#81237 * apport/python_hook.py, * debian/changelog: [468] * apport/python_hook.py: Use fileutils.likely_packaged() instead of checking for /tmp and home, so that we ignore stuff in /usr/local, too. Closes: LP#81244 * apport/python_hook.py, * debian/changelog: [467] * apport/python_hook.py: Check for a correct ExecutablePath in test_general(). * apport/report.py, * debian/changelog: [466] * apport/report.py: Add some more test cases for _check_interpreted() for Python scripts. 2007-01-23 Martin Pitt * TODO, * backends/packaging-dpkg.py, * debian/changelog: [465] * backends/packaging-dpkg.py, get_modified_files(): Compare package file's ctime and mtime against the package list file's mtime and only md5sum the files that are newer. This drastically reduces the amount of md5suming (usually to zero) and thus speeds up the information collection. * backends/packaging-dpkg.py, * debian/changelog: [464] * backends/packaging-dpkg.py, _check_files_md5(): Also accept a md5sum string in addition to a md5sum file. * debian/changelog: [463] release as 0.43 to feisty * apport/ui.py, * debian/changelog: [462] * apport/ui.py, file_report(): Submit a default bug title for crash reports. Closes: LP#79657 * apport/ui.py, * debian/changelog: [461] * apport/ui.py: Add method create_crash_bug_title() to construct a reasonable standard bug title for crash reports, so that the automatic duplicate detection actually has a chance to work. Also add test cases for various signal crashes and an unhandled Python exception. * debian/changelog: [460] release as 0.42 to feisty * TODO: [459] TODO item * apport/ui.py, * debian/changelog: [458] * apport/ui.py: Add missing 'import pwd'. Closes: LP#81033 * debian/changelog, * debian/control: [457] * debian/control: Bump apport's and apport- gtk's dependency to python-apport to make sure that apport.ui is available. Closes: LP#81019 * debian/changelog, * gtk/apport-gtk: [456] * gtk/apport-gtk: Add missing 'import subprocess.'. Closes: LP#81007 * debian/changelog, * problem_report.py: [455] * problem_report.py, write_mime(): Fix off- by-one comparison of the 'inline text' treshold, so that apport's StacktraceTop field appears in bug summaries. Also fix a corner case in CR line ending handling. Check both things in the test suite. 2007-01-22 Martin Pitt * debian/apport.init, * debian/changelog: [454] * debian/apport.init: Set the kernel's core_pattern sysctl to pipe to apport if the edgy-style 'crashdump- helper' sysctl helper does not exist. * apport/ui.py, * debian/changelog: [453] * apport/ui.py: Fix error message invocation for reporting cloakroom upload failure. * TODO, * apport/ui.py, * debian/changelog: [452] Minor improvements: * apport/ui.py: Get the cloakroom ticket number from the X-Launchpad-Blob-Token HTTP header instead of parsing the resulting page. * debian/changelog, * problem_report.py: [451] * problem_report.py, write_mime(): Make sure that multi-line values that go to the summary are terminated with a newline. * debian/changelog, * gtk/apport-gtk.glade: [450] * gtk/apport-gtk.glade: Fix expand/fill attributes so that the expander gets all the space when resizing the window. Closes: LP#80987 * bin/apport, * debian/changelog: [449] * bin/apport: Only unlink the core dump if it still exists. Closes: LP#80866 * apport/ui.py, * debian/changelog: [448] * apport/ui.py: Fix crash in the bug pattern search thread if we could not determine a package name. Closes: LP#77872 * debian/changelog: [447] beautify changelog * bin/apport, * debian/changelog, * preloadlib/libapport.c: [446] * bin/apport: Support calling without arguments, to support new semantics agreed in the ApportImprovements spec: macro values (in particular, pid and signal number) are passed as environment variables. * preloadlib/libapport.c: Simulate new kernel behaviour described above. 2007-01-22 martin@piware.de * bin/apport-retrace, * debian/changelog: [445] * bin/apport-retrace: Beautify error message when report file is not accessible. Closes: LP#79568 * TODO: [444] TODO items * debian/changelog: [443] release as 0.41 to feisty 2007-01-22 martin@piware.de * apport/MultipartPostHandler.py, * apport/REThread.py, * apport/ui.py: Added. * TODO, * debian/apport-gtk.install, * debian/changelog, * debian/copyright, * debian/rules, * gtk/apport-gtk, * gtk/apport-gtk.glade, * po/POTFILES.in, * po/de.po, * run-tests, * setup.py: Modified. * gtk/apport-gtk.png: Renamed to gtk/apport.png. [442] merge cloakroom branch 2007-01-21 martin@piware.de * debian/changelog: [441] debian/changelog: remove trailing whitespace * apport/report.py, * debian/changelog: [440] * apport/report.py: Disassemble 16 instructions instead of 32 bytes to become independent of the instruction size. Thanks to Kees Cook for the patch! * debian/changelog, * gtk/apport-gtk: [439] * gtk/apport-gtk: Only offer to restart programs that are in the $PATH. E. g. /usr/lib/firefox/firefox-bin cannot be called directly. Closes: LP#79623 * debian/changelog, * debian/control, * gtk/apport-gtk: [438] * gtk/apport-gtk: Use pgrep with -u instead of pidof for testing whether the crashed process is already running again, so that we do not match processes of other users. Add procps package dependency for this. 2007-01-18 martin@piware.de * backends/packaging-dpkg.py, * debian/changelog: [437] * backends/packaging-dpkg.py, get_file_package(): Process list files in chunks of 100, so that we do not exceed the maximum command line length if there is a large number of packages installed. Closes: LP#64839 2007-01-15 martin@piware.de * debian/changelog: [436] release as 0.40 to feisty * debian/changelog, * debian/control: [435] * debian/control: Add missing python-dev build dependency, which is apparently required for 2.5 now. 2007-01-13 martin@piware.de * debian/changelog: [434] release as 0.39 to feisty 2007-01-13 martin@piware.de * apport/packaging.py, * backends, * backends/packaging-dpkg.py: Added. * apport/fileutils.py, * apport/report.py, * debian/changelog, * debian/control, * debian/rules, * run-tests: Modified. [433] * Introduce abstract packaging interface and move all dpkg/apt specific bits to a dpkg implementation of this packaging interface (merge apport/abstract-pkg branch): - Add apport/packaging.py: Abstract packaging system query interface. - Add backends/packaging- dpkg.py: dpkg implementation of abstract packaging interface. - run-tests: Run tests of all backends. - apport/fileutils.py, apport/report.py: Port to packaging.py interface. - debian/control: Drop python-apport's 'python-apt' dependency since the backend only uses dpkg now (without measurable performance penalty since it uses internal caching). - debian/rules: Install backends /packaging-dpkg.py as our packaging backend to apport/packaging_impl.py and remove it again on clean. 2007-01-12 martin@piware.de * debian/changelog: [432] release as 0.38 to feisty * debian/changelog, * gtk/apport-gtk: [431] * gtk/apport-gtk: If called through sudo to process system crashes, drop privileges to the original user in open_url() so that we get the web browser correctly. (LP#62316) Caveat: The user cannot actually attach the crash report file directly since it is not accessible to the user; this will get fixed once Malone is able to link a bug report with uploaded blobs. * bin/apport-checkreports, * debian/changelog: [430] * bin/apport-checkreports: Add option --system to check for system crash reports. Closes: LP#62316 * apport/fileutils.py, * debian/changelog: [429] * apport/fileutils.py: Add get_all_system_reports() and get_new_system_reports() and added test cases. Now the test suite can also be run as root to be able to actually check their complete behaviour. Adapt the other tests to get along with running the tests as root. * debian/changelog, * debian/rules: [428] * debian/rules: Build POT file again. 2007-01-10 martin@piware.de * COPYING: Added. * debian/changelog: Modified. [427] * Add ./COPYING: GPL license. 2007-01-08 martin@piware.de * debian/changelog: [426] release as 0.37 to feisty * apport/report.py, * debian/changelog: [425] * apport/report.py test suite: Do not rely on a particular structure of the 'cat' stacktrace; apparently this is not consistent across architectures. Instead, compile a segfaulting mini C program, let it dump core, and test add_gdb_info() on it instead. This also allows us for a more rigid check of StacktraceTop. * debian/changelog, * problem_report.py: [424] * problem_report.py: Remove the requirement that values must not contain empty lines. Add test cases that reading and writing values with empty lines works, and add a test case that load() properly complains about empty lines in debcontrol encoding (empty lines in values are encoded with a single space). Closes: LP#78094 2007-01-05 martin@piware.de * debian/changelog: [423] release as 0.36 to feisty * apport/report.py, * debian/changelog: [422] * apport/report.py: Add missing import of 'time' to test suite. 2007-01-04 martin@piware.de * debian/changelog, * gtk/apport-gtk: [421] * gtk/apport-gtk: Catch exceptions from decoding of damaged reports and display an error message instead of crashing. Closes: LP#77149 * debian/changelog, * gtk/apport-gtk: [420] * gtk/apport-gtk: Properly catch exceptions from the bug pattern check thread to avoid useless backtraces like in bug #75160. * debian/changelog, * gtk/apport-gtk: [419] * gtk/apport-gtk: Catch MemoryError when loading a report and display an error dialog instead of just crashing. Closes: LP#76235 * debian/changelog, * debian/control: [418] * debian/control: Add missing python-apport dependency 'python-apt', which is not caught by ${python:Depends}. * debian/apport.init, * debian/changelog: [417] * debian/apport.init: Use mkdir -p instead of install -d, since install is not in /bin. Thanks to Kees Cook for catching this. * apport/report.py, * bin/apport-retrace, * debian/changelog: [416] * bin/apport-retrace, apport/report.py: Call gdb on InterpreterPath if present; calling it on a script does not yield anything useful. Add a test case to report.py. * debian/changelog, * gtk/apport-gtk.glade: [415] * gtk/apport-gtk.glade: Restore vertical padding of bug report dialog labels (another Glade 3 transition regression). * TODO, * debian/changelog, * gtk/apport-gtk, * gtk/apport-gtk.glade: [414] * gtk/apport-gtk: Defer opening of the bug reporting window a bit so that it appears on top of the browser window. Also enable the task bar blinking for it when it is in the background. * TODO, * debian/changelog, * gtk/apport-gtk, * gtk/apport-gtk.glade: [413] * gtk/apport-gtk{,.glade}: Terminate the program properly when closing the progress dialog instead of exiting with an exception. * TODO, * debian/changelog, * gtk/apport-gtk.glade: [412] * gtk/apport-gtk.glade: Restore pulse step of progress bar (this apparently got destroyed when saving with Glade 3). 2007-01-03 martin@piware.de * TODO: [411] TODO item * TODO: [410] TODO items * debian/changelog: [409] release as 0.35 to feisty 2007-01-02 martin@piware.de * debian/changelog, * gtk/apport-gtk.glade: [408] * gtk/apport-gtk.glade: Split the text in the progress bar dialog so that we can use it for multiple steps (like uploading data to Malone) while not breaking translations. * apport/report.py, * debian/changelog: [407] * apport/report.py, test_search_bug_patterns(): Use security.u.c. instead of archive.u.c., since the latter times out too often. * apport/report.py, * debian/changelog: [406] * apport/report.py, add_gdb_info(): Add field 'StacktraceTop' with the top five functions on the stack and no local variables. This reduced 'glimpse' is suitable for inline display in bug reports and automatic processing (dup finders, etc). * apport/report.py, * debian/changelog: [405] * apport/report.py, add_gdb_info(): Strip away the 'No symbol table info available' messages from stack traces. * apport/report.py: [404] fix add_user_info() to get groups from shadow db instead of current process * bin/apport, * debian/changelog, * test-apport: [403] * bin/apport: Call add_user_info(), check functionality in test-apport. * apport/report.py, * debian/changelog: [402] Bug/crash information: * apport/report.py, add_user_info(): Add list of system groups that the user belongs to. 2006-12-29 martin@piware.de * debian/changelog, * gtk/apport-gtk: [401] - Refactor creation of temporary report file. 2006-12-28 martin@piware.de * debian/changelog, * gtk/apport-gtk: [400] * gtk/apport-gtk: Code cleanup and refactorization: - Move iteration over crash reports into __main__ to simplify housekeeping in the ApportGTK class and get rid of some functions. * debian/changelog, * gtk/apport-gtk: [399] * gtk/apport-gtk: Support --file-bug without specifying a package or a PID for filing generic distro bugs. 2006-12-26 martin@piware.de * debian/changelog, * po/de.po: [398] * po/de.po: Unfuzz some strings. * debian/changelog, * po/Makefile: [397] Bug fixes: * po/Makefile: Add top_srcdir to work with current intltool. * debian/changelog: [396] sort current changelog into improvements and new features * debian/changelog, * gtk/apport-gtk, * gtk/apport-gtk.glade: [395] * gtk/apport-gtk{,.glade}: Generalize some strings to not talk about 'crash' any more, to make them suitable for bug reporting, too. * debian/changelog, * gtk/apport-gtk: [394] * gtk/apport-gtk: Add --file-bug, --package, and --pid options; if given, create a bug report about the given package instead of viewing crash reports. See https://wiki.ubuntu.com/BugReportingTool for details. * apport/fileutils.py, * debian/changelog, * problem_report.py: [393] * Use cStringIO instead of StringIO in modules. * debian/changelog, * problem_report.py: [392] * problem_report.py: Add new method write_mime() to encode a problem report in MIME/Multipart RFC 2822 format (i. e. an email with attachments). Short values are aggregated into the first inline text/plain part, large values, binary values, and file references get gzip compressed separate attachments. Also add various test cases. See https://wiki.ubuntu.com/BugReportingTool, 'Data submission' for details. 2006-12-24 martin@piware.de * debian/changelog, * gtk/apport-gtk: [391] * gtk/apport-gtk: Split out crash report initialization to new function show_crashes() so that we can use the frontend for other purposes like bug reporting. 2006-12-23 martin@piware.de * debian/changelog: [390] remove trailing whitespace from changelog * TODO, * apport/report.py, * debian/changelog: [389] * apport/report.py, add_gdb_info(): Call gdb just once and split the output instead of calling it again for each command. This should significantly speed up the gdb stage especially for large programs/core dumps. * TODO, * bin/apport, * debian/changelog: [388] * bin/apport: Do not use the expensive find_file_package() any more, use likely_packaged() instead. This will create initial reports in some corner cases (like custom non- packaged executables in /usr/bin/), but greatly reduces I/O impact at crash time. We rely on apport-gtk to deal with reports that do not actually belong to a packaged executable. * apport/fileutils.py, * debian/changelog: [387] * apport/fileutils.py: Split out heuristics for determining whether a file belongs to a package to new function likely_packaged() and add test cases. 2006-12-22 martin@piware.de * debian/changelog: [386] release as 0.34 to feisty * TODO: [385] TODO items * bin/apport-retrace, * debian/changelog: [384] * bin/apport-retrace: Get along with Package:/Dependencies: fields with list of modified files. * apport/report.py, * debian/changelog: [383] * apport/report.py, add_package_info(): Append list of modified package files to Package: and Dependencies: value. Closes: LP#70946 * apport/fileutils.py, * debian/changelog: [382] * apport/fileutils.py: Add check_files_md5() and test cases. 2006-12-21 martin@piware.de * apport/python_hook.py, * debian/changelog: [381] * apport/python_hook.py: Chmod the generated report to 0600 to not expose potentially private data to the world, and to be consistent with other crash reports. * apport/python_hook.py, * debian/changelog, * run-tests: [380] reading until atime != ctime, or the 1.2s timeout is reached. * apport/python_hook.py: Add unit test, call that in run- tests. 2006-12-20 martin@piware.de * apport/fileutils.py, * debian/changelog: [379] * apport/fileutils.py, mark_report_seen(): Do not bail out if os.utime() fails due to access permissions. This happens if the file does not belong to the user calling apport-gtk, but is world-readable (such as ubiquity crash reports). If utime() fails, repeatedly open()/close() the file for reading until atime != ctime, or the 1.2s timeout is reached. Closes: LP#72250 2006-12-19 martin@piware.de * debian/changelog: [378] release as 0.33 to feisty 2006-12-19 martin@piware.de * debian/apport.postinst: Removed. * debian/changelog: Modified. [377] * Remove debian/apport.postinst: Those cleanups were only necessary for intra-edgy upgrades. 2006-12-19 martin@piware.de * debian/python-apport.postinst: Added. * debian/changelog: Modified. [376] * Add debian/python-apport.postinst: Remove old .pyc and .pyo cruft on upgrades to clean up after our broken dh_pysupport invocation in earlier versions, so that the new modules are actually used. 2006-12-19 martin@piware.de * apport/fileutils.py, * apport/report.py: Added. * apport_utils.py, * debian/python-apport-utils.install: Removed. * apport/__init__.py, * apport/python_hook.py, * bin/apport, * bin/apport-checkreports, * bin/apport-retrace, * debian/changelog, * debian/control, * gtk/apport-gtk, * run-tests, * setup.py, * test-apport: Modified. [375] * Drop the apport_utils module (and with it the python-apport- utils package), it became too much of a dumping ground. The report file handling functions now live in apport.fileutils, and the debugging information collectors are now methods of a new 'Report' class (subclass of ProblemReport) in the new apport.report module. Adjust all programs accordingly. 2006-12-18 martin@piware.de * debian/changelog, * gtk/apport-gtk: [374] * gtk/apport-gtk: Rework web browser invocation: Use kfmclient if available, fall back to firefox-remote, then to webbrowser.open(). Do not call x-www-browser any more since this would block if no running browser was open before. * debian/changelog, * debian/control, * debian/rules: [373] * debian/rules: Convert to cdbs. This fixes the dh_pysupport invocation along the way, too. * debian/changelog, * debian/rules: [372] * debian/rules: Fix dh_pysupport invocation to actually do something. 2006-12-15 martin@piware.de * debian/changelog: [371] release as 0.32 to feisty 2006-12-14 martin@piware.de * bin/apport-retrace, * debian/changelog: [370] * apport-retrace: Use ldd on InterpreterPath if present; ldd'ing scripts will not get us very far. Closes: LP#72201 * debian/changelog, * use-local: [369] * use-local: Fix path to apport as well (recently moved to bin/). * debian/changelog, * test-apport: [368] * test-apport: Fix AGENTPATH directory when building the preload library (recently moved to bin/). 2006-12-05 martin@piware.de * apport_utils.py, * debian/changelog: [367] * apport_utils.py: Filter out "no debugging symbols found" warnings from gdb outputs, and add some tests for this. Thanks to Kees Cook for the patch! 2006-12-05 martin@piware.de [366] formally merge already applies fixes from Kees' branch 2006-11-25 martin@piware.de * debian/changelog: [365] release as 0.31 to feisty 2006-11-25 martin@piware.de * apport/__init__.py: Added. [364] add forgotten __init__.py 2006-11-25 martin@piware.de * apport_utils.py: [363] apport_utils.py test suite: fix for scripts moved to bin/ * apport_utils.py, * debian/changelog: [362] * apport_utils.py: Quiesce gdb error messages in test suite. 2006-11-25 martin@piware.de * constraints.py: Removed. [361] remove constraints.py, we will not need multiple threads in apport itself 2006-11-25 martin@piware.de * debian/changelog, * debian/control: [360] * debian/control: apport now depends on python-apport instead of python-apport-utils. 2006-11-25 martin@piware.de * apport, * apport/python_hook.py, * debian/python-apport.install: Added. * debian/changelog, * debian/control, * setup.py: Modified. [359] * Add apport/python_hook.py: Default exception handler for Python, to create apport reports for unhandled exceptions. Thanks to Robert Collins for this! Closes: LP#70957 * Add new package python-apport to ship the new Python package 'apport'. This includes the python crash hook for now, but in the near future apport-utils will get redesigned and put into this package, too. 2006-11-25 martin@piware.de * bin: Added. * debian/changelog, * setup.py: Modified. * apport: Renamed to bin/apport. * apport-checkreports: Renamed to bin/apport-checkreports. * apport-retrace: Renamed to bin/apport-retrace. * apport-unpack: Renamed to bin/apport-unpack. [358] * Move scripts to bin/ in source package. 2006-11-25 martin@piware.de * debian/changelog: [357] release as 0.30 to feisty * debian/apport.init, * debian/changelog: [356] * debian/apport.init: Change /var/crash permissions to 1777, so that custom crash handlers (in Python/Mono/etc.) can put reports there. * apport_utils.py, * debian/changelog, * gtk/apport-gtk: [355] * apport_utils.py, gtk/apport-gtk: Do not pass None to subprocess arguments if report belongs to a non-packaged program. Thanks to Robert Collins for discovering and fixing this! Closes: LP#70942 * debian/changelog: [354] remove stray space in changelog * apport, * apport-retrace, * apport-unpack, * apport_utils.py, * debian/changelog, * gtk/apport-gtk, * preloadlib/libapport.c, * problem_report.py, * test-apport: [353] * Convert all tabs in Python source code files to spaces to comply to PEP 8. Thanks to Robert Collins for pointing this out. * debian/apport.cron.daily, * debian/apport.init, * debian/changelog: [352] * debian/apport.cron.daily: Immediately exit if /var/crash does not exist. Create /var/crash in debian/apport.init if it does not exist. Closes: LP#71599 * debian/changelog, * gtk/apport-gtk.glade: [351] * gtk/apport-gtk.glade: Improve dialog title capitalization. Closes: LP#70652. * debian/changelog, * test-apport, * use-local: [350] * test-apport, use-local: Support both kernel 2.6.17 and 2.6.19 sysctl names (crashdump-helper vs. crashdump). 2006-11-06 martin@piware.de * debian/changelog: [349] release as 0.29 to feisty 2006-11-05 martin@piware.de * debian/changelog, * test-apport: [348] * test-apport: Build preload library with core piping. No more failed test suite checks in 'lib' mode. * debian/changelog, * preloadlib/Makefile, * preloadlib/libapport.c: [347] * preloadlib: Support -DPIPE_CORE mode which emulates the pipe-in-core_pattern mode of kernel 2.6.19. 2006-11-04 martin@piware.de * debian/changelog, * test-apport: [346] * test-apport: Fix EXFAILure of the 'core dump works for non-writable cwds' test case. * apport: [345] Fix drop_privileges() for non-root lib mode * debian/changelog, * test-apport: [344] * test-apport: When using 'lib' mode, point APPORT_LOG_FILE to a temporary file. Print it if the test suite fails. * apport-retrace, * debian/changelog: [343] * apport-retrace: If -c is given, completely remove the CoreDump field from the report instead of setting it to 'removed'. * apport-retrace, * debian/changelog, * man/apport-retrace.1: [342] * apport-retrace: Add new mode -g/--gdb which starts an interactive gdb session with the report's core dump. Add this to man/apport-retrace.1, too. * debian/changelog, * test-apport: [341] * test-apport: Automatically detect whether ULIMIT_CORE is nonzero, and adapt tests accordingly: check that core still exists after invoking apport, and clean it up. * test-apport: [340] code style fixes * apport_utils.py, * debian/changelog: [339] * apport_utils.py, find_file_package(): Terminate fgrep options with '--' to avoid problems with funny file names. Thanks to Kees Cook for spotting this! * apport, * apport_utils.py, * debian/changelog, * test-apport: [338] * apport: Temporarily drop real u/gid to target user for the os.access() tests, so that normal users cannot verify the existence of a given inaccessible file. Add comprehensive tests to apport_utils' test suite and test-apport. Thanks to Kees Cook for this patch! * debian/changelog, * debian/control: [337] core_pattern' feature. Bump python-problem- report dependency to >= 0.29 for this. * apport, * debian/changelog: [336] * apport: Confine permissions of log file to root:adm 0640, just in case. * TODO: [335] remove kernel-side TODO items, 2.6.19 pipe-in- core_pattern fulfills this quite well * apport, * debian/changelog: [334] * apport: Support '-' as core file argument, in which case the core will be read from stdin. This paves the way for using Linux 2.6.19's 'pipe core_pattern' feature. * run-tests: [333] fix new crashdump helper sysctl name in run-tests, too * debian/changelog, * problem_report.py: [332] * problem_report.py, ProblemReport.write(): Support file-like objects as argument of file references to support direct reading from pipes. Add test case test_write_fileobj(). * debian/changelog, * test-apport: [331] * test-apport: Restore cwd even when failing a test. * debian/apport.init, * debian/changelog, * test-apport, * use-local: [330] * debian/apport.init, test-apport, use-local: Adapt to 'crashdump-helper' -> 'crashdump' sysctl renaming in 2.6.19. 2006-10-25 martin@piware.de * apport_utils.py: [329] use full path for dpkg-divert * apport_utils.py, * debian/changelog: [328] * apport_utils.py: - Add test_find_file_package_diversion() selftest to check diversion handling. - find_file_package(): Check for and respect diversions. - Closes: LP#65917 * apport-retrace, * debian/changelog: [327] * apport-retrace: Do not crash if a linked library is not a dependency. Closes: LP#65914 2006-10-09 martin@piware.de * debian/changelog: [326] release as 0.28 to edgy * apport, * debian/changelog: [325] "No core - ignore!" * apport: Do not create a report for crashes which we do not get a core dump for. The reports are useless and only clutter our bug tracker. 2006-10-06 martin@piware.de * debian/changelog: [324] release as 0.27 to edgy * apport_utils.py, * debian/changelog: [323] * apport_utils.py, report_add_package_info(): Do not crash if we encounter a 'None' current version, which can happen with uninstalled alternative dependencies. Thanks to Kees Cook for tracking this down! * apport_utils.py, * debian/changelog: [322] * apport_utils.py, find_file_package(): Lower() both strings in the speedup heuristics to match e. g. /usr/bin/Xorg -> xserver-xorg. Thanks to Kees Cook! * apport, * debian/changelog: [321] * apport: use os.nice() instead of executing 'renice'. Thanks to Benoit Boissinot for noticing. * debian/changelog, * gtk/apport-gtk: [320] * gtk/apport-gtk: If gnome-open is not available, fall back to x-www-browser instead of using webbrowser.py, to respect default browser in XFCE. Closes: LP#64209 * apport, * debian/changelog: [319] * apport: Ignore SIGABRT for now; it's usually signalled from abort() or assertion failures and we only get reports with unusable stack traces for it (see #61938). 2006-10-04 martin@piware.de * debian/changelog: [318] release as 0.26 to edgy * apport_utils.py, * debian/changelog: [317] * apport_utils, report_add_proc_info(): - Move heuristics for detecting interpreted scripts to a separate function to be able to provide separate test cases for it. Check a few more special cases for mono programs. - Make interpreter heuristics even scarier to detect some more mono corner cases (like banshee and beagled-helper). Closes: LP#58859 * apport-retrace, * debian/changelog: [316] * apport-retrace: Make the best out of a report without packaging information (which can happen if the user does not click on 'report bug' in apport-gtk). * apport_utils.py: [315] fix documentation typo * debian/changelog: [314] remove trailing whitespace in changelog * apport-retrace, * debian/changelog, * man/apport-retrace.1: [313] * apport-retrace: Add option -d /--download-debug to automatically download available ddebs, create a temporary debug symbol directory from already installed and downloaded ddebs, and point gdb to use that. Also add option -C /--cache-dir to specify a permanent ddeb cache directory (by default, a temporary one is used). Update the manpage accordingly. 2006-10-02 martin@piware.de * apport_utils.py, * debian/changelog: [312] * apport_utils.py, report_add_gdb_info(): Add optional parameter 'debugdir' to specify an alternate debug file symbol root directory. * apport-retrace, * debian/changelog: [311] * apport-retrace: Clean up code a bit: - Move option parsing to separate function. - Use apport_utils' report_add_gdb_info() instead of duplicating the gdb code. * debian/changelog: [310] release as 0.25 to edgy * apport, * debian/changelog: [309] * apport: Set nice level 10 instead of 5. Closes: LP#63099 * apport, * debian/changelog: [308] * apport: Register an atexit handler as early as possible for unlinking the core dump if REMOVE_CORE environment is set. Closes: LP#62972 * debian/changelog, * preloadlib/libapport.c: [307] * preloadlib/libapport.c: Do not unlink the core file after calling apport, but set REMOVE_CORE=1 environment instead. This matches the current kernel behaviour. * debian/changelog, * test-apport: [306] * test-apport, check_crash(): Verify that a crash does not leave a core file behind. (Test for LP#62972) * apport_utils.py, * debian/changelog: [305] * apport_utils.py, report_add_gdb_info(): Add register dump and disassembly of the last 32 bytes, they might be useful to see what's going on sometimes. Thanks to Kees Cook for the idea and the patch. * debian/changelog, * debian/control: [304] * Drop apport-gtk's update-notifier dependency to a Recommends:. 2006-09-29 martin@piware.de * debian/changelog: [303] release as 0.24 to edgy * debian/changelog, * debian/control: [302] * debian/control: Bumped library dependencies of apport-gtk, added update-notifer dependency. * debian/changelog, * gtk/apport-gtk, * gtk/apport-gtk.glade: [301] - Change the 'Downloading bug patterns...' progress dialog to 'Collecting information about the crash...'. * debian/changelog, * gtk/apport-gtk: [300] * gtk/apport-gtk: - Collect gdb/packaging/operating system information when the user chooses to file a bug and update the apport report. * apport_utils.py, * debian/changelog: [299] * apport_utils.py, mark_report_seen(): Use os.utime() instead of open()/read() and a timeout for simpler and faster operation. * apport_utils.py: [298] apport_utils.report_add_gdb_info(): fix to work with inline core dumps * debian/changelog, * problem_report.py: [297] * problem_report.py: Add new method ProblemReport.add_to_existing() to update an already existing problem report with new data. Add test case. * debian/changelog, * problem_report.py: [296] * problem_report.py: Add test case for appending new data to an existing report, fix write() function to not rely on an existing ProblemType key. * debian/changelog, * problem_report.py: [295] * problem_report.py: - Use zlib instead of bzip2 for compressing the binary data (in particular, core dumps). This results in slightly bigger files, but speeds up compression a lot (30 seconds vs. ~2:45 minutes for a Firefox core dump on my slow iBook). Closes: LP#61538 - ProblemReport.read(): Support both bzip2 and zlib compression to be able to read existing reports, too. - Add/Adapt test cases. * apport, * debian/changelog: [294] * apport: Do not intercept KeyboardInterrupt as unhandled exception (only useful for command line debugging, though). 2006-09-28 martin@piware.de * TODO, * apport, * debian/changelog: [293] * apport: Do not collect static information. It requires a lot of CPU and I/O resources and slows down the machine a lot, and it can be added to the report later in the frontend. This also gets rid of the entire InformationCollector class, since everything has been moved to apport_utils.py now. Closes: LP#62542 * debian/changelog, * test-apport: [292] * test-apport: Do not require apport reports to contain gdb, packaging, and OS information, since we are going to move them out of apport. * apport_utils.py, * debian/changelog: [291] * apport_utils.py, report_add_package_info(): Support calling without a package name, then it will be figured out from ExecutableName. Extend test case accordingly. * apport, * apport_utils.py, * debian/changelog: [290] * Move InformationCollector._get_gdb() from apport to apport_utils.py report_add_gdb_info(), and add a test case for it. * apport, * debian/changelog: [289] * apport: Remove _copy_shrink_corefile(): While this has an enormous impact on the size of an uncompressed core dump, it only causes a negligible size reduction of the bzip2'ed core, but it needs a lot of I/O resources for large core dumps. * debian/changelog: [288] release as 0.23 to edgy * debian/changelog: [287] remove trailing whitespace in changelog * apport, * debian/changelog: [286] * apport: Ignore SIGQUIT. Closes: LP#62511 * debian/changelog, * test-apport: [285] * test-apport: Check that SIGQUIT does not generate a report. (Check for bug #62511). * debian/apport.init, * debian/changelog: [284] * debian/apport.init: Do not let the script run with set -e, so that do_{start,stop} can deliver their return codes for proper evaluation, instead of immediately existing. Closes: LP#61796 * apport, * debian/changelog: [283] * apport: Reset signal handler to SIG_IGN in the crash signal handler, to avoid an endless crash/handler loop (noticed during debugging LP#61708). 2006-09-19 martin@piware.de * debian/changelog: [282] release as 0.22 to edgy * apport, * debian/changelog, * test-apport: [281] * apport: Drop the maximum number of consecutive crashes per executable from 5 to 2. 5 creates a too bad user experience and creates the impression that it will never stop. Closes: LP#61078 * apport_utils.py, * debian/changelog: [280] * apport_utils.py, find_file_package(): First grep the package lists whose names are a substring of the crashed binary name (or vice versa), to immensely speed up the package name determination in many cases. * apport_utils.py, * test-apport: [279] fix script detection in report_add_proc_info() to work with relative script paths * test-apport: [278] test-apport: add relative path test case for non- packaged script check * apport, * debian/changelog: [277] * apport: Do not try to chmod the report file if we could not create it and output to stderr instead (this mainly affects local testing only). * apport, * debian/changelog: [276] * apport: Call ic.collect_runtime_information() earlier and drop the local /proc/pid/exe examination, so that we get proper script detection. This avoids getting crash reports for non-packaged scripts (see test case change from above). * debian/changelog, * test-apport: [275] * test-apport: Check that non-packaged scripts do not generate a report. * apport_utils.py, * debian/changelog: [274] * apport_utils.py, report_add_proc_info(): Make 'interpreted script' detection more general to also work for mono programs. 2006-09-15 martin@piware.de [273] release as 0.21 to edgy 2006-09-14 martin@piware.de * TODO, * debian/apport.postinst, * debian/changelog, * debian/control, * debian/rules: [272] * debian/rules: Use 'multiuser' instead of 'defaults' for dh_installinit. Clean up the unnecessary rc symlinks in postinst and add appropriate sysv-rc dependency. 2006-09-13 martin@piware.de * TODO: [271] TODO item * apport, * debian/changelog: [270] * apport: Gracefully abort if we cannot readlink /proc/pid/exe, instead of falling over with an exception. Closes: LP#59993 * TODO, * debian/changelog, * gtk/apport-gtk, * gtk/apport-gtk.glade: [269] * gtk/apport-gtk: Show a progress dialog while checking for bug patterns and execute report_search_bug_patterns() in a separate thread, so that the UI is not potentially blocked for a long time. * TODO, * apport, * apport_utils.py, * debian/changelog: [268] * apport_utils.py, find_file_package(): Before searching the dpkg database (which is expensive), check if the executable path matches a whitelist of path prefixes. This replaces the weaker blacklist (/tmp and /home) in apport itself. * TODO: [267] TODO items 2006-09-12 martin@piware.de * debian/apport.default, * debian/changelog: [266] * debian/apport.default: Increase maximum core size to 200 MB, to also catch Firefox and Evolution core dumps. * apport, * debian/changelog: [265] * apport: Run the complete code under control of the general exception fallback handler. * debian/changelog: [264] remove superfluous space from changelog * apport, * debian/changelog: [263] * apport: Add the executable path to the first line of logging. * apport, * debian/changelog: [262] * apport: Keep a partially written report with '000' permissions, and only chmod it to 0600 when it is fully written. This stops update-notifier from picking up half-written reports and get activated several times. Closes: LP#59988 2006-09-11 martin@piware.de * TODO: [261] TODO item * debian/changelog: [260] release as 0.20 to edgy * debian/changelog: [259] changelog grammar fix 2006-09-10 martin@piware.de * apport, * debian/changelog: [258] * apport: Install a signal handler for all 'crashy' signals, which just logs the signal and stack info and exits. This should avoid a crashing apport examining itself, possibly in an endless loop. Closes: LP#58873 * debian/changelog, * test-apport: [257] * test-apport: Fix WCOREDUMP() and pidof checks in check_crash(). 2006-09-10 martin@piware.de * debian/apport.logrotate: Added. * debian/changelog, * debian/rules: Modified. [256] * Add debian/apport.logrotate to add a daily 7-step /var/log/apport log rotation. 2006-09-10 martin@piware.de * apport_utils.py, * debian/changelog: [255] * apport_utils.py, report_add_proc_info(): - Apply some heuristics to determine whether the crashed process is an interpreted script (check if the Name in /proc/pid/status matches the second /proc/pid/cmdline part, and if that command line argument is an existing executable file). In the case of an interpreted script, set ExecutablePath to the script and InterpreterPath to the actually crashed ELF binary. - Test this with a shell (/bin/zgrep) and a Python (./apport-unpack) script in the test suite. - Closes: LP#58859 2006-09-08 martin@piware.de * apport-unpack, * debian/changelog, * man/apport-unpack.1: [254] * apport-unpack: Support '-' as report argument to read from stdin. * apport, * apport_utils.py, * debian/changelog: [253] * Move setting of ExecutablePath from apport's InformationCollector ctor to apport_utils' report_add_proc_info(), where it belongs to. Check ExecutablePath in apport_utils' regression tests. * TODO, * debian/changelog, * problem_report.py: [252] * problem_report.py: Alter write() method to sort binary data to the end of the report. This makes reports easier to read, and also shows relevant information more quickly when progressively loading them in a web browser. Adapted regression tests accordingly. * debian/changelog, * problem_report.py: [251] * problem_report.py: Test attaching two files instead of one in the test_write_file() regression check to assert correct key sorting. 2006-09-08 martin@piware.de * debian/apport.manpages, * man, * man/apport-retrace.1, * man/apport-unpack.1: Added. * debian/changelog, * debian/rules: Modified. [250] * Add manpages for apport-retrace(1) and apport-unpack(1) and install them into apport. Closes: LP#58463 2006-09-08 martin@piware.de * TODO: [249] remove TODO item fixed by last commit * apport, * debian/changelog: [248] * apport: Renice ourself to priority 5 to not slow down the user's processes so heavily. * TODO: [247] TODO item 2006-09-05 martin@piware.de * debian/changelog: [246] release as 0.19 to edgy * debian/changelog, * debian/control, * gtk/apport-gtk: [245] * apport-gtk: Make use of the new report_search_bug_patterns() function and display appropriate instructions on match. Bump python-apport-utils dependency. * apport_utils.py: [244] report_search_bug_patterns(): gracefully handle invalid REs 2006-09-04 martin@piware.de * TODO: [243] TODO: valgrind issue has been settled * debian/changelog, * test-apport: [242] * test-apport: Fix help message. * apport_utils.py, * debian/changelog: [241] * apport_utils.py: Add function report_search_bug_patterns(): Try to download a package specific bug pattern XML file from a given URL base directory and return the bug URL in case of a match. Also add extensive test suite check. * TODO: [240] todo item 2006-08-25 martin@piware.de * debian/changelog: [239] release as 0.18 to edgy * TODO, * debian/changelog, * problem_report.py: [238] * problem_report.py: Support an optional second argument of file references which controls whether or not the file contents will be compressed/encoded (defaults to True for backwards compatibility). Add test suite checks. * debian/changelog, * gtk/apport-gtk: [237] - Support new field 'RespawnCommand' to use custom respawning command. * TODO, * debian/changelog, * debian/control, * gtk/apport-gtk: [236] - Use the ProcCmdline attibute to restart an application; correctly parsing of all the desktop file is just not possible at this point. * debian/changelog, * run-tests: [235] * run-tests: Check if kernel crash dump helper is active, and if so, run test-apport in kernel mode. * apport_utils.py, * debian/changelog: [234] * apport_utils.py: Fix the quoting in ProcCmdline so that it is fully shell compatible. * TODO, * debian/changelog, * gtk/apport-gtk, * gtk/apport-gtk.glade, * po/de.po: [233] - Support new field 'BugDisplayMode: file | list (default)'. In 'file' mode, display the /+filebug page instead of /+bugs and change instructions accordingly. * debian/control: [232] bump dependency for ProblemReport.has_removed_files() * debian/changelog, * gtk/apport-gtk.glade, * po/de.po: [231] - Change tooltip of 'reduced report' radio button to be more generic (do not refer to the memory dump, but to 'large items', since this is what apport-gtk currently does). * TODO, * debian/changelog, * gtk/apport-gtk: [230] - Only created reduced report and show the radio buttons if there are actually removed fields. * debian/changelog, * problem_report.py: [229] * problem_report.py: Add method has_removed_fields() to check whether load() skipped any fields due to binary=False. Add test suite check. * TODO, * debian/changelog, * gtk/apport-gtk: [228] - If the report specifies an explicit DesktopFile, use that instead of trying to figure it out. * TODO, * debian/changelog, * gtk/apport-gtk: [227] - Do not assume the presence of the ExecutablePath key in reports, but gracefully fall back to Package. * TODO, * debian/changelog, * gtk/apport-gtk: [226] * apport-gtk: - Use pidof's -x option in the detection whether the program is already running to correctly handle scripts. 2006-08-24 martin@piware.de * TODO: [225] TODO item 2006-08-22 martin@piware.de * debian/changelog: [224] release as 0.17 to edgy 2006-08-22 martin@piware.de * debian/apport.postinst: Added. * debian/changelog: Modified. [223] * Add debian/apport.postinst: Remove /usr/share/apport/apport_utils.pyc when upgrading from an earlier version, so that the programs in /usr/share/apport actually use the version from p-apport-utils. 2006-08-22 martin@piware.de * apport_utils.py, * debian/changelog: [222] * apport_utils.py: Add make_report_path(), which constructs the canonical crash report pathname for a given report. * apport_utils.py, * debian/changelog, * problem_report.py: [221] * problem_report.py, apport_utils.py: Prepend UnitTest classes with '_' so that they do not appear in the help() output. * debian/changelog, * po/de.po: [220] * po/de.po: Add new translations to make this complete again. 2006-08-22 martin@piware.de * debian/python-apport-utils.install: Added. * apport, * apport-checkreports, * debian/apport.install, * debian/changelog, * debian/control, * debian/python-problem-report.install, * gtk/apport-gtk, * setup.py: Modified. [219] * Change apport_utils.py to be a public module and ship it in the new python-apport-utils package, so that other applications like ubiquity can use it easily. 2006-08-22 martin@piware.de * debian/changelog, * preloadlib/libapport.c: [218] * preloadlib/libapport.c: Route gcore's stderr to /dev/null to suppress error messages during the test suite and to become more compatible to the kernel behaviour. * apport, * apport_utils.py, * debian/changelog: [217] * Move /proc information collection from apport to new function report_add_proc_info() in apport_utils.py, add test suite check, and fix handling of failed /proc/$$/environ reading. * apport, * apport_utils.py, * debian/changelog: [216] * Move operating system information collection from apport to new function report_add_os_info() in apport_utils.py, add test suite check. * apport, * apport_utils.py, * debian/changelog: [215] * Move packaging information collection from apport to new function report_add_package_info() in apport_utils.py, add test suite check. 2006-08-21 martin@piware.de [214] release as 0.16 to edgy 2006-08-21 martin@piware.de * TODO, * debian/changelog, * gtk/apport-gtk, * gtk/apport-gtk.glade: [213] * apport-gtk: Offer an alternative small report (without the core dump) for users with slow internet connection. * test-apport: [212] test-apport: Clean up temporary file * apport, * debian/changelog: [211] * apport: Replace 0-bytes in ProcCmdline with spaces to keep them readable. * TODO, * apport, * debian/changelog: [210] * apport: Immediately exit if the executable name starts with /home or /tmp, to avoid grepping the dpkg database in the common developer case. * TODO: [209] TODO item * apport, * debian/changelog: [208] * apport: Use find_file_package() instead of direct dpkg -S call and pass the result to the InformationCollector ctor to avoid grepping the dpkg lists twice. * apport_utils.py: [207] apport_utils.py: robustify subprocess call * apport_utils.py, * debian/changelog: [206] * apport_utils.py: Add find_file_package() to find the package a file belongs to. This uses fgrep /var/lib/dpkg/info/*.list which is much faster than dpkg -S. Also add test suite check. * debian/changelog, * test-apport: [205] * test-apport: Check that non-packaged binaries do not generate a report. 2006-08-20 martin@piware.de * TODO: [204] TODO item * debian/changelog: [203] release as 15 to edgy * debian/changelog, * test-apport: [202] * test-apport: If using the preload library, wait a second between the test process invocations in the flooding test to mitigate a strange race condition that sometimes causes the signal handler not to be executed. * debian/changelog, * preloadlib/libapport.c: [201] * preloadlib/libapport.c: Improve error checking, some robustification. * debian/changelog, * test-apport: [200] * test-apport: Check for running apport and test executable processes in check_crash(). * debian/changelog, * test-apport: [199] * test-apport: Delete test report in the cleanup handler so that the kernel-mode test can be run multiple times without manual cleanup. * apport, * debian/changelog: [198] * apport: Filter out all environment variables but $SHELL, $PATH, and locale/language related ones. Closes: LP#56846 * debian/changelog, * test-apport: [197] * test-apport: Check that dumped environment only contains security insensitive variables. 2006-08-20 martin@piware.de * apport-unpack: Added. * debian/apport.install, * debian/changelog, * setup.py: Modified. [196] * Add apport-unpack: Script to extract the fields of a problem report into separate files into a new or empty directory. Mainly useful for extracting compressed binary data like the core dump. 2006-08-18 martin@piware.de * debian/changelog: [195] release as 0.14 to edgy * test-apport: [194] test-apport: clean up output * debian/changelog, * preloadlib/libapport.c: [193] * preloadlib/libapport.c: Close stderr for apport process. * test-apport: [192] test-apport: Check that core dump works for non- writable cwds * test-apport: [191] apport-test: check flooding * apport_utils.py, * debian/changelog: [190] * apport_utils.py, delete_report(): Actually try to unlink the report before falling back to truncating it to zero bytes. * run-tests, * test-apport: [189] add kernel mode to test-apport 2006-08-18 martin@piware.de * test-apport: Added. * debian/changelog, * run-tests: Modified. [188] * Add test-apport: Use preloadlib/ and APPORT_REPORT_DIR to create a sandboxed environment and run various apport functionality tests. Also add this script to run-tests. 2006-08-18 martin@piware.de * debian/changelog, * preloadlib/libapport.c: [187] * preloadlib/libapport.c: Close stdout for gcore process. * debian/changelog, * preloadlib/libapport.c: [186] * preloadlib/libapport.c: Re-raise the signal instead of doing exit() so that the process exits with the same code as it would do without the library. * apport, * debian/changelog: [185] * apport: Quiesce the apt module's FutureWarning. * apport_utils.py, * debian/changelog: [184] * apport_utils.py: Check APPORT_REPORT_DIR environment variable for an alternate crash report directory. This is mainly useful for a local test suite. * debian/changelog, * preloadlib/libapport.c: [183] * preloadlib/libapport.c: Write core dump into cwd instead of /tmp to act like the current kernel. 2006-08-17 martin@piware.de * debian/changelog: [182] release as 0.13 to edgy * debian/changelog, * debian/control, * debian/rules: [181] * Do not run the test suite on build since on the buildds modifying file atimes does not work. * debian/changelog: [180] release as 0.12 to edgy * debian/changelog, * debian/control, * debian/rules: [179] * debian/rules: Run run-tests during build to have the package FTBFS on regressions. Add python build dependency for this (it is already there implicitly anyway). 2006-08-17 martin@piware.de * run-tests: Added. * debian/changelog: Modified. [178] * Add run-tests script which calls all available selftests. 2006-08-17 martin@piware.de * TODO, * apport, * debian/changelog: [177] * apport: Clean up exit codes to only exit with 0 if report was created, and with 1 otherwise (to become more compatible to proposed future kernel behaviour, where core dumps are only generated on demand). * apport, * debian/changelog: [176] * apport: If the same binary produced more than 5 crashes in the last 24 hours, ignore the crash. This is a hideous and pretty ad-hoc band-aid to avoid flooding users with reports for continuously crashing respawning processes. Closes: LP#56362 * apport_utils.py, * debian/changelog: [175] * apport_utils.py: Add get_recent_crashes() and a test suite check for it. * TODO: [174] TODO item * TODO: [173] TODO item * debian/changelog, * gtk/apport-gtk, * gtk/apport-gtk.glade: [172] * apport-gtk: Make bug report window resizable when the details are expanded. Closes: LP#56672 * TODO: [171] add TODO item 2006-08-16 martin@piware.de * debian/changelog: [170] release as 0.11 to edgy * TODO: [169] remove TODO item which is not reproducible 2006-08-16 martin@piware.de * debian/apport.default: Added. * TODO, * debian/apport.init, * debian/changelog: Modified. [168] * Add debian/apport.default: Default file to disable apport entirely and to change the maximum size of kernel created core dumps. * debian/apport.init: Evaluate new default file. 2006-08-16 martin@piware.de * TODO: [167] TODO item 2006-08-15 martin@piware.de * TODO: [166] TODO item 2006-08-14 martin@piware.de * TODO, * apport, * debian/changelog: [165] - transitive_dependencies(): Do not break on pure virtual dependencies (like perl-api-XXX). * TODO, * apport, * debian/changelog: [164] - Log successful report creation with file and package name, to ease debugging. * apport: [163] fix temporary file handling * apport: [162] move code comment to where it belongs * apport, * debian/changelog: [161] - Clean up handling of temporary files. * apport, * debian/changelog: [160] - Do not catch SystemExit in the final catch-all-and-log clause (will become important once we switch to master/slave processes). * apport, * debian/changelog: [159] - Add missing close() call in init_error_log(). * TODO: [158] TODO items 2006-08-14 martin@piware.de * constraints.py: Added. [157] add constraints.py to figure out apport workflow 2006-08-14 martin@piware.de * apport, * debian/changelog: [156] * apport: - Move information collection from ctor to two new separate functions collect_runtime_information() (fast, privileged, crashed process must exist) and collect_static_information() (slow, unprivileged, crashed process does not need to exist). This allows a cleaner design. * debian/changelog, * gtk/apport-gtk.glade: [155] * gtk/apport-gtk.glade: Remove separators from dialogs. Closes: LP#56326 * TODO: [154] TODO item * TODO: [153] TODO items * debian/changelog: [152] release as 0.10 to edgy 2006-08-11 martin@piware.de * gtk/apport-gtk: [151] fix report iteration in apport-gtk 2006-08-11 martin@piware.de * apport-retrace: Added. * debian/apport.install, * debian/changelog, * debian/rules, * setup.py: Modified. [150] * Add apport-retrace and install it into apport: This tool takes a crash report and refreshes the stack traces in it. This is particularly useful if debug symbols are installed now, but haven't been at the time the crash occured. 2006-08-11 martin@piware.de * debian/apport.init, * debian/changelog: [149] * debian/apport.init: Add colon to description to make output less confusing. * debian/changelog, * problem_report.py: [148] ProblemReport: Restructure class to inherit from IterableUserDict and throw away all the now obsolete dictionary wrapper methods. * debian/changelog, * problem_report.py: [147] - Fixed ProblemReport.load() to clean up old data, added selftest. * debian/changelog, * problem_report.py: [146] problem_report.py: Fix writing back binary data, adapt test suite to check it * debian/changelog, * problem_report.py: [145] * problem_report.py: - Fix precise whitespace handling in continuation lines, add selftest. - Add selftest for reading a report, modifying fields, and writing it back. 2006-08-10 martin@piware.de * apport, * debian/changelog: [144] do not try to guess core dump location, future kernel will pass the path * debian/apport.cron.daily, * debian/changelog: [143] * debian/apport.cron.daily: Add -mindepth 1 to find commands to avoid attempting to remove the /var/crash/ directory. Closes: LP#55107 * apport, * apport-checkreports, * debian/changelog, * preloadlib/libapport.c: [142] * Fix the GPL URLs in source file's copyright comments. * apport, * debian/changelog: [141] * apport: - Correctly handle relative paths to core dumps (use crashed process' cwd). - If core dump file is not specified as argument, look in the default location (cwd/core). * debian/changelog, * gtk/apport-gtk, * gtk/apport-gtk.glade: [140] * apport-gtk: Show report file size in bug report window. 2006-08-09 martin@piware.de [139] release as 0.9 to edgy 2006-08-09 martin@piware.de * preloadlib/README: Added. * debian/changelog: Modified. [138] * Add preloadlib/README: Explain how to use the preload library. 2006-08-09 martin@piware.de * debian/changelog: [137] changelog whitespace adjustment 2006-08-09 martin@piware.de * debian/apport.examples: Added. * debian/changelog, * debian/rules: Modified. [136] * Ship preloadlib/* as examples in package 'apport' for people who want to play with it until the new kernel arrives. 2006-08-09 martin@piware.de * preloadlib, * preloadlib/Makefile, * preloadlib/libapport.c: Added. * debian/changelog: Modified. [135] * Add preloadlib/{Makefile,libapport.c}: LD_PRELOADable library which emulates the future kernel behaviour. This is ONLY for testing and development purposes. It uses unsafe temporary file handling and thus must not be used on production boxes! 2006-08-09 martin@piware.de * apport, * debian/changelog: [134] * apport: - Support an optional third command line argument which specifies the location of a core dump. - If a core dump is given, call gdb on the core dump instead of the crashed process. We cannot attach to the latter if we are called by the kernel (since the crashed process is in uninterruptible kernel sleep). - If no core dump is given, do not attempt to do anything gdb related. - This matches the future behaviour of the kernel crash dump helper while remaining compatible to the previous call semantics. 2006-08-08 martin@piware.de * apport, * debian/changelog: [133] * apport: Call objcopy to throw out READONLY/CODE sections from the core dump, which drastically reduces its (uncompressed) size (factor 2 to 10). This has little effect on the bzip2'ed core dump, though. * debian/changelog: [132] release as 0.8 to edgy * gtk/apport-gtk: [131] apport-gtk: Mark reports as seen once we showed a notification for it * debian/changelog: [130] fix changelog typo * apport_utils.py: [129] apport_utils.py: add proper implementation for mark_report_seen() * apport_utils.py, * debian/changelog: [128] * apport-utils.py: Add a test suite for all exported functions. * debian/changelog: [127] fix two changelog typos * apport, * debian/changelog: [126] * apport.py: Overwrite old reports if they are seen. * apport, * apport_utils.py, * debian/changelog: [125] * Replace all usages of '/var/crash' to a new global variable in apport_utils; this is particularly useful for test suites. * apport_utils.py, * debian/changelog, * gtk/apport-gtk: [124] * apport-utils.py: - Add two new functions seen_report() and mark_report_seen(). - get_new_reports(): Only return unseen reports, add function get_all_reports() for the old behaviour. * gtk/apport-gtk.py: Do not delete reports after notifying about them. This way, we do not need to add another button to save the report (which is considered evil UI-wise), but still retain the report for filing and examining later. * debian/changelog: [123] release as 0.7 to edgy 2006-08-08 martin@piware.de * apport-checkreports: Added. * debian/apport.install, * debian/changelog, * setup.py: Modified. [122] * Add apport-checkreports: Test if there are new crash reports for the invoking user. This factorizes out the tests we currently do in update-notifier and makes them easier to change and keep in sync with apport itself. Ship the script in the apport package. 2006-08-08 martin@piware.de * apport_utils.py: Added. * debian/apport.install, * debian/changelog, * gtk/apport-gtk, * setup.py: Modified. [121] * Add apport-utils.py: Factorize out some common code of apport- gtk, possible future frontends, and some backend tools. 2006-08-03 martin@piware.de * debian/changelog: [120] release as 0.6 to edgy * debian/changelog, * debian/control: [119] * Add missing intltool build dependency to fix FTBFS. 2006-08-02 martin@piware.de * debian/changelog: [118] release as 0.5 to edgy * debian/changelog, * gtk/apport-gtk: [117] * apport-gtk: Remove the crash report after it got displayed. * apport-gtk: Fix exception on startup if no readable crash reports exist. * debian/changelog: [116] release as 0.4 to edgy * gtk/apport-gtk: [115] apport-gtk: implement reopening the crashed application * gtk/apport-gtk: [114] apport-gtk: use dialog_crash_reopen if we have a .desktop file and the crashed program does not run * debian/control: [113] add python-xdg dependency * gtk/apport-gtk.glade: [112] gtk/apport-gtk.glade: Fix window type * gtk/apport-gtk: [111] remove stale debugging print statement * po/de.po: [110] po/de.po: add missing strings * debian/changelog, * po/Makefile: [109] * po/Makefile: Supply '--language=python' to intltool-update to properly extract strings from apport-gtk. * gtk/apport-gtk.glade: [108] apport-gtk.glade: fix expander properties * debian/changelog, * po/de.po: [107] * Bring German translations up to date. * gtk/apport-gtk.glade: [106] apport-gtk.glade: remove Ubuntu branding * gtk/apport-gtk.glade: [105] apport-gtk.glade: mark untranslatable strings as such * gtk/apport-gtk.glade: [104] remove old UI windows from .glade * debian/changelog, * debian/rules: [103] * debian/rules: Build .pot file on package build for automatic Rosetta import. * debian/changelog, * po/Makefile: [102] * po/Makefile: Fix default target to not just break. Now it builds the .pot file. * debian/changelog: [101] changelog entry for new UI design * gtk/apport-gtk: [100] try to find a matching .desktop file and use its name instead of the executable name * gtk/apport-gtk, * gtk/apport-gtk.glade: [99] move heading string from glade to code to be able to control it better 2006-08-01 martin@piware.de * gtk/apport-gtk.glade: [98] gtk: nasty hack to auto-resize window on expander * gtk/apport-gtk, * gtk/apport-gtk.glade: [97] gtk: use window_bugreport on bug reporting * gtk/apport-gtk: [96] gtk: use the new wizard-style notification dialog * gtk/apport-gtk.glade: [95] gtk: add new dialogs and windows according to new UI specification 2006-07-31 martin@piware.de * debian/changelog: [94] release as 0.3 to edgy * debian/changelog, * debian/rules: [93] * debian/rules: Call setup.py install with --no- compile to not ship *.pyc in debs. * debian/changelog, * gtk/apport-gtk: [92] * apport-gtk: Use source package name for the Malone URL. * apport, * debian/changelog: [91] * apport: Switch from apt_pkg to apt, add SourcePackage: to reports. * debian/changelog, * debian/control, * gtk/apport-gtk: [90] * python-gtk: Do not load binary data (core dumps, etc.) to greatly speed up the GUI. They are just gibberish anyway. * debian/changelog, * debian/rules: [89] * debian/rules: Clean stale *.pyc files. * TODO, * debian/changelog, * problem_report.py: [88] * problem_report.py: Add 'binary' option to ProblemReport.load() to optionally skip binary data. * debian/changelog, * gtk/apport-gtk: [87] * apport-gtk: Only display reports that the user can actually read. 2006-07-30 martin@piware.de * debian/changelog, * gtk/apport-gtk, * gtk/apport-gtk.glade: [86] * apport-gtk: Add button to remove the current report (by truncating the file to zero bytes; a user cannot unlink files in /var/crash). * debian/changelog, * gtk/apport-gtk: [85] * apport-gtk: Ignore 0-sized reports. * apport, * debian/changelog: [84] * apport: Set proper group for report files instead of 'root'. * apport, * debian/changelog: [83] * apport: Only consider a report as already present if it has a non-zero size. * debian/apport.cron.daily, * debian/changelog: [82] * debian/apport.cron.daily: Clean away empty files everytime. 2006-07-28 martin@piware.de * po/de.po: [81] fixed another typo in de.po * po/de.po: [80] fixed typo in de.po 2006-07-27 martin@piware.de * debian/changelog, * debian/rules: [79] * debian/rules clean: Also clean po/. * debian/changelog: [78] release as 0.2 to edgy * debian/changelog: [77] changelog entry for new apport-gtk package * TODO: [76] TODO item 2006-07-27 martin@piware.de * debian/apport-gtk.install: Added. * debian/control: Modified. [75] add apport-gtk packaging 2006-07-27 martin@piware.de * debian/python-problem-report.install: Added. * debian/apport.install, * debian/rules: Modified. [74] install into debian/tmp and use more rigorous dh_install 2006-07-27 martin@piware.de * gtk/apport-gtk: [73] gtk: load the glade file from the same directory as the executable * setup.py: [72] setup.py: install i18n and gtk stuff * po/Makefile: [71] po/: add build-mo rule 2006-07-27 martin@piware.de * po/de.po: Added. [70] add German translation 2006-07-27 martin@piware.de * gtk/apport-gtk.glade, * po/Makefile: [69] fix typo in glade file 2006-07-27 martin@piware.de * po, * po/Makefile, * po/POTFILES.in: Added. * gtk/apport-gtk, * gtk/apport-gtk.glade: Modified. [68] gtk: i18ned 2006-07-27 martin@piware.de * gtk/apport-gtk: [67] gtk: expand detail tree rows with less than 5 lines * gtk/apport-gtk, * gtk/apport-gtk.glade: [66] gtk: display details in a tree * gtk/apport-gtk: [65] gtk: implement 'open bug page' button * TODO: [64] TODO item * TODO, * apport, * debian/changelog: [63] * apport: Filter out trailing 0-byte from ProcCmdline. * debian/changelog, * problem_report.py: [62] * problem_report.py: Support iterators, add test case. * gtk/apport-gtk, * gtk/apport-gtk.glade: [61] gtk: change report file from label to text entry * gtk/apport-gtk, * gtk/apport-gtk.glade: [60] gtk: show package name on general tab * gtk/apport-gtk: [59] gtk: load actual reports, implement scroll buttons, general information, and crude details 2006-07-27 martin@piware.de * TODO: Added. [58] add TODO 2006-07-27 martin@piware.de * gtk, * gtk/apport-gtk, * gtk/apport-gtk.glade, * gtk/apport-gtk.png: Added. [57] add initial GTK frontend bits: glade file, icon, skeleton code 2006-07-27 martin@piware.de * debian/apport.cron.daily, * debian/changelog: [56] * debian/apport.cron.daily: Do not produce error messages if 'find' does not find any crash reports. 2006-07-24 martin@piware.de * debian/changelog: [55] release as 0.1 to edgy * debian/control: [54] fix build dependencies * debian/control: [53] more suitable package subsections * debian/control: [52] add package descriptions 2006-07-24 martin@piware.de * debian/apport.cron.daily: Added. * debian/rules: Modified. [51] add cron.daily job to cleanup old reports 2006-07-24 martin@piware.de * debian/changelog, * debian/control, * debian/copyright, * setup.py, * use-local: Modified. * crash-reporter: Renamed to apport and modified. * debian/crash-reporter.init: Renamed to debian/apport.init and modified. * debian/crash-reporter.install: Renamed to debian/apport.install and modified. [50] give this project a proper name: apport 2006-07-20 martin@piware.de * debian/pycompat, * debian/pyversions: Added. * debian/control, * debian/rules: Modified. [49] add packaging for the library 2006-07-20 martin@piware.de * setup.py: Added. [48] add setup.py for the library 2006-07-20 martin@piware.de * crash-reporter: [47] add list of transitive dependencies * crash-reporter: [46] ignore non-packaged executables * problem_report.py: [45] add ProblemReport.has_key() * crash-reporter: [44] check for existance of core file before adding it to report * crash-reporter: [43] clean up temporary work dir creation/removal, move it into InformationCollector * crash-reporter: [42] do not touch stderr if log file cannot be opened * problem_report.py: [41] ProblemReport test suite: test writing and re-reading a very big random file * problem_report.py: [40] fix ProblemReport load() test case * problem_report.py: [39] Implement base64/bzip2 decoding in ProblemReport.load() * problem_report.py: [38] test reading and writing binary file data 2006-07-17 martin@piware.de * problem_report.py: [37] more sanity check unittests * problem_report.py: [36] fix reading of last field in ProblemReport.load() * problem_report.py: [35] add unittest for ProblemReport.load() * problem_report.py: [34] remove debugging cruft * problem_report.py: [33] add sanity checks to ProblemReport.__setitem__ * problem_report.py: [32] problem_report.py: add initial unittest * problem_report.py: [31] sort written reports by key, put ProblemType first * problem_report.py: [30] add optional date argument to ProblemReport ctor * problem_report.py: [29] first ProblemReport.load() implementation 2006-07-17 martin@piware.de * problem_report.py: Added. * crash-reporter: Modified. [28] create initial library problem_report.py, move write_debcontrol() into it 2006-07-17 martin@piware.de * crash-reporter: [27] add core dump * crash-reporter: [26] create temporary work dir 2006-07-14 martin@piware.de * crash-reporter: [25] write_debcontrol(): support files as value * crash-reporter: [24] change report key names to match spec, complete /proc collection * crash-reporter: [23] do not drop privileges before reading /proc, it doesn't work * crash-reporter: [22] improved logging, some renamings to be safe for the signal module 2006-07-13 martin@piware.de * crash-reporter: [21] small file descriptor cleanup * crash-reporter: [20] catch all exceptions, report errors to stderr or to a log file 2006-07-12 martin@piware.de * crash-reporter: [19] add unhandled exceptions to report 2006-07-12 martin@piware.de * use-local: Added. [18] add convenience script to use local crash-reporter version 2006-07-12 martin@piware.de * crash-reporter: [17] fix exception catching 2006-07-12 martin@piware.de * debian, * debian/changelog, * debian/compat, * debian/control, * debian/copyright, * debian/crash-reporter.init, * debian/crash-reporter.install, * debian/rules: Added. [16] add initial packaging 2006-07-10 martin@piware.de * crash-reporter: [15] write report into file when running as root * crash-reporter: [14] redirect gdb stderr to /dev/null * crash-reporter: [13] remove empty last line from environment * crash-reporter: [12] remove empty lines from stack traces * crash-reporter: [11] add stderr option to write_debcontrol(), suppress stderr for gdb * crash-reporter: [10] drop privileges to target process * crash-reporter: [9] get stack trace * crash-reporter: [8] determine package and version * crash-reporter: [7] consistent return results in error case * crash-reporter: [6] factorize safe program output catching * crash-reporter: [5] restructure source code and add some section comments * crash-reporter: [4] factorize safe reading from file * crash-reporter: [3] collect uname and lsb_release * crash-reporter: [2] format output in debcontrol syntax 2006-07-10 martin@piware.de * crash-reporter: Added. [1] Initial version, stdout output so far apport-2.20.1/NEWS0000644000000000000000000036041512677230222011742 0ustar 00000000000000This file summarizes the major and interesting changes for each release. For a detailed list of changes, please see ChangeLog. 2.20.1 (2016-03-31) ------------------- * Fix signal_crashes.test_modify_after_start test when running as root. * Relax report.test_add_gdb_info gdb warning check, as this changed with gdb 7.10.90. * crash-digger: Untag bugs which cannot be retraced instead of stopping crash-digger. This led to too many pointless manual restarts on broken bug reports. * Disambiguate overly generic Python exceptions in duplicate signature computation: dbus-glib's DBusException wraps a "real" server-side exception, so add the class of that to disambiguate different crashes; for OSError that is not a known subclass like FileNotFoundError, add the errno. (LP: #989819) 2.20 (2016-02-12) ----------------- * Reimplement forwarding crashes into a container, via activating the new apport-forward.socket in the container and handing over the core dump fd. This is a much safer way than the original implementation with nsexec. Thanks Stéphane Graber! (LP: #1445064) * Drop obsolete signal_crashes.test_ns_forward_privilege() test case. This code was dropped long ago. 2.19.4 (2016-01-26) ------------------- * Fix fileutils.test_find_package_desktopfile test for symlinks and other unowned files in /usr/share/applications/. * Fix ui.test_run_crash_anonymity test case to not fail if the base64 encoded core dump happens to contain the user name, as that's just by chance. * Fix test_hooks.py for unreleased gcc versions which have a different --version format. * hookutils.py, attach_hardware(): Stop attaching /var/log/udev. This was an upstart-ism, mostly redundant with the udev db and is not being written under systemd. (LP: #1537211) 2.19.3 (2015-12-08) ------------------- * apport: Fix comparison against SIGQUIT to work for current Python versions. * apt/dpkg: Fix source record lookup in install_packages. Thanks Brian Murray! * hookutils.py, attach_gsettings_schema(): Don't replace the schema variable; fixes attaching relocatable schemas. Thanks Sébastien Bacher! * generic hook: Limit JournalErrors to the 1.000 last lines. This avoids long report load times when processes cause massive log spew. (LP: #1516947) * Add key filtering to ProblemReport.load(). * Don't read the entire report when determining the CrashCounter. This avoids long delays for existing large reports. * test_python_crashes.py: Be less sensitive to the precise names of gvfs-metadata D-Bus service files. * Move backend_apt_dpkg -dbgsym test cases to Ubuntu 15.10. * Tests: Move to unittest's builtin "mock" module. 2.19.2 (2015-10-27) ------------------- * SECURITY FIX: When determining the path of a Python module for a program like "python -m module_name", avoid actually importing and running the module; this could lead to local root privilege escalation. Thanks to Gabriel Campana for discovering this and the fix! (CVE-2015-1341, LP: #1507480) * apt/dpkg: Don't mark packages downloaded from Launchpad for installation by apt. Thanks Brian Murray. * Fix backend_apt_dpkg.test_install_packages_system for recent "Fall back to direct Launchpad ddeb download" fix. coreutils-dbgsym should now always be available independent of whether the local system has ddeb apt sources. * test_backend_apt_dpkg.py: Reset internal apt caches between tests. Avoids random test failures due to leaking paths from previous test cases. 2.19.1 (2015-10-07) ------------------- * Consistently intercept "report file already exists" errors in all writers of report files (package_hook, kernel_crashdump, and similar) to avoid unhandled exceptions on those. (LP: #1500450) * apt/dpkg: Fall back to direct Launchpad ddeb download if we can't find it in the apt cache. Thanks Brian Murray! (LP: #1500557) * doc/data-format.tex: Clarify that key names are being treated as case sensitive (unlike RFC822). 2.19 (2015-09-24) ----------------- * apport: Drop re-nicing. This might decrease the time a user has to wait for apport to finish the core dump for a crashed/hanging foreground process. (See LP #1278780) * kernel_crashdump: Enforce that the log/dmesg files are not a symlink. This prevents normal users from pre-creating a symlink to the predictable .crash file, and thus triggering a "fill up disk" DoS attack when the .crash report tries to include itself. Thanks to halfdog for discovering this! (CVE-2015-1338, part of LP #1492570) * SECURITY FIX: Fix all writers of report files (package_hook, kernel_crashdump, and similar) to open the report file exclusively, i. e. fail if they already exist. This prevents privilege escalation through symlink attacks. Note that this will also prevent overwriting previous reports with the same same. Thanks to halfdog for discovering this! (CVE-2015-1338, LP: #1492570) * apport: Ignore process restarts from systemd's watchdog. Their traces are usually useless as they don't have any information about the actual reasaon why processes hang (like VM suspends or kernel lockups with bad hardware) (LP: #1433320) * Switch all executables to use Python 3 by default. 2.18.1 (2015-09-10) ------------------- * test_hooks.py: Adjust for gcc executable names that don't include the minor version number. * When determinining the logind session and $XDG_SESSION_ID is not set, fall back to reading it from /proc/pid/cgroup. * whoopsie-upload-all: Intercept OSError too (e. g. "No space left on device"). (LP: #1476258) * apport-retrace: Only consider the file name of a source file, not its path; the latter often contains parts like "../" or directories which are specific to a build machine. This fixes most broken StacktraceSource results. (LP: #1462491) * packaging.py: Only consider first word in /etc/os-release's NAME value. This works around Debian's inconsistent value. (LP: #1408245) * Unify and simplify Package: field generation in kernel_crashdump, kernel_oops, and package_hook by using the new Report.add_package() method. (LP: #1485787) * sandboxutils.py, make_sandbox(): Make "Cannot find package which ships Executable/InterpreterPath" fatal, to save some unnecessary package unpack cycles. (LP: #1487174) 2.18 (2015-07-17) ----------------- * Fix backend_apt_dpkg.test_install_packages_permanent_sandbox test to more carefully restore the environment and apt config. * Enable suid_dumpable in the init.d script to also get Apport reports about suid, unreadable, and otherwise protected binaries. These will be "system reports" owned and readable by root only. * init.d script: Fix tab usage inconsistencies. * apport-gtk: Use GtkWidget::valign property instead of GtkMisc::yalign which is deprecated in GTK 3.16. Thanks Iain Lane. * sandboxutils, make_sandbox(): Don't exit with 0 (success) if the ExecutablePath does not exist. (LP: #1462469) * sandboxutils, make_sandbox(): Fix second round of package installs to go into permanent root dir as well. * apt/dpkg install_packages(): If a requested package version is not available from apt in the given archive, try to download it from Launchpad. Thanks to Brian Murray! * kerneloops: Fix crash when determining the version of a custom kernel. Thanks Brian Murray. (LP: #1468154) * apt/dpkg install_packages(): Ignore -dbg packages whose descriptions contain "transitional". (LP: #1469635) * Keep "[origin: ...]" information in Package: and Dependencies: fields for native-origins.d/ origins, so that it's possible to retrace them. Thanks Brian Murray! (LP: #1470572) * Add support for retracing with discovering and enabling foreign Launchpad PPA origins, as specified in reports' Package:/Dependencies: fields. Thanks Brian Murray! * hookutils.attach_wifi(): Shorten value of CRDA if iw isn't available on the system. Thanks Brian Murray. * Fix wrong assertion in crashdb.test_check_duplicate() which surfaces under Python 3.5. (LP: #1474539) 2.17.3 (2015-05-20) ------------------- * SECURITY UPDATE: When /proc/sys/fs/suid_dumpable is enabled, crashing a program that is suid root or not readable for the user would create root-owned core files in the current directory of that program. Creating specially crafted core files in /etc/logrotate.d or similar could then lead to arbitrary code execution with root privileges. Now core files do not get written for these kinds of programs, in accordance with the intention of core(5). Thanks to Sander Bos for discovering this issue! (CVE-2015-1324, LP: #1452239) * SECURITY UPDATE: When writing a core dump file for a crashed packaged program, don't close and reopen the .crash report file but just rewind and re-read it. This prevents the user from modifying the .crash report file while "apport" is running to inject data and creating crafted core dump files. In conjunction with the above vulnerability of writing core dump files to arbitrary directories this could be exploited to gain root privileges. Thanks to Philip Pettersson for discovering this issue! (CVE-2015-1325, LP: #1453900) * apportcheckresume: Fix "occured" typo, thanks Matthew Paul Thomas. (LP: #1448636) * signal_crashes test: Fix test_crash_setuid_* to look at whether suid_dumpable was enabled. * test/run: Run UI tests under dbus-launch, newer GTK versions require this now. 2.17.2 (2015-04-16) ------------------- * SECURITY UPDATE: Disable crash forwarding to containers. The previous fix in 2.17.1 was not sufficient against all attack scenarios. By binding to specially crafted sockes, a normal user program could forge arbitrary entries in /proc/net/unix. We cannot currently rely on a kernel-side solution for this; this feature will be re-enabled once it gets re-done to be secure. (LP: #1444518) * do-release: Force UTC timezone for upstream changelog generation. * apport-kde: Fix crash when showing byte array values. Thanks Jonathan Riddell. (LP: #1443659) * Really create a better duplicate signature for recoverable problems, using ExecutablePath. Thanks Brian Murray. (LP: #1316763) 2.17.1 (2015-04-14) ------------------- * SECURITY UPDATE: Fix root privilege escalation through crash forwarding to containers. Version 2.13 introduced forwarding a crash to a container's apport. By crafting a specific file system structure, entering it as a namespace ("container"), and crashing something in it, a local user could access arbitrary files on the host system with root privileges. Thanks to Stéphane Graber for discovering and fixing this! (CVE-2015-1318, LP: #1438758) * apport-kde tests: Fix imports to make tests work again. * Fix UnicodeDecodeError on parsing non-ASCII environment variables. * apport: use the proper pid when calling apport in another PID namespace. Thanks Brian Murray. (LP: #1300235) 2.17 (2015-03-31) ------------------- * apport-kde: Port to Qt5. Thanks Harald Sitter! * Adjust signal_crashes.test_crash_setuid_{keep,drop} for systemd. * general-hooks/generic.py: Add systemd journal warnings and errors to the new "JournalErrors" field. 2.16.2 (2015-03-02) ------------------- * hookutils.in_session_of_problem(): Check $XDG_SESSION_ID and /run/systemd/sessions instead of the cgroup, as the latter does not work under cgmanager. * ProblemReport: Set a timestamp of 0 in gzip compressed fields; they are meaningless and cause unnecessary jitter in the output. * launchpad backend: Fix unclosed file in upload(). * launchpad backend: Fix wrong use of filter() with Python 3. * launchpad backend download(): Try to convert textual values from byte arrays into into strings. * ui.py, collect_info(): Fix crash on bug pattern checking with broken gzipped values. (LP: #1345653) * hookutils, attach_drm_info(): Avoid UnicodeDecodeErrors in Python 3 when reading binary files. Thanks Chad Miller. (LP: #1425254) * apport-gtk: Update legacy icon names to modern GTK ones, to fix icons under GNOME. Thanks Scott Sanbar. (LP: #1422176) * Move backend_apt_dpkg testsuite to use Ubuntu 14.04 LTS. * hookutils, attach_dmesg(): Only attach dmesg as CurrentDmesg, drop BootDmesg as /var/log/dmesg is upstart specific and thus not reliably correct any more. * hookutils, recent_syslog(): Read system logs from the journal when running under systemd, and fall back to /var/log/syslog if not. * hookutils, attach_mac_events(): Read kernel violation messages from dmesg instead of /var/log/kern.log, as that's specific to rsyslog and its configuration. 2.16.1 (2015-02-10) ------------------- * Set gettext translation domain in setup.cfg, so that tools like dh_translations pick it up and show correct polkit translations. Thanks to Aron Xu! (LP: #1306857) * Report.get_logind_session(): Check $XDG_SESSION_ID and /run/systemd/sessions instead of the cgroup, as the latter does not work under cgmanager. 2.16 (2015-02-06) ----------------- Improvements/behaviour changes: * Add a new method ProblemReport.extract_keys() which writes binary keys (which can be very large) directly to files without loading them all into memory first. Use that in apport-unpack. Thanks Louis Bouchard! (LP: #1307413) * launchpad backend: Work with Python 3, now that launchpadlib exists for Python 3. (LP: #1153671) * apport-bug, apport-gtk: Also check for $WAYLAND_DISPLAY, to use apport-gtk instead of apport-cli under Wayland. Thanks Tim Lunn. (LP: #1418766) * apport-gtk: When running under Wayland, avoid Gdk/Wnck operation for setting crash window modal to the PID of the crashed window; these only work under X11. * Don't install the test suite any more, to save 1 MB of installed space. It can be run out of trunk easily enough, and distributions can install it from tests/ if they desire. Bug fixes: * hookutils, attach_root_command_outputs(): Fix UnicodeDecodeError crash for non-textual values. (LP: #1370259) * ui.py: Only provide a UI to hooks if the crash db will accept the report. This avoids asking questions if the report is merely sent to whoopsie for Ubuntu stable releases. Thanks Brian Murrary. (LP: #1084979) * whoopsie-upload-all: Add package information to the report before calling package hooks. Thanks Brian Murray. * Fix check for available terminal when checking whether to display the "Examine locally" button. 2.15.1 (2014-12-19) ------------------- * Robustify report.test_get_timestamp test. * Robustify signal_crashes.test_limit_size test. * Adjust launchpad crashdb testsuite to work against current Launchpad. * apt/dpkg _search_contents(): Check HTTP last-modified header to avoid re-downloading Contents.gz every day unless it actually changed. Thanks Brian Murray! * apport-gtk: Drop properties which are deprecated in GTK 3.14. 2.15 (2014-12-02) ----------------- * ui.py: Robustify check if apport-retrace is installed. This brings back the "Examine locally" UI option. (LP: #1358734) * recoverable_problem: Handle the parent process going away while we're attempting to read from proc. * apport-retrace: Stop considering a package download error as transient; it can too easily lead to unnoticed eternal retry loops. * whoopsie-upload-all: Refactor to behave more reliably in case of overlapping crash processing. Thanks Steve Langasek and Brian Murray. (LP: #1354318) * whoopsie-upload-all: Remove crash reports that have a core dump which is broken and cannot be processed by gdb. Thanks Brian Murray. (LP: #1376374) * Stop setting $PATH in the init.d script. It breaks assumptions from /lib/lsb/init-functions.d/ which might call other tools which are not in /bin; also, we generally shouldn't meddle with $PATH in individual scripts. (LP: #1372665) * When core size exceeds the limit (3/4 of available memory) and thus the core dump is skipped, log this to /var/log/apport.log. (LP: #1387835) * apport-gtk: Fix jump-to-top on first click of the details treeview. Thanks Marius Gedminas. (LP: #1387328) * apport-retrace: Fix location of cached Contents.gz when using --sandbox-dir. (LP: #1394798) * Fix backend_apt_dpkg.test_install_packages_permanent_sandbox test case with proxy env variables with latest apt. * data/whoopsie-upload-all: confirm that the crash file exists before trying to remove it. (LP: #1384358) 2.14.7 (2014-08-29) ------------------- * Adjust backend_apt_dpkg.test_get_file_package() test: newer util-linux versions do not provide /etc/blkid.tab any more. * Fix interpretation of core dump ulimits: they are in bytes, not kB. (LP: #1346497) * apport-retrace: Don't require specifying an operation; default to updating the given .crash file. (LP: #1361242) * Write report even on UnreportableReasons, so that whoopsie can still upload them. (LP: #1360417) * apt/dpkg install_packages(): Write a "packages.txt" into sandbox root directory to keep track of installed packages and their versions. Prerequisite for LP #1352591. * apt/dpkg install_packages(): Avoid re-downloading/installing packages which are already installed into a permanent sandbox. Prerequisite for LP #1352591. * sandboxutils.py, make_sandbox(): Drop check for already existing files when dynamically resolving libraries and ExecutablePaths; with that, these packages would never get updated in a permanent sandbox. The new version tracking from above now takes care of that. (LP: #1352591) * Fix report.test_add_proc_info test to stop assuming that pid 1 is named "init", as one can specify a different one on the kernel command line. * report.py, add_gdb_info(): Check for truncated core dumps, and set UnreportableReason and raise an IOError on them. Handle this in apport-retrace and whoopsie-upload-all to fail properly instead of silently producing broken Stacktraces. (LP: #1354571) 2.14.6 (2014-08-18) ------------------- * general-hooks/generic.py: Fix hook crash if there are non-distro libraries and no user interface. * collect_info(): Don't assume that reports have a ProblemType. Fixes crashes with apport-collect. (LP: #1325729) * apport-retrace: Declare -s/-g/-o as mutually exclusive, to get proper error messages instead of silent misbehaviour. (LP: #1352450) * apport-gtk: Drop usage of deprecated GTK stock items. (LP: #1348116) 2.14.5 (2014-07-29) ------------------- * apport-bug: Stop checking the autoreport flag and calling whoopsie-upload-all; these two are different tasks, and that breaks bug reporting. (LP: #1339663) * apt/dpkg get_file_package(): If checking for uninstalled packages, don't use package information from the host system, but always look it up in the correct indexes. Otherwise this returns wrong results when files move to a different package between releases. Thanks Brian Murray! (LP: #1336062) * apt/dpkg install_packages(): Disable fetching apt translation indexes, to save some bandwidth. * whoopsie-upload-all: Ignore crash reports with incomplete core dumps instead of crashing on them. Thanks Brian Murray. (LP: #1329520) * etc/default/apport: Fix comment to use "service" instead of calling the init.d script directly. * whoopsie-upload-all: Collect hooks information to gather ApportVersion, NonfreeKernelModules, and SystemImageInfo. Do this before collecting package data to minimize hook run time. (LP: #1349579) * Adjust report.test_get_logind_session test to work with systemd >= 205. * Fix report.test_check_interpreted_twistd test to skip instead of fail if twisted is not installed. 2.14.4 (2014-07-03) ------------------- * Adjust code to match latest pep8 checker. * Report.crash_signature_addresses(): Drop kernel architecture from StacktraceAddressSignature field. It isn't useful there (at most the ELF architecture, but we don't really need that either). This makes it easier to regenerate broken signatures from existing reports on different architectures. (LP: #1336565) 2.14.3 (2014-05-30) ------------------- * Add kernel package version to the various kernel-related hooks. Thanks Brian Murray. (LP: #1316845) * Use package name in duplicate signature for recoverable problems. Thanks Brian Murray. (LP: #1316763) * Have whoopsie-upload-all upload recoverable problems. Thanks Brian Murray. (LP: #1319099) 2.14.2 (2014-04-30) ------------------- * Delay the import of the glob and re modules in the python apport hook, and only import them when needed. Speeds up interpreter startup time by 50%. Thanks Matthias Klose! (LP: #1307684) * Move error handling for invalid .crash files into collect_info(), so that it also applies when using the "Show Details..." button in the UI. Otherwise the UI just hangs eternally at this point when encountering broken core dumps. (LP: #1282349) * apt/dpkg install_packages(): Try to install the requested package version instead of always picking the most recent one. This should improve retracing results for older crash reports. Thanks to Brian Murray for inspiring this. * sandboxutils.py, make_sandbox(): When determining packages to install from ProcMaps, look up and use the package versions from the reporter, to improve retracing results. Thanks Brian Murray for the initial patch! * iwlwifi_error_dump: Make reports private, and subscribe canonical-kernel-team. Thanks Seth Forshee. (LP: #1313818) * signal_crashes test: Time out after 5 seconds if the test process does not terminate on the specified signal, to avoid eternal hangs. * signal_crashes test: Ensure that we don't inherit an ignored SIGQUIT from the caller. 2.14.1 (2014-04-04) ------------------- * Fix FileNotFoundError from temporary launchpadlib cache dir cleanup. (LP: #1300474) * ui.py, open_url(): Skip any Python cleanup/atexit handlers in the forked xdg-open child, to avoid calling them twice. (Side issue of LP #1300474 and #1282713) * apport-kde: Work around crash in sip by skipping the destructors of SIP objects. Thanks Rohan Garg! (LP: #1282713) 2.14 (2014-03-31) ----------------- * Add KernelCrash reports when iwlwifi encounters a firmware error (via the "error_dump" uevent and the new iwlwifi_error_dump helper). Thanks Seth Forshee! * launchpad: Really use a temporary launchpadlib cache dir by default. This avoids piling up gigabytes of useless cached data over time, which also tends to break every now and then. * Fix crash in logind session detection. Thanks Dimitri Ledkov! (LP: #1296026) 2.13.3 (2014-03-07) ------------------- * Fix backend_apt_dpkg.test_get_file_package_uninstalled test that got broken in the previous release. * etc/cron.daily/apport: Cleanup .drkonqi files after 7 days. Thanks Harald Sitter. * ui.py: Try to grab session D-BUS address from user's session when being called through pkexec. (LP: #1287460) 2.13.2 (2014-01-27) ------------------- * Fix crash if systemd cgroup is unreadable in /sys, such as in containers. (LP: #1270783) * apt/dpkg: Also consider Contents.gz from updates/security/proposed pockets, so that e. g. apport-retrace works for crash reports with files that are new in those. Thanks to Brian Murray for the initial patch. (LP: #1271258) * Only drop internal/private keys (starting with '_') from uploading to the crash DB and from the UI report views, but not already when updating the report. (LP: #1272505) * data/apport: Fix stdout/stderr initialization of the error log, don't close the original fd after dup2'ing as it is usually already fd 1. This makes Apport work with Python 3.4. (LP: #1272355) * Adjust report tests to work with Python 3.4 (LP: #1272355) 2.13.1 (2014-01-10) ------------------- * Fix report.test_get_timestamp test for running in other time zones. * Fix erroneous "gdb-multiarch not installed" warnings in ui tests. * Fix ui.test_run_crash_older_session test for running as root. * Fix ui.test_run_crash_older_session for different file system file orders. 2.13 (2014-01-10) ----------------- Improvements: * whoopsie-upload-all: Add a -t/--timeout option. In CI environments it is undesirable to block on upload for 30 mins, but it's still a reasonable timeout on less well connected devices. * Do not report keys starting with '_' to the crash database. This can be used for keeping private keys in .crash files between crash and report time, or to store data between hooks etc., without cluttering reports. * UI: In "run all pending crashes" mode, skip reports that happened during logout in a desktop (specifically, logind) session; they are uninteresting and confusing to see at the next login. (LP: #1033932) They can still be reported manually with running the .crash file directly, but this sufficiently reduces the need to explicitly flag whether the report concerns a logout crash. (LP: #1067646) * Add support for PID namespaces (Linux containers): Crashes originating from a container on a system running a >= 3.12 kernel will be automatically redirected to apport inside the container, or ignored if apport is not installed in the container. Thanks to Stéphane Graber! Bug fixes: * test_signal_crashes: Clean up unexpected reports after every test, to avoid breaking all subsequent tests. * test_signal_crashes: Stop checking that gdb prints nothing on stderr, as latest gdb 7.6.50 now almost always prints some about missing source files. * setup.py: Make updating of hashbangs work when building without Java, and also apply it on bin/. * Print a warning when trying to retrace a report from a foreign architecture and gdb-multiarch is not installed. (LP: #1239395) * etc/init.d/apport: Don't change core_pattern when running in a container, as this influences the host and other containers, too. (LP: #1267728) 2.12.7 (2013-11-19) ------------------- * Properly fall back to lsb_release if /etc/os-release is invalid. * report.py, add_proc_info(): Add "CurrentDesktop" field with the value of $XDG_CURRENT_DESKTOP, if present. (LP: #1247904) * fileutils.py, get_all_system_reports(): Filter out "guest..." users, they might have a system UID. (LP: #1250679) * apt/dpkg: Don't call dpkg-divert with full path, it moved in Ubuntu 14.04. 2.12.6 (2013-10-25) ------------------- * SECURITY FIX: For setuid programs which drop their privileges after startup, make the report and core dumps owned by root, to avoid possible data disclosure. Also, change core dump files to permissions "0600". Thanks to Martin Carpenter for discovering this! (CVE-2013-1067, LP: #1242435) * sandboxutils.needed_runtime_packages(): Create cache directory for Contents.gz if missing. (LP: #933199) * apt/dpkg: Recognize options in apt sources.list. (LP: #1238620) 2.12.5 (2013-09-27) ------------------- * Report.add_os_info(): Do not overwrite already existing data. (LP: #1226776) * kernel_oops hook: Collect uname at the time of invoking the hook, instead of at data collection time. (LP: #1226776) * Replace fixed size icons with PNGs, which are more efficient and avoid rendering artifacts. (LP: #1231763) 2.12.4 (2013-09-19) ------------------- * Update icons to new design from Vishnoo Charan Reddy, many thanks! (LP: #1079639) 2.12.3 (2013-09-19) ------------------- * ProblemReport.write_mime(): Adjust MIMEText handling to latest Python 3.3 upstream changes which now don't tolerate passing bytes any more. (LP: #1227381) * apport-gtk: Don't use obsolete add_with_viewport() method any more. * Fix ui_present_report_details() "modal_for" keyword for all UI implementations, so that --hanging works for -cli and -kde, too. (LP: #1213790) 2.12.2 (2013-09-17) ------------------- * fileutils.py, get_{new,all}_reports(): Don't consider reports which are readable, but not writable. (LP: #1098844) * test_ui_kde.py: Cleanly skip the test if PyQt/PyKDE are not installed, instead of failing. * crash-digger: Write pid into lock file. Thanks Steve Langasek. * apport-gtk: When loading a Bug report from a file, properly set up for bug reporting mode. (LP: #1226140) * Move "program is not installed any more" check from report loading into data collection, so that crash reports can be moved and reported on machines without that program installed. (LP: #1226030) 2.12.1 (2013-08-19) ------------------- * sandboxutils.py, make_sandbox(): Install packages from Package: and Dependencies: fields also if we have a ProcMaps: field and there are any third-party packages. This fixes retracing crashes that use PPAs (as they don't have Contents.gz). * Robustify "progress bar visible" GTK and KDE UI checks for the faster collection due to dropping lsb_release. * Drop apport-noui in favour of whoopsie-upload-all. We don't want to process hooks when run noninteractively, since they may ask questions or determine a report is not due to a bug in Ubuntu. whoopsie-upload-all skips these hooks. * apport/report.py: Gracefully handle being unable to get the source package for a binary package, as when the latter does not exist in the cache. (LP: #1097773) 2.12 (2013-08-02) ----------------- Improvements: * recoverable_problem: Can take the PID as an argument. * Add data/whoopsie-upload-all: Process all pending crashes and mark them for whoopsie upload, but do not upload them to any other crash database. Wait until whoopsie is done uploading. * Eliminate multiple calls to lsb_release by caching the result. On systems which provide /etc/os-release, use that instead of lsb_release. (LP: #1164742) Bug fixes: * launchpad.py: Show the Python major version in the error message about missing launchpadlib. * ui.py: Check if options for updating and reporting a new bug get used together, and give a proper error message in this case. (LP: #1071905) * apport: Fix "Exectuable" typo, leading to reports not being synced on upstart crashes. Thanks James Hunt. (LP: #1203744) * Rename apport-gtk-mime.desktop to apport-gtk.desktop and drop the old apport-gtk.desktop that wasn't even being installed. With that, the window will be shown as "Report a problem..." instead of "Apport-gtk" in GNOME shell and other DEs. Thanks Jeremy Bicha. (LP: #1207496) * report.py, add_gdb_info(): Fix crash if gdb cannot load the symbol map. (LP: #1171484) * apport-retrace: Fix crash when using --sandbox without --cache. (LP: #1197034) * Fix error message when PID is inaccessible. (LP: #1204718) * doc/data-format.tex: Drop unused "OS" and "OSRelease" fields, replace with "DistroRelease" which is actually being used. (LP: #1018387) 2.11 (2013-07-17) ----------------- Improvements: * data/apport-noui: A noninteractive frontend for automatic error reporting. apport-bug will use this if the /etc/apport/autoreport flag file exists. * hookutils.py, attach_upstart_logs(): Also attach ~/.cache/upstart/application-.log for any *.desktop file shipped by a package. Bug fixes: * hookutils.py, attach_conffiles(): Fix check for inaccessible or modified conffiles. (LP: #1192899) 2.10.2 (2013-05-22) ------------------- Bug fixes: * Resolve symlinks in file references in Python crash signatures. (LP: #1179979) * Fix endless loop of EOFErrors with broken core dumps. (LP: #1168849) * report.py, add_gdb_info(): Fix crash if gdb did not determine an assertion message. (LP: #1171484) * apt/dpkg: Fix get_file_package()'s "release" field to actually mean DistroRelease:, not a distro code name. This now requires a previous call to install_packages() with a configdir, which needs to have a file //codename with the release's code name in it. * sandboxutils.py: Call get_file_package() with the report's release, so that we actually get files from the target release, not the host release. * test_hookutils.py: Don't assume that /etc/motd exists. 2.10.1 (2013-05-14) ------------------- Bug fixes: * Fix ui.test_run_crash_anonymity_escaping test when running as root. * launchpad.py: Fix crash when trying to adjust a distro-only bug task if the bug also already has a distropackage task. * apt/dpkg: When there is no -dbg package, install all -dbg packages of the corresponding source package, and only then fall back to -dbgsym. (LP: #1003234) 2.10 (2013-04-30): ------------------ Improvements: * Support retracing foreign powerpc reports, thanks Steve Langasek. * apport/report.py: Generate a crash signature for suspend/resume failures. * hookutils.py: Add attach_upstart_logs(), thanks Steve Langasek. * hookutils.py, in_session_of_problem(): Port from ConsoleKit to logind. Bug fixes: * hookutils.attach_conffiles(): Fix IOError crash on inaccessible conffiles; mark them as '[inaccessible: ]' instead. (LP: #1154536) * hookutils.in_session_of_problem(): Fix crash when the current locale is invalid. (LP: #1154896) * data/gcc_ice_hook: Fix crash with source files that have non-UTF8 data. (LP: #1045283) * apport/report.py: Handle the case where the user has been removed from the system, but one of its still-running binaries crashes (LP: #1163453). * Fix anonymization of user/GECOS fields with regexp control characters like '+'. (LP: #985049) * Run tests under LC_CTYPE=C and unset LANG as well, to discover assumptions about UTF-8 locales. Fix the two failing tests. * Fix UnicodeDecodeError when apport encounters non-ASCII environment variables. (LP: #1172638) 2.9.2 (2013-03-19): ------------------- Improvements: * report.py, add_package_info(): Add "[origin: unknown]" tag to Package/Dependencies fields for non-distro package whose origin cannot be determined. (LP: #1148116) * Adjust kernel_crashdump to the format kdump-tools produces. Thanks Louis Bouchard. Bug fixes: * Write core dumps on SIGQUIT if ulimit allows. Thanks Graeme Hewson. (LP: #1153662) 2.9.1 (2013-03-07): ------------------- Improvements: * launchpad.py: Add support for filing bugs as private. Document this in doc/crashdb-conf.txt. (LP: #1144647) Bug fixes: * test_signal_crashes.py: Fix test_crash_apport() when being run under LD_PRELOAD. * Fix crash in error() and warning() if there is no sys.stderr. (LP: #1012445) * Fix Turkish translation to add missing keyboard accelerator. (LP: #648750) * fileutils.py, find_package_desktopfile(): Restrict to autostart and application .desktop files. (LP: #1147528) * apt/dpkg get_modified_files(): Fix crash when encountering non-ASCII file names in an ASCII locale. (LP: #1044014) 2.9 (2013-03-01): ----------------- Improvements: * fileutils.py, shared_libraries(): Return a "name → path" dict instead of just a set of names. Thanks Kyle Nitzsche. * sandboxutils.py: Support unpackaged executables, i. e. reports which do not have "Package" and "Dependencies" fields. For those, get required libraries from "ProcMaps". Thanks Kyle Nitzsche. Bug fixes: * Add "com.ubuntu.apport.apport-gtk-root" polkit action for running apport-gtk through pkexec to access system crash reports. Thanks Brian Murray. * ui.py: Check $PKEXEC_UID in addition to $SUDO_UID for opening a browser. * apport/report.py: report if LD_PRELOAD and LD_LIBRARY_PATH are set. Thanks James Hunt. * apport-valgrind: Cleanly exit on keyboard interrupts. Thanks Kyle Nitzsche. * debian.py: Fix "string payload expected" crash when building the report. Thanks Dmitry Shachnev. (Debian #698010) * Move shared_libraries() and links_with_shared_library() from hookutils into fileutils, so that we can use it from apport-valgrind. Thanks to Kyle Nitzsche for the initial patch. * fileutils.shared_libraries(): Filter out virtual "linux-vdso" from result. Thanks Kyle Nitzsche. * apport-valgrind: Fix path to debug symbols in the sandbox. * ui.py, get_desktop_entry(): Fix for Python 2. 2.8 (2013-01-08): ----------------- Improvements: * Factor out sandbox management functions from apport-retrace into apport/sandboxutils.py, so that other programs can re-use the API easily. Thanks to Kyle Nitzsche for the initial work on this. * Generate a crash signature for kernel OOPSes. * Add "apport-valgrind" tool to produce valgrind reports in a temporary sandbox with debug symbols (similar to apport-retrace). Thanks Alex Chiang and Kyle Nitzsche! Bug fixes: * Fix StacktraceAddressSignature generation on ARM. (LP: #1089778) * debian.py: Fix TypeError crash in payload generation. Thanks Ritesh Raj Sarraf. * apport_python_hook.py: Update "ExecutableTimestamp" field when mangling "ExecutablePath". (LP: #1077253) 2.7 (2012-12-10): ----------------- Improvements: * packaging.py, get_file_package(): Add optional "release" and "arch" arguments for getting a file's package for a foreign release or architecture. Implement this for apt/dpkg backend. * packaging.py, install_packages(): Add optional "architecture" argument for creating a sandbox for a foreign architecture. Implement this for apt/dpkg backend. * When a report's architecture does not match the system architecture, try to use gdb-multiarch (if available, as packaged on Debian/Ubuntu), and set architecture and gnutarget accordingly in gdb. This supports x86, x86_64, and ARM for now, so that reports from all these architectures can be retraced on an x86_84 machine. (LP: #1044437) * launchpad.py: Add "architecture" option to process reports for a foreign architecture. * Add exceptions from package hooks to new HookError_ report field, to make them more visible. Until now they were only written to stderr. (LP: #1086309) Bug fixes: * Fix test_find_package_desktopfile test to not consider packages with only one "NoDisplay=true" .desktop file for the "has one desktop file" test. * report.py, mark_ignore(): Use home directory of actual effective user, not of $HOME. Fixes ignore file when using through sudo. * apport-cli: Fix showing of prompt. Thanks Dmitry Shachnev! * fileutils.py, mark_report_upload(): Do not try to remove the .uploaded file, as this is not owned by the user. * backends/packaging-apt-dpkg.py, install_packages(): Set mirror to the one in the sandbox config. * apportcheckresume: Fix crash if state file does not exist. 2.6.3 (2012-11-30): ------------------- * test_signal_crashes.py: Fix incompatibility with Python 3.3. * test_signal_crashes.py: Allow XDG_RUNTIME_DIR environment variable, as it only shows whether or not it is set. (Test regression from 2.6) * debian.py: Only reject reports with useless stack traces if the report actually has a stack trace at all. * debian.py: Fix UTF-8 string handling. Thanks Ritesh Raj Sarraf. * debian.py: Fix crash on broken "Package" fields, as generated by current Debian/Ubuntu dkms package. * data/apport: Call fsync when writing upstart crash reports. * report.py, add_gdb_info(): Handle libnih's assertion messages. (LP: #997359) * apport-gtk, apport-kde: Don't provide an option to restart a crashed application when the crash occurred in a thread (LP: #1033902). * apport-retrace: Disallow option -C without option -S. Thanks Kyle Nitzsche. * fileutils.py, mark_report_upload(): Refresh the .upload stamps if a previous version of the report was already uploaded, but another instance of the problem happened since then. Thanks Brian Murray. (LP: #1084296) * Ignore implausibly low addresses when computing StacktraceAddressSignature. These are usually artifacts from gdb when not having debug symbols, and having too many of them prevents proper client-side duplicate detection and proper bucketing in daisy. (LP: #1084996) * fileutils.py: Ignore .desktop files with NoDisplay=true. (LP: #1048524) 2.6.2 (2012-11-06): ------------------- * problem_report.py: Fix UnicodeDecodeError crash under Python 2 when the report has an unicode field with an unprintable ASCII character < 20. * debian.py: Fix calling of parent accepts() method and return value. Thanks Ritesh Raj Sarraf. * bin/apport-retrace: Fix crash when not using --sandbox mode. * report.py, add_proc_info(): Throw correct exception if the executable path does not exist, to provide a more appropriate error message. (LP: #1065129) * report.py, add_gdb_info(): Check __glib_assert_msg for assertion messages, too. * REThread.py: Fix for Python 3.3. 2.6.1 (2012-10-01): ------------------- * setup.py: Specify "-source 1.5" javac option as well, to avoid build failure with OpenJDK 7. 2.6 (2012-10-01): ----------------- * setup.py: Build java module with "-target 1.5" option, so that you can run it with OpenJDK 6 even if you build with OpenJDK 7. * report.py, add_proc_info(): Show if $XDG_RUNTIME_DIR is set. * Add apport/crashdb_impl/debian.py: Initial crash database implementation for the Debian BTS. Add configuration for it to etc/apport/crashdb.conf. Thanks Ritesh Raj Sarraf! * test_python_crashes.py: Robustify "$PYTHONPATH in ProcEnviron" check. 2.5.3 (2012-09-28): ------------------- * data/apportcheckresume: Open report file in binary mode. (LP: #1040353) * packaging-apt-dpkg.py: When throwing ValueErrors, show the non-existing package name. This makes it easier to debug such crashes. * launchpad.py: Replace characters from tags which are not allowed by Launchpad with '.' (LP: #1029479) * launchpad.py: Temporarily disable filing private bugs in the test suite, to work around the SSLHandshakeError error when downloading private attachments from staging. * hookutils.py, attach_root_command_outputs(): Ignore IOError crash about nonexisting files, which can happen if the user dismisses authorization. (LP: #1051222) * report.py, search_bug_patterns(): Fix bug patterns containing non-ASCII characters. Thanks Brian Murray. * apport_python_hook.py: Capture $PYTHONPATH and $PYTHONHOME environment variables for Python crashes. Thanks Brian Murray. 2.5.2 (2012-09-17): ------------------- * test/run: Ignore root_info_wrapper with pyflakes. * packaging-apt-dpkg.py: Add recommended packages to "Dependencies:" field. (LP: #1014428) * test_hookutils.py, test_in_session_of_problem(): Use year 2038 for a future date instead of 2211, as current Python 3.2 now crashes with an OverflowError on 32 bit machines with later years. * Fix crash on broken .desktop files. (LP: #1039889) * apport-gtk: For console program crashes, say "stopped" instead of "closed". Add a subtitle label with a hint about hanging programs. Thanks Matt Price and Matthew Paul Thomas! * report.py: Fix crash on determination of Python module path when examining a crash of "python -m ...". * apport-kde: Fix crash with undefined QString under Python 3. Thanks Jonathan Riddell! (LP: #1028984) * launchpad.py: Add missing "Pre-release Freeze" status. Thanks Brian Murray! * report.py, _check_bug_pattern(): Fix bug pattern matching against binary values. Thanks Brian Murray for the original patch. (LP: #1016380) 2.5.1 (2012-08-22): ------------------- * data/root_info_wrapper: Turn into a real file, a symlink can cause some packaging problems. 2.5 (2012-08-22): ------------------- Bug fixes: * test_recoverable_problem.py: Fix test for calling test runner with absolute path. * packaging-apt-dpkg.py: Fix crash on writing virtual_mapping.db when running with --sandbox-dir and -S system or giving no --cache. * REThread.py: Fix re-raising of exceptions in Python 3. Thanks Martin Packman! (LP: #1024836) * apport-retrace: Keep compressed CoreDump from .crash files instead of uncompressing them into memory. This dramatically reduces memory usage. (LP: #981155) Improvements: * Add an apport.memdbg() function which prints out current memory usage if APPORT_MEMDEBUG is set. Annotate apport-retrace with it. * hookutils.py: Allow specifying a list of profile names when using attach_mac_events(). Thanks Marc Deslauriers. * hookutils.py, attach_root_command_outputs() and root_command_output(): Drop usage of sudo, kdesudo, and gksu, and replace with pkexec. For attach_root_command_outputs(), use a wrapper and proper .policy file which explains the action and works under every environment; thus attach_root_command_outputs() is preferred over root_command_output() now, as it provides a better user experience. * Package hooks which want to send the report to a different crash database than "default" can now also give the database specification itself in the "CrashDB" field, not just the DB name. With this, packages do not need to ship a separate /etc/apport/crashdb.conf.d/ file. Please see doc/package-hooks.txt for details. (LP: #551330) * report.py, add_hooks_info(): If reporting against a package/program in /opt, also search for package hooks in the corresponding /opt directory. This allows such hooks to define a custom crash database and thus report bugs against their own project instead of against the distribution. (LP: #1020503) 2.4 (2012-07-18): ----------------- Improvements: * apport_python_hook.py: For org.freedesktop.DBus.Error.ServiceUnknown exceptions, add a 'DbusErrorAnalysis' field to the report which points out whether any .service file provides the service it tried to talk to, and whether the processes for those are running. This helps to determine the root cause for such errors (missing dependencies, broken .service files, talking to the wrong bus, etc.) (LP: #1020572) * hookutils.py, attach_alsa(): Use alsa-info.sh when available. Thanks David Henningson. * Add new "RecoverableProblem" report type for problems which the application can handle, but still wishes to notify the user and send a problem report about. As an example, the application may wish to notify the user because handling the error resulted in degraded functionality. The user interface may fail to load items, or the action just performed may not return any data. Applications call /usr/share/apport/recoverable_problem with a string of arbitrary NUL-separated key/value pairs that are added to the report. Thanks Evan Dandrea! Bug fixes: * ui tests, test_wait_for_pid(): Fix eternal hang when running as root. * testsuite: Fix ResourceWarnings when running with Python 3. * test_python_crashes.py: Fix race condition in timeout test. * launchpad.py: Fix setting of 'Medium' importance on duplicate checking. * apport-retrace: Fix StacktraceSource generation for relative --cache paths. * crashdb.py, check_duplicate(): Do not try to mark a bug as duplicate of itself. This can happen when re-processing a previously retraced bug. * apport-retrace: Fix UnicodeDecodeError when encountering a non-ASCII source code file and running under a non-UTF-8 locale. 2.3 (2012-07-09): ----------------- Improvements: * launchpad.py: Rework test suite to not use Launchpad's +storeblob facility at all any more. It almost never works on staging and is horribly slow. Fake the bug creation from a blob by manually creating the comment and attachments ourselves, and just assume that storeblob works on production. Also change the structure to allow running every test individually. * crash-digger: Add --crash-db option to specify a non-default crash databae name. (LP: #1003506) * apport-gtk: Add --hanging option to specify the process ID of a hanging application. If the user chooses to report this error, apport will terminate the pid with SIGABRT, otherwise it will send SIGKILL. The normal core pipe handler will be used to process the resulting report file, with a .hanging file in /var/crash to separate these from regular crashes. Bug fixes: * apport: Also treat a binary as modified if the /proc/pid/exe symlink does not point to an existing file any more. (LP: #984944) * Fix PEP-8 violations picked up by latest pep8 checker. * ui.py: Do not ignore certain exceptions during upload which are not likely to be a network error. * launchpad.py: Recongize Launchpad projects for bug query and marking operations. (LP: #1003506) * packaging-apt-dpkg.py: Fix get_source_tree() to work with apt sandboxes. * apport-retrace: Turn StacktraceSource generation back on, now that it works with the current sandboxing. * launchpad.py: Ensure that upload chunk size does not underrun. (LP: #1013334) * apport_python_hook: Fix UnicodeEncodeError crash with Python 2 for exceptions with non-ASCII characters. (LP: #972436) * test_ui_kde.py: Fix occasional test failure in test_1_crash_details if the application ends before the "is progress bar visible" check is done. 2.2.5 (2012-06-21): ------------------- * launchpad.py: Fix str vs. bytes crash for already known bugs, take 2. (LP: #1015788) * apport/ui.py, get_desktop_entry(): Disable interpolation, to correctly read desktop files with % signs. (LP: #1014341) * apport/ui.py: Fix rare crash if a report is already being updated in the background when the UI tries to update a previous version. (LP: #949196) * GTK and KDE UI tests: Avoid eternal hangs due to "this is not a distro package" error messages. 2.2.4 (2012-06-21): -------------------- Bug fixes: * test_apport_unpack.py: Fix test_unpack_python() test when running the system-installed tests. * data/java_uncaught_exception: Fix for Python 3. * test_signal_crashes.py: Show crash reports in /var/crash/. * test_crash_digger.py: Do not write crash reports of crash-digger into system /var/crash, use a temporary directory. * test/run: Wait for a previous xvfb server to finish before trying to start one. This fixes a race condition in the KDE UI tests which often failed to start up xvfb. * apport-cli: Unbreak "keep" option. (LP: #1007826) * launchpad.py: Fix str vs. bytes crash for already known bugs. (LP: #1015788) 2.2.3 (2012-06-15): ------------------- Bug fixes: * test/run: Do not run pep8 and pyflakes when running against the sytem installed Apport. * test_backend_apt_dpkg.py: For the "are we online" check, verify that we can download from http://ddebs.ubuntu.com/, not just whether we have a default route. The latter is not sufficient for e. g. buildd environments which are online, but are restricted by proxies or firewalls. * test_report.py: Call "sync" after test script write core dumps, to ensure that subsequent operations have a complete one. * test_signal_crashes.py: Drop the broken and obsolete test_local_python() test. Instead, add two tests which check proper logging. * launchpad.py: Fix urlopen() for Python3. Thanks Steve Langasek. * test/run: Run the tests under LC_MESSAGES=C, to avoid failing tests on translated strings. 2.2.2 (2012-06-13): ------------------- Improvements: * testsuite: Run with Python 3 by default. To test with Python 2, run "PYTHON=python2 test/run". Bug fixes: * apport: Redefine sys.std{out,err} when redirecting output, as they are None in Python 3 when being called from the kernel. * test/test_signal_crashes.py: Clean up unexpected core dumps on failed test cases. * apport-gtk: Fix crash when closing the crash dialog while the information is being collected. * hookutils.py, xsession_errors(): Fix crash when running under a non-UTF8 locale. * data/apport: Do not use sys.stdin.fileno(), it is invalid when being called from the kernel with Python 3. * data/apport: When core dumps are enabled, read them from the written report instead of directly from stdin (and then reading the written core file into the .crash report). If the core file size is limited, we otherwise stop reading the core dump from the kernel in the middle and have no (or a broken) core dump to be put into the report. * data/apport: Properly close the written crash report before changing its permissions to be readable. This prevents having crash reporting UI from looking at incomplete .crash files. 2.2.1 (2012-06-11) ------------------ Bug fixes: * apport-cli: Port to work with Python 3. * setup.py: When fixing hashbang lines of installed scripts, only include the major Python version. * hookutils.py, read_file, attach_file(), attach_file_if_exists(): Convert file contents to unicode if the contents is UTF-8, or the newly added force_unicode argument is True. * hooktuils, command_output(): Convert output to unicode by default, and add a "decode_utf8" parameter to disable this. * hookutils.py, recent_logfile(): Fix fd leak. * data/apport: Do not assume that sys.stdout and sys.stderr always have a name; they can be None in Python 3. * data/dump_acpi_tables.py: Fix for Python 3. 2.2 (2012-06-11) ---------------- Improvements: * Clean up module imports. * test/run: Run pyflakes, if available. * package_hook: Add --tags option. Thanks to Brian Murray. * launchpad.py: Drop the external multipartpost_handler.py (which is not portable to Python 3) and replace it with using the standard email module. * launchpad.py: Also work with Python 3. Deal gracefully with a missing "launchpadlib" module; this is not yet available for Python 3, but not required for client-side reporting. * apport-kde: Port to work with Python 3. Bug fixes: * apport-retrace: Fix crash when using the --procmaps option. * setup.py: Update hashbang lines of installed scripts in data directory to the python executable setup.py was run with, similar to what already happens to scripts installed to ../bin/. 2.1.1 (2012-05-30) ------------------ Improvements: * launchpad.py: When closing a bug as a duplicate, copy some well-known tags to the master bug. Thanks Brian Murray. * launchpad.py: Set importance of Python crash reports to "Medium" by default, similar to signal crashes. Thanks Brian Murray. * hookutils.py: Add attach_default_grub() convenience function from the grub2 package hook so it can be used by other packages. Thanks Brian Murray. * launchpad.py: Make Launchpad bug subscription user/team configurable: The initial subscriber after filing a bug can be set with the "initial_subscriber" crashdb option, and the team which gets subscribed after retracing with "triaging_team". (LP: #980726) Bug fixes: * report.py: Do not change the SourcePackage: field if the binary package is not installed and does not exist. This fixes source package hooks to actually work in some cases where source and binary package names overlap. (part of LP: #993810) * apport-gtk, apport-kde: Avoid collecting information twice in "bug update" mode. This caused a crash in cases where the source package in a bug report does not correspond to an installed binary package. (LP: #993810) 2.1 (2012-05-18) ---------------- Improvements: * packaging.py, install_packages(): Add permanent_rootdir flag and if set, only unpack newly downloaded packages. Implement it for the apt/dpkg backend. Thanks Evan Dandrea. * apport-retrace: Add --sandbox-dir option for keeping a permanent sandbox (unpacked packages). This provides a considerable speedup. Thanks Evan Dandrea. * crash-digger: Add --sandbox-dir option and pass it to apport-retrace. * Fix the whole code to be PEP-8 compatible, and enforce this in test/run by running the "pep8" tool. * GTK UI tests: Ensure that there are no GLib/GTK warnings or criticals. * Support Python 3. Everything except the launchpad crashdb backend now works with both Python 2 and 3. An important change is that the load(), write(), and write_mime() methods of a ProblemReport and apport.Report object now require the file stream to be opened in binary mode. * data/apport: Ignore a crash if the executable was modified after the process started. This often happens if the package is upgraded and a long-running process is not stopped before. (LP: #984944) * Add test cases for apport-unpack. * apport-retrace: Add information about outdated packages to the "RetraceOutdatedPackages" field. * ui.py: Drop python-xdg dependency, use ConfigParser to read the .desktop files. Bug fixes: * apport-gtk: Work around GTK crash when trying to set pixmap on an already destroyed parent window. (LP: #938090) * data/dump_acpi_tables.py: Fix crash on undefined variable with non-standard tables. (LP: #982267) * backends/packaging-apt-dpkg.py: Fix crash if a package is installed, but has no candidates in apt. (LP: #980094) * data/general-hooks/generic.py: Bump minimum free space requirement from 10 to 50 MB. 10 is not nearly enough particularly for /tmp. (LP: #979928) * hookutils.py, recent_logfile(): Use a default limit of 10000 lines and call "tail" instead of reading the whole file. This protects against using up all memory when there are massive repeated log messages. (LP: #984256) * apport-gtk: Do not assume that an icon requested for size 42 actually delivers size 42; some themes do not have this available and deliver a smaller one instead, causing overflows. Also, copy the image as gtk_icon_theme_load_icon() returns a readonly result which we must not modify. (LP: #937249) * ui.py: Don't show the duplicate warning when the crash database does not accept the problem type, and they are just being sent to whoopsie. Thanks Evan Dandrea. (LP: #989779) * report.py: Correctly escape the file path passed to gdb. * apport-gtk, apport-kde: Do not show the information collection progress dialog if the crash database does not accept this kind of report. In that case whoopsie will upload it in the background and the dialog is not necessary. (LP: #989698) 2.0.1 (2012-04-10) ------------------ Bug fixes: * test_ui_gtk.py: Disable package hooks for the tests, as they might ask for sudo passwords and other interactive bits, and thus make the tests hang. * test_backend_apt_dpkg.py: Fix checks for the installation of -dbgsym packages. This should always happen, as the sandboxes have a ddeb apt source. Only make it conditional on the system apt sources in the "use system config" test. * test_report.py: Sleep a bit after calling our test crash script, to ensure the kernel has time to finish writing the core file. * generic package hook: Also check /tmp for enough space. Thanks Brian Murray. (LP: #972933) * problem_report.py, write_mime(): Fix regression from version 1.95: Add a value as attachment if it is bigger than 1000 bytes, not if it is bigger than 100. (LP: #977882) Improvements: * packaging-apt-dpkg.py: Avoid constructing and updating the apt.Cache() objects multiple times, to speed up retracing. Thanks Evan Dandrea. (LP: #973494) 2.0 (2012-03-30) ---------------- This is the final 2.0 release, featuring the overhauled and simplified GUI, support for whoopsie-daemon, and client-side duplicate checking. Bug fixes: - report.py, anonymize(): Only replace whole words, not substrings. (LP: #966562) - apport_python_hook.py: Fix filtering of org.freedesktop.DBus.Error.NoReply exceptions. (LP: #958575) - crashdb.py: When publishing the crash database, cut hash file names after quoting, to avoid that the quoting causes them to become too long. (LP: #968070) This also uncovered that known() did not actually find any signature which contained an URL-quoted character, therefore breaking client-side duplicate checking in a lot of cases. Double-quote the file name now, as urlopen() unquotes it. - Add a new crash database option "problem_types" and a CrashDatabase method "accepts(report)". This can be used to stop uploading particular problem report types to that database. E. g. a distribution might decide to not get "Crash" reports any more after release. Document the new option in doc/crashdb-conf.txt. - ui.py: Do not upload a report if the crash database does not accept the report's type. This behaviour is not really correct, but necessary as long as we only support a single crashdb and have whoopsie hardcoded. Once we have multiple crash dbs, we need to not even present the data if none of the DBs wants the report. See LP #957177 for details. (LP: #968121) - ui.py: Do not short-circuit information collection if report already has a "DistroRelease" field, as the GUIs add that in some cases. Check for "Dependencies" instead. This fixes information collection for kernel problems (which now has a full GTK GUI test case). (LP: #968488) 1.95 (2012-03-22) ----------------- Bug fixes: - ui.py: Ensure that the report file is readable by the crash reporting daemon after running through collect_info(). Thanks Evan Dandrea. - apport-gtk, apport-kde: Set the window title to the distribution name, as per http://wiki.ubuntu.com/ErrorTracker#error . Thanks Evan Dandrea. (LP: #948015) - test/run: Ignore obsolete packages on the system, to avoid breaking the GUI tests due to them. - apport-gtk, apport-kde: When reporting a "system crash", don't say "... of this program version", but "...of this type", as we don't show a program version in the initial dialog (https://wiki.ubuntu.com/ErrorTracker#error) (LP: #961065) - problem_report.py, write_mime(): Do not put a key inline if it is bigger than 1 kB, to guard against very long lines. (LP: #957326) - etc/cron.daily/apport: Do not remove whoopsie's *.upload* stamps every day, only if they are older than a week. whoopsie comes with its own cron job which deals with them. Thanks Steve Langasek. (LP: #957102) - report.py, mark_ignore(): Fix crash if executable went away underneath us. (LP: #961410) - apport-gtk: Do not compare current continue button label against a translated string. Instead just remember whether or not we can restart the application. (LP: #960439) - hookutils.py, command_output(): Add option to keep the locale instead of disabling it. - hookutils.py, command_output(): Actually make the "input" parameter work, instead of causing an eternal hang. Add tests for all possible modes of operation. - hooktuils.py: Change root_command_output() and attach_root_command_outputs() to disable translated messages (LC_MESSAGES=C) only as part of the command to be run, not already for the root prefix command. This will keep the latter (gksu, kdesudo, etc.) translated. (LP: #961659) - apport-gtk: Cut off text values after 4000 characters, as Gtk's TreeView does not get along well with huge values. KDE's copes fine, so continue to display the complete value there. (LP: #957062) - apport-gtk: Make details window resizable in bug reporting mode. - crashdb.py, known(): Check the address signature duplicate database if the symbolic signature exists, but did not find any result. (LP: #103083) - ui.py: Run anonymization after checking for duplicates, to prevent host or user names which look like hex numbers to corrupt the stack trace. (LP: #953104) - apport-gtk: Require an application to both have TERM and SHELL in its environment to consider it a command line application that was started by the user. (LP: #962130) - backends/packaging-apt-dpkg.py, _check_files_md5(): Fix double encoding, which caused UnicodeDecodeErrors on non-ASCII characters in an md5sum file. (LP: #953682) - apport-kde, apport-gtk: Only show "Relaunch" if the report has a ProcCmdline, otherwise we cannot restart it. (LP: #956173) Improvements: - hookutils.py, attach_alsa(): Add the full "pacmd list" output instead of just sinks and sources. Thanks David Henningsson. - apport-gtk, apport-kde: Show the ExecutablePath while we're collecting data for the crash report. Thanks Evan Dandrea. (LP: #938707). 1.94.1 (2012-03-07) ------------------- Bug fixes: - test_ui_kde.py: Re-enable inadvertently disabled "bug report for uninstalled package" test. - ui.py, collect_info(): Do not assume that reports have a "ProblemType" field. This is not the case when updating a bug. (LP: #947519) - apport-cli: Consistently handle unicode vs. byte arrays. (LP: #946207) - report.py, anonymize(): Fix crash when the hostname or user name contain non-ASCII characters. (LP: #945230) - packaging-apt-dpkg.py: Fix UnicodeDecodeError on unexpected md5sum output. (LP: #921037) - apport-gtk: Fix handling of non-ASCII strings in message dialogs. (LP: #865394) 1.94 (2012-03-02) ----------------- Bug fixes: - apport: Set the group of written reports to "whoopsie" if that group exists. - Fix tests to run properly against the system-installed modules and binaries. - test/run: Run under LC_MESSAGES=C to avoid test failures due to translated strings. - general-hooks/generic.py: Also attach xsession-errors for programs that link to libgtk-3. - launchpad.py: Properly handle "Expired" status, to avoid marking new bugs as duplicates of expired ones. (LP: #941854) - apport: Fix crash if the "whoopsie" group does not exist. (LP: #942326) - report.py, crash_signature(): Do not put "" frames into Python crash signatures that happen outside of function/method calls. Fall back to the file/line number as a frame description instead. This will do a much better job at disambiguating e. g. different ImportError crashes. (LP: #920403) - Make "binary changed since the time of the crash" error message more comprehensible, thanks Paolo Rotolo. (LP: #942830) - crashdb.py, check_duplicate(): It can happen that a bug gets identified as being a duplicate of bug S by symbolic signatures and a duplicate of bug A by address signatures. Empirical evidence shows that this is due to the unavoidable jitter in stack traces (A and S not being identified as duplicates as their signatures differ slightly) and not a logic error. So instead of erroring out, duplicate all three bugs and keep the lowest number as the master ID. (LP: #943117) - Revert the usage of multiple nested threads during data collection, and switch back to only using one UI thread. The UI implementations can, and now do, decide between showing a spinner and showing a progress dialog in the ui_*_info_collection_progress() methods. This fixes libX11 crashes when multiple UI threads do changes concurrently (LP: #901675), and also avoids multi-thread induced crashes in Pango (LP: #943661). The removal of the collect() method also fixes the new crashes in it. (LP: #942098, #939803) - ui.py, get_desktop_entry(): Fix crash on uninstalled package. (LP: #940984) - data/unkillable_shutdown: Fix crash on race condition when PID goes away while the report is created. (LP: #546369) - apport/hookutils.py, pci_devices(): Fix crash on unexpected lines from lspci. (LP: #904489) - Drop hardcoded "Ubuntu" words again which crept in with the whoopsie support merge. Use the DistroRelease: field. - apport-kde: Fix Home page URL in KApplication metadata. - apport-gtk: Fix resizability and size after hiding details. (LP: #405418) Improvements: - test/run: Drop "local" argument. This now tests against the source tree when run in the source tree root, and against the system libraries/programs when run from anywhere else. - test/run: Consider command line arguments as test names and only run those when given. Also support just running a single test. - testsuite: Force the skipping of online tests when $SKIP_ONLINE_TESTS is set. - hookutils.py, xsession_errors(): Add a reasonable default pattern which matches glib-style warnings, errors, criticals etc. and X window errors. In data/general-hooks/generic.py, call it with that default instead of the rather incomplete custom pattern. (LP: #932660) - packaging.py: Add get_package_origin() method, and implement it for apt-dpkg. - report.py, add_package_info(): Add "[origin: ...]" tag to "Package" and "Dependencies" fields for any package which is not native to the distribution. If any such package is present, tag the report with "third-party-packages" in data/general-hooks/generic.py. (LP: #927912) - apport/packaging.py: Add get_uninstalled_package() method as a helper method for the test suite. Use it instead of a hardcoded Debian/Ubuntu specific name in test/test_hooks.py. - test/test_ui_{gtk,kde}.py: Add test cases for complete UI workflow runs for reporting a bug against an installed/uninstalled package, and reporting a crash with and without showing details. This reproduces the recent crashes like LP #901675 or LP #943661. - test_ui.py: Add a test case for reporting a complete report on uninstalled package. This happens when reporting a problem from a different machine through copying a .crash file. - test/run: Add a test that there are no hardcoded "Ubuntu" words in the source. The code should use the DistroRelease: field or lsb_release. 1.93 (2012-02-23): ------------------ Bug fixes: - apport-gtk: Fix crash on nonexisting icon. Thanks Evan Dandrea. (LP: #937354) - ui.py, open_url(): Revert back to calling sudo instead of dropping privileges ourselves; with the latter, calling firefox as the sudo'ing user fails. (LP: #916810, #938128) - ui.py: Fix aborting with "AssertionError" if the report is already known, but without an URL. (LP: #938778) - launchpad.py: If a bug is already known, but the report is private, do not send the report. There is little sense piling up lots of duplicates. (LP: #938700) - test/crash: Fix regression of test_crash_apport(), consider $TERM a non-sensitive variable. - ui.py: Fix test failures for data collection progress, they are not expected to happen for "ProblemType: Crash" any more (happens in the background during sending, or if user clicks on "Show Details"). - test/hooks: Use a package from Debian/Ubuntu main, so that this works better during package builds on build servers. - test/python: Do not assume that /var/crash/ exists. Use /var/tmp/ for the fake binaries instead. - data/general-hooks/parse_segv.py: Fix test case name. - ui.py: Fix crash on invalid core dumps. (LP: #937215) - launchpad.py: Fix crash on unicode report titles. (LP: #896626) Improvements: - apport-gtk: Show the most interesting fields first in the details view. - do-release: Call pyflakes and abort on errors other than unused imports. - Move all test suites out of the code modules into test/test_.py. This avoids having to load it every time the program runs, and also allows running the tests against the installed version of Apport. - Clean up the other executable test script in test/* and change them to the same structure as the module tests. 1.92 (2012-02-20): ------------------ Bug fixes: - ui.py: Fix wrong creation of "~" folder instead of expanding it to home directory when using "Examine locally". Thanks Jason Conti! (LP: #909149) - Replace file() calls with open() for Python 3 compatibility. Thanks Colin Watson! - launchpad.py: Avoid sending tag names with upper case. (LP: #924181) - report.py, crash_signature_addresses(): Fix crash if report does not have "Signal". - apport-gtk: Fix resize handling of expander in details window. Thanks Thomas Bechtold! (LP: #930562) - Clean up unnecessary imports. Thanks Evan Dandrea! Improvements: - man/apport-bug.1: Mention where crash files are stored. Thanks David Kastrup. - hookutils.py, attach_hardware(): Sort ProcModules, thanks Brian Murray. - launchpad.py: Keep "Dependencies" attachment in duplicates. Thanks Brian Murray. - Reorganize the GNOME and KDE user interface to do the crash notifications and detail browser in a single dialog. Add test/gtk and test/kde tests to check expected dialog layout for different cases. Thanks Evan Dandrea! - Add support for the whoopsie-daisy crash reporting daemon by creating zero-byte .upload file stamps for crash reports. Thanks Evan Dandrea! 1.91 (2012-01-18): ------------------ Bug fixes: - crashdb.py, check_duplicate(): If a crash has a signature but no existing duplicate in the DB, also check for an existing address signature duplicate in the DB. - apport-retrace: Use DistroRelease specific subdirectory of the cache dir for mapping a file to a package, as these maps are release specific. - packaging-apt-dpkg.py: Refresh Contents.gz cache if it is older than one day. - crashdb.py: Ensure that address_signature duplicate db table does not have multiple identical signatures by making it a primary key. Bump the db format to "3". Existing databases need to be migrated manually as SQLite does not allow adding a "PRIMARY KEY" constraint to existing tables. - crashdb.py: Do not add a new address signature entry if one already exists. - apport-cli: Fix UnicodeDecodeError on unicode report values. (LP: #275972) - launchpad.py: Only set bug task importance if it is undecided. - apport-retrace: Fix "an useful" typo. (LP: #911437) - report.py: Filter out frames which are internal kernel/glibc implementation details and not stable across duplicates. In particular, filter out __kernel-syscall() and the SSE stubs. - crashdb.py: Remove debugging leftover which completely disabled bug pattern checking. - report.py: Update reading AssertionMessage. Current (e)glibc turned __abort_msg from a simple static string into a struct. Improvements: - Change permissions of .crash files from 0600 to 0640, so that /var/crash can be made g+s and crash handling daemons can access those. - Python exceptions: Blacklist DBus.Error.NoReply. It does not help to get these traces from the client-side application, you need the actual exception in the D-Bus server backend instead. (LP: #914220) - Support /etc/apport/whitelist.d/ similarly to /etc/apport/blacklist.d/, for cases like installer environments where only crashes of a few selected programs should be reported. 1.90 (2011-11-24): ------------------ First beta release of 2.0 which introduces client-side duplicate checking. Bug fixes: - backends/packaging-apt-dpkg.py: Fix another test case failure when ddeb repository is not enabled. - backends/packaging-apt-dpkg.py: Fix handling of explicit cache directory name when it is a relative path. - launchpad.py: Only query for bugs after 2011-08-01, to avoid timeouts. - ui.py: Also anonymize standard bug title. (LP: #893863) - launchpad.py: Current Launchpad cannot have private bugs which affect multiple projects. Fix test suite accordingly. Improvements: - report.py: Break out new method stacktrace_top_function() from standard_title(), so that other parts of the code can use this as well. - launchpad.net: When sending retraced results back to the bug report, update the topmost function in the bug title. (LP: #869970) - report.py, add_gdb_info(): Add a new field "StacktraceAddressSignature" which is a heuristic signature for signal crashes. This should be used if crash_signature() fails, i. e. the Stacktrace field does not have enough symbols. This can be used to check for duplicates on the client side, provided that the crash database server supports querying for these. Do not expose this field when uploading to crash databases though, as it can be recomputed from the already existing information (ProcMaps and Stacktrace) and thus would just clutter the reports. - crashdb.py: Add a table "version" with the database format version. Add automatic upgrading to the most current format. - crashdb.py: Put address signatures from reports checked with check_duplicate() into the duplicate database, so that implementations of known() can check for these. - dupdb-admin: Add "publish" dupdb-admin command which exports the duplicate database into a set of text files suitable for WWW publishing. - crashdb.py: Add new method "known(report)" which can be implemented to check if the crash db already knows about the crash signature. If so, the report will not be uploaded, and instead the user will be directed to the existing report URL (if available), similar to bug patterns. The default implementation checks this format, if the crash database is initialized with a "dupdb_url" option pointing to the exported database. - launchpad.py: Override known() to check if the master bug is actually accessible by the reporter, and is not tagged with "apport-failed-retrace" or "apport-request-retrace"; otherwise file it anyway. - crash-digger: Add --publish-db option to conveniently integrate duplicate DB publication (similar to dupdb-admin publish) into retracer setups. - launchpad.py: Attach updated stack traces from a duplicate to the master bug if it failed retracing previously or has an "apport-request-retrace" tag. (LP: #869982) - apport-kde, apport-gtk: Support the "Annotation" field for custom dialog titles for "Crash" and "Package" problem types as well, not just for "Kernel". (LP: #664378) 1.26 (2011-11-11): ------------------ Bug fixes: - backends/packaging-apt-dpkg.py: Port to current python-apt API. - hookutils.py: Fix path_to_key() to also work with unicode arguments. - test/crash: Exit successfully if apport is not enabled in the system. This allows packages to run the test suite during build. - report.py, add_proc_info(): Correctly handle "python -m " programs as being interpreted and determine the appropriate module path. - Fix some import statements to also work for the system-installed test suite. - test/run: Fix testing data/general-hooks/parse_segv.py when called in system-installed mode. - apport/ui.py: Clean up test .crash file after test cases. - Fix tests when running as root. - setup.py: Fix crash when "javac -version" fails. - README: Update command for one-time enablement. - backends/packaging-apt-dpkg.py: Fix interleaving usage of install_packages() with other operations such as get_version(), by resetting the apt status after building and using the sandbox. - report.py test suite: Remove requirement that $USER is set, which makes it easier to run this from package build environments. - apport/ui.py, test/crash: Use "yes" as test process instead of "cat". The former is less likely to run already, and does not depend on having a stdin, so it runs better in test environments like autopkgtest. - backends/packaging-apt-dpkg.py: Fix tests if system does not have a dbgsym apt source. Improvements: - Ignore a crash if gnome-session is running and says that the session is being shut down. These often die because X.org or other services are going away, are usually harmless, and just cause a lot of clutter in bug trackers. (LP: #460932) - test/crash: Rewrite using Python's unittest, to be in line with other tests, and be easier to maintain and extend. 1.25 (2011-11-02): ------------------ Improvements: - Add new response "Examine locally" to presenting the report details, which runs apport-retrace in the chosen mode in a terminal. This should be made available for crash reports if apport-retrace and a Terminal application are installed; add an abstrace UI method for this. (LP: #75901) - apport-gtk: Add "Examine locally..." button, and implement ui_run_terminal(). - apport-cli: Add "Examine locally..." responses, and implement ui_run_terminal(). - apport-cli: Greatly speed up displaying large reports. This also changes the format to avoid indenting each line with a space, and visually set apart the keys in a better way. - apport_python_hook.py: Move tests out of this file into test/python, to avoid having to parse the unit tests at each Python startup. - test/python: Also make tests work if Python hook is not installed in system's sitecustomize.py. - packaging.py: Add get_modified_conffiles() API, and implement it in packaging-apt-dpkg.py. - hookutils.py: Add attach_conffiles(). - hookutils.py: Add attach_upstart_overrides(). Bug fixes: - launchpad.py: Remove "Ubuntu" in bug response, replace with "this software". (LP: #883234) - apport-kde: Rearrange order of imports to get intended error message if PyKDE is not installed. - packaging-apt-dpkg.py: Ignore hardening-wrapper diversions, to make gcc_ice_hook work if hardening-wrapper is installed. - apport_python_hook: Respect $APPORT_REPORT_DIR. - apport_python_hook: Limit successive crashes per program and user to 3 per day, just like signal crashes. (LP: #603503) - packaging-apt-dpkg.py: Skip online tests when there is no default route. - ui.py: Fix test suite to not fail if system has some obsolete or non-distro packages. 1.24 (2011-10-19): ------------------ Bug fixes: - backends/packaging-apt-dpkg.py, install_packages(): Also copy apt/sources.list.d/ into sandbox. - backends/packaging-apt-dpkg.py, install_packages(): Install apt keyrings from config dir or from system into sandbox. (LP: #856216) - packaging.py, backends/packaging-apt-dpkg.py: Define that install_packages() should return a SystemError for broken configs/unreachable servers etc., and fix the apt/dpkg implementation accordingly. - apport-retrace: Don't crash, just give a proper error message if servers are unreachable, or configuration files are broken. (LP: #859248) - backends/packaging-apt-dpkg.py: Fix crash when /etc/apport/native-origins.d contains any files. (LP: #865199) - hookutils, recent_logfile(): Fix invalid return value if log file is not readable. (LP: #819357) - test/crash: Fix race condition in the "second instance terminates immediately" check. - hookutils.py: Replace attach_gconf() with a no-op stub. It used static python modules like "gconf" which broke the PyGI GTK user interface, and gconf is rather obsolete these days. - ui.py, open_url(): Greatly simply and robustify by just using xdg-open. This already does the right thing wrt. reading the default browser from GNOME, KDE, XCE, and other desktops. (LP: #198449) - data/general-hooks/generic.py: Only attach ~/.xsession_errors if the bug is reported in the same XDG session as the crash happened. (LP: #869974) - Ignore crashes for programs which got updated in between the crash and reporting. (LP: #132904) - Special-case crashes of 'twistd': Try to determine the client program and assign the report to that, or fail with an UnreportableReason. (LP: #755025) - apport-gtk: In bug update mode, make details dialog resizable and fix default size. (LP: #865754) - apport-gtk: Fix crash if report does not have ProcCmdline. (LP: #854452) - hookutils.py, attach_wifi(): Anonymize ESSID and AP MAC from "iwconfig" output. (LP: #746900) - test/crash: Fix test failure if user is not in any system groups. - test/crash: Change to /tmp/ for test crash process, to fix failure if the user that runs the test suite cannot write into the current directory. (LP: #868695) - ui.py: Improve error message if package is not a genuine distro package. Thanks to Ronan Jouchet. (LP: #559345) Improvements: - apport-retrace: Add --timestamp option to prepend a timestamp to log messages. This is useful for batch operations. - crash-digger: Call apport-retrace with --timestamps, to get consistent timestamps in log output. - hookutils.py: Add two new functions attach_gsettings_package() and attach_gsettings_schema() for adding user-modified gsettings keys to a report. (LP: #836489) - hookutils.py: Add new function in_session_of_problem() which returns whether the given report happened in the currently running XDG session. This can be used to determine if e. g. ~/.xsession-errors is relevant and should be attached. 1.23.1 (2011-09-29) ------------------- Bug fixes: - apport/crashdb.py: Ensure that duplicate table only has one entry per report ID. - apport-retrace: Pass correct executable path to gdb in --gdb with --sandbox mode. - apport-retrace: Do not leave behind temporary directories on errors. - apport-retrace: Drop assertion failure for existance of "Stacktrace". This isn't present in the case of gdb crashing, and there is not much we can do about it. This should not break the retracer. - apport/report.py: Unwind XError() from stack traces for the "StacktraceTop" field, as they take a significant part of the trace. This causes bugs to be duplicated which really have different causes. 1.23 (2011-09-14) ----------------- Improvements: - crashdb.py, crash-digger, dupdb-admin: Drop the concept of "duplicate DB consolidation". Such massive queries cause timeouts with e. g. Launchpad. Instead, update the status of potential master bugs in the crash DB whenever check_duplicate() is called. Bug fixes: - launchpad.py: Fix crash in close_duplicate() if master bug was already marked as a duplicate of the examined bug. - problem_report.py, load(): Fix missing last character if the last line in a multi-line field is not terminated with a newline. - launchpad.py: Fix test_marking_python_task_mangle() check to work with current Launchpad. - apport-retrace: If the user did not specify a --cache directory, create a shared one instead of letting the two install_packages() calls create their own. This ensures that the apt and dpkg status is up to date, and avoids downloading the package indexes multiple times. (LP: #847951) - apport-retrace: Give proper error mesage instead of AssertionError crash if a report does not contain standard Apport format data. (LP: #843221) - fileutils.py, get_new_reports(): Fix crash if report file disappears in the middle of the operation. (LP: #640216) - apport/ui.py, load_report(): Intercept another case of broken report files. (LP: #445142) - apport/report.py, standard_title(): Escape regular expression control characters in custom exception names. (LP: #762998) 1.22.1 (2011-09-06) ------------------- Improvements: - dupdb-admin: Add "removeid" command. Bug fixes: - dupdb-admin: Use the in-memory CrashDB implementation for simple operations like dump or changeid, which do not require an actual backend. This makes the command work in checkouts without a /etc/apport/crashdb.conf. - dupdb-admin: Fix UnicodeEncodeError crash. - launchpad.py: Fix crash if a crash report does not have a DistroRelease. - Set the default "Apport" title for choice dialogs instead of the default apport-gtk title. Thanks Robert Roth. (LP: #608222) - apport-gtk: Update markup_escape_text() call to current glib. (LP: #829635) 1.22 (2011-08-25) ----------------- Improvements: - Completely rework apport-retrace to use gdb's "debug-file-directory" and "solib-absolute-prefix" settings and only unpack the necessary packages in a temporary directory. This makes it possible to use it in a running system without actually touching installed packages, does not need any root privileges, and stops the requirement of using chroots with fakechroot and fakeroot. This is a lot easier to maintain and use, and a lot faster, too. As a consequence, drop the chroot module, and update crash-digger accordingly. See "man apport-retrace" for the new usage. It is now also easier to port to other packaging backends, as a lot of the common logic moved out of the packaging API; packaging.install_retracing_packages() got dropped in favor of the simpler packaging.install_packages(). - crash-digger: Show how many bugs are left in the pool with each new retrace. Bug fixes: - apport-gtk: Fix crash in GLib.markup_escape_text() call, regression from 1.21.3. (LP: #828010) - launchpad.py: When searchTasks() times out, exit with 99 as this is a transient error. - crash-digger: Intercept OverflowError from downloaded compressed attachments. 1.21.3 (2011-08-17) ------------------- Bug fixes: - gtk/apport-gtk.desktop.in: Also show in Unity. (LP: #803519) - apport-unpack: Fix crash on file errors. - Add apport.packaging.get_library_paths() interface and implement it for backends/packaging-apt-dpkg.py using dpkg multiarch directories. Use it in chroot.py. - hookutils.py: Don't attach empty values. Thanks Bryce Harrington. (LP: #813798) - apport-gtk: Correctly pass message dialog type. - apport-gtk: Fix GLib and GObject imports to be compatible with the future pygobject 3.0. Improvements: - hookutils.py: Add attach_mac_events() for reporting logs of MAC systems. Looks for AppArmor messages for now. Thanks Marc Deslauriers! - hookutils.py, attach_alsa(): Get a list of outputs/inputs that PulseAudio knows about, which also shows the currently selected output/input, as well as volumes. This should help with "no sound" bug troubleshooting. Thanks Luke Yelavich. 1.21.2 (2011-07-01) ------------------- Improvements: - test/run: Check $PYTHON for using a different Python interpreter (such as "python3") for the tests. - generic hook: Don't report package installation failures due to segfaulting maintainer scripts. We want the actual crash report only. Thanks Brian Murray. - hookutils.py, attach_wifi(): Also include wpasupplicant logs. Thanks Mathieu Trudel-Lapierre! Bug fixes: - backends/packaging-apt-dpkg.py: Fix crash introduced in 1.21.1's multiarch fixes. - report.py: Fix bug patterns to correctly match against compressed report fields. 1.21.1 (2011-06-20) ------------------- Improvements: - data/general-hooks/generic.py: Also check for low space on /var. Thanks Brian Murray. - hookutils.py, attach_file() and attach_file_if_exists(): Add a new "overwrite" flag option. If not given, now default to overwriting an existing key, as this is usually what you need when attaching files (instead of attaching it several times with '_' appended to the keys). You can get the old behaviour by setting overwrite=False. Bug fixes: - When showing the size of the full report, take the compressed size of binary values instead of their uncompressed size, as the crash db upload will use the compressed values. - backends/packaging-apt-dpkg.py: Fix for current dpkg with multiarch support. - test/run: Fix the test suite to run against the system installed libraries with current Python versions (2.6, 2.7) where __file__ does not work any more with imports. 1.21 (2011-06-08) ----------------- Improvements: - Supply --desktop option to kdesudo to improve the description which program is requesting administrative privileges. - apport-checkreports: Exit with status 2 if there are new reports, but apport is disabled. This helps crash notification GUIs to not display new crash reports in that case. Thanks to Michael Vogt for the original patch. - Add data/is-enabled: Shell script to check if apport is enabled. Non-Python programs (which can't use apport.packaging.enabled() ) can call this instead of having to parse /etc/default/apport themselves, and just check the exit code. Inspired by original patch from Michael Vogt, thanks! Bug fixes: - apport-gtk: HTML-escape text for dialogs with URLs. (LP: #750870) - dump_acpi_tables.py: Check to see if acpi/tables dir is mounted first. Thanks Brian Murray. (LP: #729622) - man/apport-cli.1: Document recently added -w/--window option. Thanks Abhinav Upadhyay! (LP: #765600) - Use kde-open instead of kfmclient to open URLs under KDE. Thanks Philip Muškovac. (LP: #765808) 1.20.1 (2011-03-31) ------------------- Bug fixes: - Add bash completion support for new -w/--window option that was introduced in 1.20. Thanks Philip Muškovac. - apport-unpack: Fix crash if target directory already exists. - Fix crash if UnreportableReason is a non-ASCII string. (LP: #738632) - Fix crash if application from desktop name is a non-ASCII string. (LP: #737799) - unkillable_shutdown: Fix rare crash if ExecutablePath does not exist (any more). (LP: #537904) - kernel_crashdump: Fix crash if the vmcore file disappeared underneath us. (LP: #450295) - unkillable_shutdown: Fix crash if the checked process terminated underneath us. (LP: #540436) - ui.py: Properly raise exceptions from the upload thread that happen at its very end. (LP: #469943) 1.20 (2011-03-17) ----------------- Improvements: - Add support for -w/--window option which will enable user to select a window as a target for filing a problem report. Thanks Abhinav Upadhyay for the patch! (LP: #357847) - Disable the filtering on SIGABRT without assertion messages. Turns out that developers want these crash reports after all. (LP: #729223) - Add support for a "DuplicateSignature" report fields. This allows package hooks to implement custom duplicate problem handling which doesn't need to be hardcoded in Apport itself. Update the launchpad backend to tag such bugs as "need-duplicate-check". Bug fixes: - report.py, add_hooks_info(): Properly report TypeErrors from hooks. - apport-retrace: Intercept SystemErrors from ill-formed gzip attachments as well. - Fix crash if crash database configuration does not specify a bug_pattern_url. Just assume None. (LP: #731526) - If a custom crash database does not specify a bug_pattern_url, fall back to using the default database's. (LP: #731526) - hookutils.py Update WifiSyslog regex to correctly catch application log messages in syslog. Thanks Mathieu Trudel-Lapierre. (LP: #732917) - hookutils.py, attach_hardware(): Avoid error message if machine does not have a PCI bus. Thanks Marcin Juszkiewicz! (LP: #608449) - backends/packaging-apt-dpkg.py: Replace deprecated getChanges() call with get_changes(). - apport-gtk: Fix broken dialog heading if the name of the crashed program contains an & or other markup specific characters. - apport-gtk: Don't crash if GTK cannot be initialized. This usually happens without a $DISPLAY or when the session is being shut down. Just print an error message. If there are pending crashes, they will be shown again the next time a session starts. (LP: #730569) 1.19 (2011-02-28) ----------------- Bug fixes: - Update stack unwind patterns for current glib (slightly changed function names), and also ignore a preceding '*'. (LP: #716251) - Fix crash_signature() to fail if there is an empty or too short StacktraceTop. - apt backend: Do not generate a warning if the opportunistically added -dbg package does not exist. - apt backend: Only add -dbg in --no-pkg mode, as there will be conflicts in normal package mode. - apt backend: Call tar with target cwd instead of using -C; the latter causes an extra openat() call which breaks with current fakechroot. - launchpad.py: Fix retracer crash if DistroRelease field does not exist. - Convert deprecated failIf()/assert_() TestCase method calls to assertFalse()/assertTrue(). Improvements: - In apport-bug, if the user specifies a PID referring to a kernel thread, do the right thing and file the bug against the kernel - In hookutils.attach_dmesg, skip over an initial truncated message if one is present (this happens when the ring buffer overflows) - Change bug patterns to just use one central file instead of per-package files. This allows bug patterns to be written which are not package specific, and is easier to maintain as well. IMPORTANT: This changed the format of crashdb.conf: bug_pattern_base is now obsolete, and the new attribute bug_pattern_url now points to the full URL/path of the patterns file. Thanks to Matt Zimmerman! 1.18 (2011-02-16) ----------------- Bug fixes: - Ensure that symptom scripts define a run() function, and don't show them if not. - Do not show symptom scripts which start with an underscore. These can be used for private libraries for the actual symptom scripts. - Update bash completion. Thanks Philip Muškovac. - etc/default/apport: Remove obsolete "maxsize" setting. (LP: #719564) Improvements: - Remove explicit handling of KDE *.ui files in setup.py, as python-distutils-extra 2.24 fixes this. Bump version check. - hookutils.py: Add attach_root_command_outputs() to run several commands at once. This avoids asking for the password several times. (LP: #716595) 1.17.2 (2011-02-04) ------------------- Improvements: - Be more Python 3 compatible (not fully working with Python 3 yet, though). - apt/dpkg backend: Drop support for pre-0.7.9 python-apt API. - Add --tag option to add extra tags to reports. (LP: #572504) Bug fixes: - hookutils.py, attach_dmesg(): Do not overwrite already existing dmesg. - hookutils.py: Be more robust against file permission errors. (LP: #444678) - ui.py: Do not show all the options in --help when invoked as *-bug. (LP: #665953) - launchpad.py: Adapt test cases to current standard_title() behaviour. 1.17.1 (2011-01-10) ------------------- Bug fixes: - Make the GTK frontend work with GTK 2.0 as well, and drop "3.0" requirement. 1.17 (2010-12-31) ----------------- Improvements: - Better standard bug titles for Python crashes. Thanks Matt Zimmerman! (LP: #681574) - Add handler for uncaught Java exceptions. There is no integration for automatically intercepting all Java crashes yet, see java/README. Thanks Matt Zimmerman! (LP: #548877) Bug fixes: - GTK frontend: Require GTK 3.0. - launchpad.py: Default to "production" instance, not "edge", since edge is obsolete now. - hookutils.py, attach_alsa(): Fix crash if /proc/asound/cards does not exist. (LP: #626215) - ui.py, format_filesize(): Fix to work with stricter locale.format() in Python 2.7. (LP: #688535). While we are at it, also change it to use base-10 units. - hookutils.py, package_versions(): Always include all requested package names even if they're unknown to us. Thanks Matt Zimmerman! (LP: #695188) - launchpad.py: When updating a bug, also add new tags. Thanks Brian Murray! 1.16 (2010-11-19) ----------------- New features: - Port GTK frontend from pygtk2 to GTK+3.0 and gobject-introspection. Bug fixes: - Fix symptoms again. Version 1.15 broke the default symptom directory. - Fix memory test case to work with current Python versions, where the SQLite integrity check throws a different exception. 1.15 (2010-11-11) ----------------- New features: - Add dump_acpi_tables.py script. This can be called by package hooks which need ACPI table information (in particular, kernel bug reports). Thanks to Brad Figg for the script! - Order symptom descriptions alphabetically. Thanks to Javier Collado. - Check $APPORT_SYMPTOMS_DIR environment variable for overriding the system default path. Thanks to Javier Collado. Bug fixes: - testsuite: Check that crashdb.conf can have dynamic code to determine DB names and options. - ui.py test suite: Rewrite _gen_test_crash() to have the test process core dump itself, instead of using gdb to do it. The latter fails in ptrace restricted environments, such as Ubuntu 10.10. - packaging-apt-dpkg.py: Fix handling of /etc/apport/native-origins.d to actually work. Thanks Steve Langasek. (LP: #627777) - apport-kde: Load correct translation catalogue. Thanks Jonathan Riddell. (LP: #633483) - launchpad.py: Use launchpadlib to file a bug instead of screen scraping. The latter was completely broken with current Launchpad, so this makes the test suite actually work again. Thanks to Diogo Matsubara! - launchpad.py: Change $APPORT_STAGING to $APPORT_LAUNCHPAD_INSTANCE, so that you can now specify "staging", "edge", or "dev" (for a local http://launchpad.dev installation). Thanks to Diogo Matsubara! - backends/packaging-apt-dpkg.py: Fix crash on empty lines in ProcMaps attachment. - doc/symptoms.txt: Fix typo, thanks Philip Muskovac. (LP: #590521) - apport/hookutils.py: rename ProcCmdLine to ProcKernelCmdLine to not wipe wipe out /proc/$pid/cmdline information. (LP: #657091) - apport/hookutils.py: attach_file() will not overwrite existing report keys, instead appending "_" until the key is unique. - Fix --save option to recognise ~, thanks Philip Muškovac. (LP: #657278) - Remove escalation_subscription from Ubuntu bug DB definition, turned out to not be useful; thanks Brian Murray. - launchpad.py: Fix APPORT_LAUNCHPAD_INSTANCE values with a https:// prefix. - apt backend: Opportunistically try to install a -dbg package in addition to -dbgsym, to increase the chance that at least one of it exists. Thanks Daniel J Blueman! 1.14.1 (2010-06-24) ------------------- Bug fixes: - hookutils.py, attach_drm_info(): Sanitize connector names. Thanks Chris Halse Rogers! (LP: #597558) - bash completion: Complete all path names, apport-bug can be invoked with a path to a program. Thanks Philip Muskovac. 1.14 (2010-06-16) ----------------- New features: - hookutils.py: Add new method attach_drm_info() to read and format /sys/class/drm/*. Bug fixes: - packaging-apt-dpkg.py: Fix deprecated python-apt variables, thanks David Stansby. (LP: #591695) - launchpad.py: Fix crash on attachments which are named *.gz, but uncompressed. (LP: #574360) - hookutils.py, attach_gconf(): Fix defaults parsing for boolean keys. (LP: #583109) 1.13.4 (2010-05-04) ------------------- - bash completion: Fix error message if /usr/share/apport/symptoms does not exist. Thanks Philip Muškovac! (LP: #562118) - general-hooks/parse_segv.py: Report stack exhaustion more clearly and correctly handle register dereferencing calls. - Save/restore environment when calling hooks, in case they change the locale, etc. (LP: #564422) - hookutils.py, command_output(): Do not set $LC_MESSAGES for the calling process/hook, just for the command to be called. - ui.py: When displaying strings from system exceptions, decode them into an unicode string, to avoid crashing the KDE UI. (LP: #567253) - apport-retrace: Fix crash for retracing kernel vmcores, which do not have an ExecutablePath. - apport-bug manpage: Clarify when apport-collect may be used. Thanks Brian Murray! (LP: #537273) - generic hook: Check ProcMaps for unpackaged libraries, and ask the user if he really wants to continue. If he does, tag the report as "local-libs" and add a "LocalLibraries" field to the report with a list of them. (LP: #545227) 1.13.3 (2010-04-14) ------------------- - data/general-hooks/parse_segv.py: suggest segv-in-kernel possibility. - ui.py: When running as root, only show system crash reports, to avoid restarting user programs as root. (LP: #445017) 1.13.2 (2010-03-31) ------------------- - problem_report.py, write_mime(): Add new optional argument "priority_fields" for ordering report keys. Patch by Brian Murray, thanks! - launchpad.py: Put some interesting fields first in the report, with the new priority_fields argument. Patch by Brian Murray, thanks! - packaging-apt-dpkg.py, _install_debug_kernel(): Do not crash on an outdated kernel, just return that it is outdated. (LP: #532923) - launchpad.py test suite: Add "Referer" HTTP header, now required by launchpad. - launchpad.py: Fix crash if configuration does not have an "escalated_tag" option. - launchpad.py: Port to launchpadlib 1.0 API, thanks Michael Bienia for the initial patch! (LP: #545009) - gtk/apport-gtk-mime.desktop.in, kde/apport-kde-mime.desktop.in: Change categories so that these do not ever appear in menu editors. (LP: #449215) - launchpad.py: Some LP bugs have broken attachments (this is a bug in Launchpad itself). Ignore those instead of crashing. - apport-gtk: Turn http:// and https:// links into clickable hyperlinks in information and error dialogs. (LP: #516323) - apport-retrace: Fix crash when trying to rebuild package info for reports without an ExecutablePath. (LP: #436157) - ui.py: Fix crash when package information cannot be determined due to broken apt status. (LP: #362743) - ui.py: Fix crash when /etc/apport/crashdb.conf is damaged; print an appropriate error message instead. (LP: #528327) - data/kernel_crashdump: Fix crash if log file disappeared underneath us. (LP: #510327) - data/apport: Fix IOError when apport is called with invalid number of arguments, and stderr is not a valid fd. (LP: #467363) - hookutils.py: Factor out the DMI collection code from attach_hardware() into attach_dmi(), and call that in attach_alsa() as well. Thanks to Brad Figg for the patch! (LP: #552091) - apport/ui.py: Fix the help output if Apport is invoked under an alternative name (like apport-collect). (LP: #539427) 1.13.1 (2010-03-20) ------------------- Bug fixes: - Update parse-segv to handle gdb 7.1 output. - Enhance test suite to work with gdb 7.1 as well, and catch future outputs. - UI: Add exception string to the "network error" dialog, to better tell what the problem is. - UI: Add back -p option to apport-collect/apport-update-bug (regression from 1.13). (LP: #538944) - launchpad.py: Add yet another workaround for LP#336866. (LP: #516381) - launchpad.py, download(): Ignore attachments with invalid key names. - Fix regression from 1.10 which made it impossible for a package hook to set a third-party crash database for non-native packages. (LP: #517272) - apport-cli: Create the 'details' string only if user wants to view details, and do not show files larger than 1MB. Thanks Scott Moser! (LP: #486122) - packaging-apt-dpkg.py: Silence apt.Cache() spewage to stdout with newer python-apt versions. (LP: #531518) Improvements: - unkillable_shutdown: Add list of running processes and blacklisted pids to report. (LP: #537262) - Sort the report by key in the details view. (LP: #519416) 1.13 (2010-03-10) ----------------- New features: - Add "unkillable_shutdown" script to collect information about processes which are still running after sending SIGTERM to them. This can be hooked into e. g. /etc/init.d/sendsigs on Debian/Ubuntu systems. Improvements: - apport_python_hook.py: Directly check /etc/default/apport instead of querying packaging.enabled(), to avoid importing lots of modules for non-packaged scripts. Thanks Stuart Colville! (LP: #528355) Bug fixes: - Fix SegV parser to notice walking off the stack during "call" or "ret" (LP: #531672). - Fix --help output for bug updating mode (invocation as apport-collect or apport-update-bug). (LP: #504116) - Fix bug escalation tagging, thanks to Brian Murray. - Fix option processing when being invoked as apport-bug. Thanks to Daniel Hahler for the patch! (LP: #532944) 1.12.1 (2010-02-22) ------------------- Bug fixes: - launchpad.py: Do not keep escalating bugs, just escalate at the 10th duplicate. - Improve error message if a symptom script did not determine a package name. (LP: #503834) - general-hooks/generic.py: Fix crash on libGL check with empty StacktraceTop. - Review and clean up usage of chmod(). This fixes a small race condition in the Python exception hook where a local attacker could read the information from another user's crash report. (LP: #516029) - hookutils, package_versions(): Ignore "None" packages, for more robust package hooks. (LP: #518295) 1.12 (2010-01-20) ----------------- Improvements: - launchpad.py: Add options 'escalation_subscription' and 'escalation_tag' for handling bugs with more than 10 duplicates. - crashdb.conf: For Ubuntu, escalate bugs with >= 10 duplicates to "ubuntu-bugcontrol" and tag them with "bugpattern-needed". (LP: #487900) - general-hooks/generic.py: Filter out crashes on missing GLX (LP: #327673) - Add bash completion script. Thanks to Philip Muškovac. (LP: #218933) Bug fixes: - launchpad.py: Drop APPORT_FILES whitelist for download() and instead just filter out file extensions that we know about (*.txt and *.gz). (LP: #444975) - launchpad.py: Do not put the Tags: field into the bug description, since they are already proper tags. In download(), convert the real tags back to the Tags: field. (LP: #505671) - test/crash: Update expected core dump flags for changed rlimit behaviour in Linux 2.6.32. - launchpad.py: Fix marking of 'checked for duplicate' for bugs with upstream tasks. - launchpad.py, get_fixed_version(): Do not consider a bug as invalid just because it has any invalid distro package task. 1.11 (2009-12-23) ----------------- Improvements: - Add "--save" UI option to store the collected information into an .apport file instead of sending it right away. The file can then later be sent through apport-bug. Update manpages accordingly. - Update all copyright and description headers and consistently format them. - Rename all TestCase classes to "_T", which makes it much easier to run individual tests from the command line. - Testsuite: Verify that report details are/are not shown. This uncovered that details about package installation failures were not shown before sending them, which is fixed now. Bug fixes: - test/hooks: Do not try to add hook information to kernel_crashdump test case, since we do not have an UI here. This test case broke when the system had an interactive package hook for the kernel. - When reporting a bug from a saved .apport file, let the user review/confirm the content before sending. 1.10.1 (2009-12-23) ------------------- Improvements: - Install apport-collect symlink. - Update translations from Launchpad. Bug fixes: - Move all remaining option/argument parsing from apport-bug into ui.py. This allows the user to add options to apport-bug/apport-collect, and also avoids unwieldy dissection of options/arguments in shell. 1.10 (2009-12-19) ----------------- New features: - Add a mode for updating an existing problem report to ui.py (-u/--update). This is similar to the Ubuntu specific "apport-collect" tool, but implemented the right way now: In particular, this has access to the UI and thus can use interactive hooks (LP: #385811) and show you what is being sent for confirmation/cancelling (LP: #371827) - apport-bug: If invoked as "apport-collect" or "apport-update-bug" (i. e. through a symlink), run apport in update mode (-u ). This provides a convenient no-options command line program. Please note that setup.py does not currently install such a symlink. Update the apport-bug manpage accordingly. Improvements: - launchpad.py: Use new login_with() to clean up code, and specify allowed access levels (WRITE_PRIVATE is the only sensible one anyway). (LP: #410205) - New hookutils functions: xsession_errors (match lines from ~/.xsession-errors) shared_libraries (determine which libraries a binary links with) links_with_shared_library (test if a binary links with a particular library) - New CrashDatabase API: get_affected_packages(), can_update(), is_reporter() - Rename CrashDatabase.update() to update_traces(). - Add CrashDatabase.update() for adding all new fields of a report. This is primarily useful for collecting local standard and package hook data for an already existing bug report which was not filed through Apport. This checks can_update()/is_reporter() if the user is eligible for updating that particular bug. (LP: #485880) Bug fixes: - Ignore SIGXCPU and SIGXFSZ; thanks to Kees Cook. (LP: #498074) - launchpad.py: Do not mark non-Ubuntu bugs as needs-retrace, since there is no retracer right now. (LP: #489794) - packaging-apt-dpkg.py, install_retracing_packages(): Do not crash on malformed Dependencies.txt lines. (LP: #441709) - use-local: Fix for new source tree location of "apport" binary. 1.9.6 (2009-12-01) ------------------ Improvements: - Add pm-utils hook to record current operation, so that apportcheckresume can check it. Before this was kept in Ubuntu's pm-utils package. - general-hooks/generic.py: Check if using ecryptfs, and which directory. (LP: #444656) Bug fixes: - launchpad.py: Ensure that text attachments on initial bug filing are valid UTF-8. (LP: #453203) - man/apport-retrace.1: Document -R option. 1.9.5 (2009-11-20) ------------------ Bug fixes: - apport-retrace: Fix crash if InterpreterPath/ExecutablePath do not exist. - hookutils.py, attach_alsa(): Attach /proc/cpuinfo too, for CPU flags. - Fix crash if InterpreterPath does not exist any more at the time of reporting. (LP: #428289) - apport-gtk: Connect signals properly, to repair cancel/window close buttons. (LP: #427814) - Update German translations and fix "konnre" typo. (LP: #484119) 1.9.4 (2009-11-06) ------------------ Bug fixes: - Fix crash when ExecutablePath isn't part of a package. (LP: #424965) - hookutils.py, attach_hardware(): Anonymize disk labels. Thanks to Marco Rodrigues. (LP: #394411) - hookutils.py, attach_wifi(): Anonymize encryption key (which appeared in hex when being called as root). Thanks to Marco Rodrigues. (LP: #446299) - launchpad.py: If unset, set bug task source package also for interpreter crashes. - apport-gtk: Give details window a minimize/maximize button, which were missing in some window managers. Thanks to Marien Zwart. (LP: #447749) - apport-kde: Properly terminate program after closing the last dialog. (LP: #458662) - hookutils.py, attach_alsa(): Attach /proc/asound/version. (LP: #467233) - general-hooks/generic.py: Only collect ~/.xsession-errors bits when we have an ExecutablePath linked to libgtk. 1.9.3 (2009-10-14) ------------------ Changes: - Drop handling of the APPORT_REPORT_THIRDPARTY environment variable and "thirdparty" configuration file option. This has never been documented, and conceptually does not work. There is a proper mechanism for this in place now, e. g. launchpad.py's "project" option. Bug fixes: - hookutils.py: Fix error codes from "comm", thanks to Brian Murray. - general-hooks/generic.py: Catch xkbcomp error messages. (LP: #431807) - launchpad.py: Assert that we have exactly one of "distro" or "project" option. - doc/crashdb-conf.txt: Improve documentation of crash database options. - apport-gtk: Make Cancel/Send buttons focusable. Thanks to Marco Rodrigues. (LP: #447780) 1.9.2 (2009-10-02) ------------------ Improvements: - apport-cli: Print the URL and ask whether to open a browser. In many situations (such as usage on a server through ssh), it's preferable to not open the browser on the reporting computer. Thanks to Matt Zimmerman for the initial patch! (LP: #286415) - general-hooks/generic.py: Collect important glib errors/assertions (which should not have private data) from ~/.xsession-errors (LP: #431807) - launchpad.py: Link hardware data submission key if it exists. (LP: #424382) Bug fixes: - apport-cli: Fix crash with non-ASCII characters in prompts. - Fix "apport-bug symptomname" to actually work. - launchpad.py: Fix crash on invalid credentials file. Thanks to Marco Rodrigues for the initial patch! (LP: #414055) 1.9.1 (2009-09-22) ------------------ Bug fixes: - hookutils.py, attach_hardware(): Do not attach empty Pccardctl*. - apport/report.py, add_gdb_info(): Do not throw away stderr from gdb. - data/general-hooks/parse_segv.py: + Handle arithmetic wrapping correctly. + Handle empty base, scale, or index registers in disassembly. + Handle in/out ioport faults. - Various improvements to user-visible strings, thanks to Marco Rodrigues! (LP: #178507) - Various apport-retrace robustifications. - setup.py: Fix DistUtilsExtra version check. (LP: #428337) - hookutils.py, attach_gconf(): Do not overwrite previous values from other packages, thanks Loïc Minier! - hookutils.py, attach_gconf(): Fix crash with nonexisting tags. 1.9 (2009-09-08) ---------------- New features: - Add "do what I mean" mode to command line argument parsing (applies to all interfaces: -cli, -gtk, -kde). When giving a single argument and no options, determine the most likely mode, like reporting a bug against a symptom, package, executable name, or PID. - Add program "apport-bug" which determines the most appropriate user interface (GTK, KDE, CLI) and files a bug through it, using the single argument "do what I mean" mode. This is an improved version of Ubuntu's "ubuntu-bug" script. Bug fixes: - Update apport-cli manpage to current set of options and behaviour. Also point out that apport-gtk and apport-kde share the same CLI. - setup.py now installs apport-{gtk,kde} into $prefix/share/apport/, they are not supposed to be called directly. This also reflects the path which the .desktop files expect. - setup.py now installs the internal helper scripts like "kernel_crashdump", "apport", or "apportcheckresume" into $prefix/share/apport instead of $prefix/bin. - Update usage of gettext to work around Python bug of gettext() not returning unicodes, but str. Fixes UnicodeDecodeErrors on translated --help output. 1.8.2 (2009-09-05) ------------------ Bug fixes. 1.8.1 (2009-09-03) ------------------ Lots of bug fixes. 1.8 (2009-08-26) ---------------- New features: - Do not generally ignore SIGABRT any more. Try to extract the assertion message from the core dump, and add it as "AssertionMessage" field. Mark reports as unreportable if they do not have an assertion message and crashed with SIGABRT. This requires your glibc to have this patch: http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=48dcd0ba - report.py, add_hooks_info(): Add optional package/srcpackage argument. Hooks can use that to change the affected package or call hooks from different packages. - KDE frontend implementation of ui_question_userpass(), for crash databases which need to ask for credentials. - hookutils.py: New funtion attach_wifi() to add wireless network related information to reports. Important bug fixes: - Fix the test suite on current kernels; test/crash previously often failed with python segfaults, since it killed the test processes too early. 1.7 (2009-08-05): ----------------- New features: - Support for "symptom" scripts, which figure out the package for a bug report based on interactive questions. 1.6 (2009-07-15) ---------------- New features: - Integrate analysis and retracing of kernel vmcore crashes with the "crash" tool. Courtesy of Michael Vogt. Various little bug fixes. 1.5 (2009-06-29) ---------------- New features: - Drop all Makefiles, po/POTFILES.in, and most code from setup.py, and use DistUtilsExtras.auto which "just does the right thing" for most build system tasks. This requires python-distutils-extra >= 2.2, see https://launchpad.net/python-distutils-extra Cleanup: - Move all test scripts into test/, to unclutter source tree. - setup.py now auto-detects the required packaging backend if apport/packaging_impl.py is not manually installed. 1.4 (2009-06-26) ---------------- New features: - Replaced Qt4 frontend with a KDE frontend for better KDE integration. Major bug fixes: - packaging-apt-dpkg.py: Add backwards compatibility code for python-apt < 0.7.9 to not break backportability. 1.3 (2009-06-10) ---------------- New features: - Interactive package hooks: * Add apport.ui.HookUI class which provides GUI functionality such as yes/no questions or file dialogs to hooks. * add_info() in package hooks now can (optionally) take a second argument which is the HookUI instance. * See doc/package-hooks.txt for details. - New function apport.hookutils.root_command_output() to run a command as root, through gksu/kdesudo/sudo, depending on the desktop environment. - Add general hook for analyzing reason of a segfault. Bug fixes: - Drop "UnsupportableReason" field, it is too similar to UnreportableReason and just confusing. - Report key names can now contain dashes ('-') and underscores ('_'). (LP #380811) 1.2.1 (2009-05-15) ------------------ Bug fixes: - Fix setup.py and PO file merging for recent .glade -> .ui renaming. Translations: - Update German translations. 1.2.0 (2009-05-15) ------------------ Moving away from deprecated APIs: - packaging-apt-dpkg.py: Use python-apt >= 0.7.9 official API and drop usage of internal symbols. - hookutils.py: Drop hal related functions and queries, replace with udev database, udev log file, and DMI information from sysfs. - gtk UI: Convert from libglade to gtk.Builder. Bug fixes: - hookutils.py: Drop /proc/version_signature collection, it is Ubuntu specific. - apportcheckresume: Fix log collection from pm-utils. - Fix various crashes and report properties for reporting against uninstalled packages. 1.1.1 (2009-04-30) ------------------ Security fix: - etc/cron.daily/apport: Only attempt to remove files and symlinks, do not descend into subdirectories of /var/crash/. Doing so might be exploited by a race condition between find traversing a huge directory tree, changing an existing subdir into a symlink to e. g. /etc/, and finally getting that piped to rm. This also changes the find command to not use GNU extensions. Thanks to Stephane Chazelas for discovering this! (LP #357024, CVE-2009-1295) Bug fixes: - launchpad.py: Send and read Date: field again, reverting r1128; it is useful after all. (LP #349139) - Only add ProcAttrCurrent to reports if it is not "unconfined", to remove some noise from reports. - Detect invalid PIDs in the UI (such as for kernel processes) and give a friendly error message instead of silently doing nothing. (LP #360608) - Always run common hooks, and run source package hooks if we do not have a binary package name. (LP #350131) - launchpad.py: Consider socket errors when connecting as transient, so that crash-digger doesn't stop completely on them. 1.1 (2009-04-20) ---------------- New features: - Add hookutils methods for attaching relevant packages, greatly improve attach_alsa() for sound problem debugging. - Move launchpad crash database implementation from ever-breaking python-launchpad-bugs (screenscraping) to launchpadlib (official and stable Launchpad API). Bug fixes: - Drop some remaining distro specific pieces of code. - Add new field Report.pid which gets set on add_proc_info() and can be used by hooks. - setup.py: Properly clean up all generated files, install missing mimetypes/text-x-apport.svg icon symlink. - Add README file. - Add translations from Launchpad. - Remove preloadlib/*; it's undermaintained, and not really useful any more these days. - Various bug fixes; most visible being the misnamed etc/default/apport.default file (which should just be etc/default/apport). 1.0 (2009-04-06) ---------------- First upstream release, based on Ubuntu packaging branch; that had been the de-facto trunk for many years, but this becomes unpractical with several distributions using it now. apport-2.20.1/README0000644000000000000000000000600612677230222012114 0ustar 00000000000000Apport crash detection/reporting ================================ Apport intercepts Program crashes, collects debugging information about the crash and the operating system environment, and sends it to bug trackers in a standardized form. It also offers the user to report a bug about a package, with again collecting as much information about it as possible. It currently supports - Crashes from standard signals (SIGSEGV, SIGILL, etc.) through the kernel coredump handler (in piping mode) - Unhandled Python exceptions - GTK, KDE, and command line user interfaces - Packages can ship hooks for collecting specific data (such as /var/log/Xorg.0.log for X.org, or modified gconf settings for GNOME programs) - apt/dpkg and rpm backend (in production use in Ubuntu and OpenSUSE) - Reprocessing a core dump and debug symbols for post-mortem (and preferably server-side) generation of fully symbolic stack traces (apport-retrace) - Reporting bugs to Launchpad (more backends can be easily added) Please see https://wiki.ubuntu.com/Apport for more details and further links. The files in doc/ document particular details such as package hooks, crash database configuration, or the internal data format. Temporarily enabling apport =========================== The automatic crash interception component of apport is disabled by default in stable releases for a number of reasons [1]. To enable it just for the current session, do sudo service apport start force_start=1 Then you can simply trigger the crash again, and Apport's dialog will show up with instructions to report a bug with traces. Apport will be automatically disabled on next start. If you are triaging bugs, this is the best way to get traces from bug reporters that didn't use Apport in the first place. To enable it permanently, do: sudo nano /etc/default/apport and change enabled from "0" to "1". [1] https://wiki.ubuntu.com/Apport#How%20to%20enable%20apport Crash notification on servers ============================= You can add if [ -x /usr/bin/apport-cli ]; then if groups | grep -qw admin && /usr/share/apport/apport-checkreports -s; then cat <<-EOF You have new problem reports waiting in /var/crash. To take a look at them, run "sudo apport-cli". EOF elif /usr/share/apport/apport-checkreports; then cat <<-EOF You have new problem reports waiting in /var/crash. To take a look at them, run "apport-cli". EOF fi fi to your ~/.bashrc to get automatic notification of problem reports. Contributing ============ Please visit Apport's Launchpad homepage for links to the source code revision control, the bug tracker, translations, downloads, etc.: https://launchpad.net/apport The preferred mode of operation for Linux distribution packagers is to create their own branch from 'trunk' and add the distro specific packaging and patches to it. Please send patches which are applicable to trunk as merge requests or bug reports, so that (1) other distributions can benefit from them as well, and (2) you reduce the code delta to upstream. apport-2.20.1/TODO0000644000000000000000000000072012677230222011721 0ustar 00000000000000apport: - check crashes of root processes with dropped privs in test suite dup detection: - add merging of two databases -> needs time stamp of last change GUI: - point out bug privacy and to leave it private by default hooks: - add hooks which run during program crash, to collect more runtime data hookutils: - run hooks for related packages in attach_related_packages apt-dpkg backend: - use python-apt's Version.get_source() instead of apt-get source apport-2.20.1/apport/0000755000000000000000000000000012677230222012537 5ustar 00000000000000apport-2.20.1/apport_python_hook.py0000644000000000000000000001716412677230222015543 0ustar 00000000000000'''Python sys.excepthook hook to generate apport crash dumps.''' # Copyright (c) 2006 - 2009 Canonical Ltd. # Authors: Robert Collins # Martin Pitt # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import os import sys CONFIG = '/etc/default/apport' def enabled(): '''Return whether Apport should generate crash reports.''' # This doesn't use apport.packaging.enabled() because it is too heavyweight # See LP: #528355 import re try: with open(CONFIG) as f: conf = f.read() return re.search('^\s*enabled\s*=\s*0\s*$', conf, re.M) is None except IOError: # if the file does not exist, assume it's enabled return True def apport_excepthook(exc_type, exc_obj, exc_tb): '''Catch an uncaught exception and make a traceback.''' # create and save a problem report. Note that exceptions in this code # are bad, and we probably need a per-thread reentrancy guard to # prevent that happening. However, on Ubuntu there should never be # a reason for an exception here, other than [say] a read only var # or some such. So what we do is use a try - finally to ensure that # the original excepthook is invoked, and until we get bug reports # ignore the other issues. # import locally here so that there is no routine overhead on python # startup time - only when a traceback occurs will this trigger. try: # ignore 'safe' exit types. if exc_type in (KeyboardInterrupt, ): return # do not do anything if apport was disabled if not enabled(): return try: from cStringIO import StringIO StringIO # pyflakes except ImportError: from io import StringIO import re, traceback from apport.fileutils import likely_packaged, get_recent_crashes # apport will look up the package from the executable path. try: binary = os.path.realpath(os.path.join(os.getcwd(), sys.argv[0])) except (TypeError, AttributeError, IndexError): # the module has mutated sys.argv, plan B try: binary = os.readlink('/proc/%i/exe' % os.getpid()) except OSError: return # for interactive python sessions, sys.argv[0] == ''; catch that and # other irregularities if not os.access(binary, os.X_OK) or not os.path.isfile(binary): return # filter out binaries in user accessible paths if not likely_packaged(binary): return import apport.report pr = apport.report.Report() # special handling of dbus-python exceptions if hasattr(exc_obj, 'get_dbus_name'): name = exc_obj.get_dbus_name() if name == 'org.freedesktop.DBus.Error.NoReply': # NoReply is an useless crash, we do not even get the method it # was trying to call; needs actual crash from D-BUS backend (LP #914220) return elif name == 'org.freedesktop.DBus.Error.ServiceUnknown': dbus_service_unknown_analysis(exc_obj, pr) else: pr['_PythonExceptionQualifier'] = name # disambiguate OSErrors with errno: if exc_type == OSError and exc_obj.errno is not None: pr['_PythonExceptionQualifier'] = str(exc_obj.errno) # append a basic traceback. In future we may want to include # additional data such as the local variables, loaded modules etc. tb_file = StringIO() traceback.print_exception(exc_type, exc_obj, exc_tb, file=tb_file) pr['Traceback'] = tb_file.getvalue().strip() pr.add_proc_info(extraenv=['PYTHONPATH', 'PYTHONHOME']) pr.add_user_info() # override the ExecutablePath with the script that was actually running pr['ExecutablePath'] = binary if 'ExecutableTimestamp' in pr: pr['ExecutableTimestamp'] = str(int(os.stat(binary).st_mtime)) try: pr['PythonArgs'] = '%r' % sys.argv except AttributeError: pass if pr.check_ignored(): return mangled_program = re.sub('/', '_', binary) # get the uid for now, user name later user = os.getuid() pr_filename = '%s/%s.%i.crash' % (os.environ.get( 'APPORT_REPORT_DIR', '/var/crash'), mangled_program, user) crash_counter = 0 if os.path.exists(pr_filename): if apport.fileutils.seen_report(pr_filename): # flood protection with open(pr_filename, 'rb') as f: crash_counter = get_recent_crashes(f) + 1 if crash_counter > 1: return # remove the old file, so that we can create the new one with # os.O_CREAT|os.O_EXCL os.unlink(pr_filename) else: # don't clobber existing report return if crash_counter: pr['CrashCounter'] = str(crash_counter) with os.fdopen(os.open(pr_filename, os.O_WRONLY | os.O_CREAT | os.O_EXCL, 0o640), 'wb') as f: pr.write(f) finally: # resume original processing to get the default behaviour, # but do not trigger an AttributeError on interpreter shutdown. if sys: sys.__excepthook__(exc_type, exc_obj, exc_tb) def dbus_service_unknown_analysis(exc_obj, report): from glob import glob import subprocess, re try: from configparser import ConfigParser, NoSectionError, NoOptionError (ConfigParser, NoSectionError, NoOptionError) # pyflakes except ImportError: # Python 2 from ConfigParser import ConfigParser, NoSectionError, NoOptionError # determine D-BUS name m = re.search('name\s+(\S+)\s+was not provided by any .service', exc_obj.get_dbus_message()) if not m: if sys.stderr: sys.stderr.write('Error: cannot parse D-BUS name from exception: ' + exc_obj.get_dbus_message()) return dbus_name = m.group(1) # determine .service file and Exec name for the D-BUS name services = [] # tuples of (service file, exe name, running) for f in glob('/usr/share/dbus-1/*services/*.service'): cp = ConfigParser(interpolation=None) cp.read(f, encoding='UTF-8') try: if cp.get('D-BUS Service', 'Name') == dbus_name: exe = cp.get('D-BUS Service', 'Exec') running = (subprocess.call(['pidof', '-sx', exe], stdout=subprocess.PIPE) == 0) services.append((f, exe, running)) except (NoSectionError, NoOptionError): if sys.stderr: sys.stderr.write('Invalid D-BUS .service file %s: %s' % ( f, exc_obj.get_dbus_message())) continue if not services: report['DbusErrorAnalysis'] = 'no service file providing ' + dbus_name else: report['DbusErrorAnalysis'] = 'provided by' for (service, exe, running) in services: report['DbusErrorAnalysis'] += ' %s (%s is %srunning)' % ( service, exe, ('' if running else 'not ')) def install(): '''Install the python apport hook.''' sys.excepthook = apport_excepthook apport-2.20.1/backends/0000755000000000000000000000000012677230222013004 5ustar 00000000000000apport-2.20.1/bin/0000755000000000000000000000000012677230222012002 5ustar 00000000000000apport-2.20.1/data/0000755000000000000000000000000012677230222012143 5ustar 00000000000000apport-2.20.1/do-release0000755000000000000000000000155512677230222013206 0ustar 00000000000000#!/bin/sh -e # This script does all the steps necessary for doing a new upstream release. It # should solely be used by upstream developers, distributors do not need to # worry about it. [ -z "`bzr status | grep -v shelve`" ] || { echo "Uncommitted changes, aborting" >&2 exit 1 } bzr clean-tree --ignored version=$(grep '(UNRELEASED)' NEWS | cut -f1 -d' ') [ -n "$version" ] || { echo "no UNRELEASED in NEWS" >&2 exit 1 } sed -i -r "s/__version__ = '[0-9.]*'/__version__ = '${version}'/" apport/ui.py sed -i "s/(UNRELEASED)/$(date '+(%Y-%m-%d)')/" NEWS bzr commit -m "release $version" bzr tag "$version" TZ=Etc/UTC bzr log -v --log-format 'gnu' > ChangeLog # temporarily add ChangeLog for export bzr add ChangeLog bzr commit -m 'temporarily add changelog' bzr export ../apport-${version}.tar.gz bzr uncommit --force bzr revert --no-backup rm ChangeLog apport-2.20.1/doc/0000755000000000000000000000000012677230222011777 5ustar 00000000000000apport-2.20.1/etc/0000755000000000000000000000000012677230222012005 5ustar 00000000000000apport-2.20.1/gtk/0000755000000000000000000000000012677230222012017 5ustar 00000000000000apport-2.20.1/java/0000755000000000000000000000000012677230222012153 5ustar 00000000000000apport-2.20.1/kde/0000755000000000000000000000000012677230222011775 5ustar 00000000000000apport-2.20.1/man/0000755000000000000000000000000012677230222012005 5ustar 00000000000000apport-2.20.1/pm-utils/0000755000000000000000000000000012677230222013004 5ustar 00000000000000apport-2.20.1/po/0000755000000000000000000000000012677230222011650 5ustar 00000000000000apport-2.20.1/problem_report.py0000644000000000000000000006372212677230222014651 0ustar 00000000000000# vim: set encoding=UTF-8 fileencoding=UTF-8 : '''Store, load, and handle problem reports.''' # Copyright (C) 2006 - 2012 Canonical Ltd. # Author: Martin Pitt # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import zlib, base64, time, sys, gzip, struct, os from email.encoders import encode_base64 from email.mime.multipart import MIMEMultipart from email.mime.base import MIMEBase from email.mime.text import MIMEText from io import BytesIO if sys.version[0] < '3': from UserDict import IterableUserDict as UserDict UserDict # pyflakes _python2 = True else: from collections import UserDict _python2 = False class CompressedValue: '''Represent a ProblemReport value which is gzip compressed.''' def __init__(self, value=None, name=None): '''Initialize an empty CompressedValue object with an optional name.''' self.gzipvalue = None self.name = name # By default, compressed values are in gzip format. Earlier versions of # problem_report used zlib format (without gzip header). If you have # such a case, set legacy_zlib to True. self.legacy_zlib = False if value: self.set_value(value) def set_value(self, value): '''Set uncompressed value.''' out = BytesIO() gzip.GzipFile(self.name, mode='wb', fileobj=out, mtime=0).write(value) self.gzipvalue = out.getvalue() self.legacy_zlib = False def get_value(self): '''Return uncompressed value.''' if not self.gzipvalue: return None if self.legacy_zlib: return zlib.decompress(self.gzipvalue) return gzip.GzipFile(fileobj=BytesIO(self.gzipvalue)).read() def write(self, file): '''Write uncompressed value into given file-like object.''' assert self.gzipvalue if self.legacy_zlib: file.write(zlib.decompress(self.gzipvalue)) return gz = gzip.GzipFile(fileobj=BytesIO(self.gzipvalue)) while True: block = gz.read(1048576) if not block: break file.write(block) def __len__(self): '''Return length of uncompressed value.''' assert self.gzipvalue if self.legacy_zlib: return len(self.get_value()) return int(struct.unpack(' 0: value += b'\n' if line.endswith(b'\n'): value += line[1:-1] else: value += line[1:] else: if b64_block: if bd: value += bd.flush() b64_block = False bd = None if key: assert value is not None if remaining_keys is not None: try: remaining_keys.remove(key) self.data[key] = self._try_unicode(value) if not remaining_keys: key = None break except KeyError: pass else: self.data[key] = self._try_unicode(value) (key, value) = line.split(b':', 1) if not _python2: key = key.decode('ASCII') value = value.strip() if value == b'base64': if binary == 'compressed': value = CompressedValue(key.encode()) value.gzipvalue = b'' else: value = b'' b64_block = True if key is not None: self.data[key] = self._try_unicode(value) self.old_keys = set(self.data.keys()) def extract_keys(self, file, bin_keys, dir): '''Extract only one binary element from the problem_report Binary elements like kernel crash dumps can be very big. This method extracts directly files without loading the report into memory. ''' self._assert_bin_mode(file) # support singe key and collection of keys if isinstance(bin_keys, str): bin_keys = [bin_keys] key = None value = None missing_keys = list(bin_keys) b64_block = {} bd = None out = None for line in file: # Identify the bin_keys we're looking for while not line.startswith(b' '): (key, value) = line.split(b':', 1) if not _python2: key = key.decode('ASCII') if key not in missing_keys: break b64_block[key] = False missing_keys.remove(key) value = value.strip() if value == b'base64': value = b'' b64_block[key] = True try: bd = None with open(os.path.join(dir, key), 'wb') as out: for line in file: # continuation line if line.startswith(b' '): assert (key is not None and value is not None) if b64_block[key]: l = base64.b64decode(line) if bd: out.write(bd.decompress(l)) else: # lazy initialization of bd # skip gzip header, if present if l.startswith(b'\037\213\010'): bd = zlib.decompressobj(-zlib.MAX_WBITS) out.write(bd.decompress(self._strip_gzip_header(l))) else: # legacy zlib-only format used default block # size bd = zlib.decompressobj() out.write(bd.decompress(l)) else: break except IOError: raise IOError('unable to open %s' % (os.path.join(dir, key))) else: break if missing_keys: raise KeyError('Cannot find %s in report' % ', '.join(missing_keys)) if False in b64_block.values(): raise ValueError('%s has no binary content' % [item for item, element in b64_block.items() if element is False]) def has_removed_fields(self): '''Check if the report has any keys which were not loaded. This could happen when using binary=False in load(). ''' return ('' in self.values()) @classmethod def _is_binary(klass, string): '''Check if the given strings contains binary data.''' if _python2: return klass._is_binary_py2(string) if type(string) == bytes: for c in string: if c < 32 and not chr(c).isspace(): return True return False @classmethod def _is_binary_py2(klass, string): '''Check if the given strings contains binary data. (Python 2)''' if type(string) == unicode: return False for c in string: if c < ' ' and not c.isspace(): return True return False @classmethod def _try_unicode(klass, value): '''Try to convert bytearray value to unicode''' if type(value) == bytes and not klass._is_binary(value): try: return value.decode('UTF-8') except UnicodeDecodeError: return value return value def write(self, file, only_new=False): '''Write information into the given file-like object. If only_new is True, only keys which have been added since the last load() are written (i. e. those returned by new_keys()). If a value is a string, it is written directly. Otherwise it must be a tuple of the form (file, encode=True, limit=None, fail_on_empty=False). The first argument can be a file name or a file-like object, which will be read and its content will become the value of this key. 'encode' specifies whether the contents will be gzip compressed and base64-encoded (this defaults to True). If limit is set to a positive integer, the file is not attached if it's larger than the given limit, and the entire key will be removed. If fail_on_empty is True, reading zero bytes will cause an IOError. file needs to be opened in binary mode. Files are written in RFC822 format. ''' self._assert_bin_mode(file) # sort keys into ASCII non-ASCII/binary attachment ones, so that # the base64 ones appear last in the report asckeys = [] binkeys = [] for k in self.data.keys(): if only_new and k in self.old_keys: continue v = self.data[k] if hasattr(v, 'find'): if self._is_binary(v): binkeys.append(k) else: asckeys.append(k) else: if not isinstance(v, CompressedValue) and len(v) >= 2 and not v[1]: # force uncompressed asckeys.append(k) else: binkeys.append(k) asckeys.sort() if 'ProblemType' in asckeys: asckeys.remove('ProblemType') asckeys.insert(0, 'ProblemType') binkeys.sort() # write the ASCII keys first for k in asckeys: v = self.data[k] # if it's a tuple, we have a file reference; read the contents if not hasattr(v, 'find'): if len(v) >= 3 and v[2] is not None: limit = v[2] else: limit = None fail_on_empty = len(v) >= 4 and v[3] if hasattr(v[0], 'read'): v = v[0].read() # file-like object else: with open(v[0], 'rb') as f: # file name v = f.read() if fail_on_empty and len(v) == 0: raise IOError('did not get any data for field ' + k) if limit is not None and len(v) > limit: del self.data[k] continue if _python2: if isinstance(v, unicode): # unicode → str v = v.encode('UTF-8') else: if isinstance(v, str): # unicode → str v = v.encode('UTF-8') file.write(k.encode('ASCII')) if b'\n' in v: # multiline value file.write(b':\n ') file.write(v.replace(b'\n', b'\n ')) else: file.write(b': ') file.write(v) file.write(b'\n') # now write the binary keys with gzip compression and base64 encoding for k in binkeys: v = self.data[k] limit = None size = 0 curr_pos = file.tell() file.write(k.encode('ASCII')) file.write(b': base64\n ') # CompressedValue if isinstance(v, CompressedValue): file.write(base64.b64encode(v.gzipvalue)) file.write(b'\n') continue # write gzip header gzip_header = b'\037\213\010\010\000\000\000\000\002\377' + k.encode('UTF-8') + b'\000' file.write(base64.b64encode(gzip_header)) file.write(b'\n ') crc = zlib.crc32(b'') bc = zlib.compressobj(9, zlib.DEFLATED, -zlib.MAX_WBITS, zlib.DEF_MEM_LEVEL, 0) # direct value if hasattr(v, 'find'): size += len(v) crc = zlib.crc32(v, crc) outblock = bc.compress(v) if outblock: file.write(base64.b64encode(outblock)) file.write(b'\n ') # file reference else: if len(v) >= 3 and v[2] is not None: limit = v[2] if hasattr(v[0], 'read'): f = v[0] # file-like object else: f = open(v[0], 'rb') # file name while True: block = f.read(1048576) size += len(block) crc = zlib.crc32(block, crc) if limit is not None: if size > limit: # roll back file.seek(curr_pos) file.truncate(curr_pos) del self.data[k] crc = None break if block: outblock = bc.compress(block) if outblock: file.write(base64.b64encode(outblock)) file.write(b'\n ') else: break if not hasattr(v[0], 'read'): f.close() if len(v) >= 4 and v[3]: if size == 0: raise IOError('did not get any data for field %s from %s' % (k, str(v[0]))) # flush compressor and write the rest if not limit or size <= limit: block = bc.flush() # append gzip trailer: crc (32 bit) and size (32 bit) if crc: block += struct.pack('= 2 and v[1] in (True, False))) and (hasattr(v[0], 'isalnum') or hasattr(v[0], 'read')))) return self.data.__setitem__(k, v) def new_keys(self): '''Return newly added keys. Return the set of keys which have been added to the report since it was constructed or loaded. ''' return set(self.data.keys()) - self.old_keys @classmethod def _strip_gzip_header(klass, line): '''Strip gzip header from line and return the rest.''' if _python2: return klass._strip_gzip_header_py2(line) flags = line[3] offset = 10 if flags & 4: # FLG.FEXTRA offset += line[offset] + 1 if flags & 8: # FLG.FNAME while line[offset] != 0: offset += 1 offset += 1 if flags & 16: # FLG.FCOMMENT while line[offset] != 0: offset += 1 offset += 1 if flags & 2: # FLG.FHCRC offset += 2 return line[offset:] @classmethod def _strip_gzip_header_py2(klass, line): '''Strip gzip header from line and return the rest. (Python 2)''' flags = ord(line[3]) offset = 10 if flags & 4: # FLG.FEXTRA offset += line[offset] + 1 if flags & 8: # FLG.FNAME while ord(line[offset]) != 0: offset += 1 offset += 1 if flags & 16: # FLG.FCOMMENT while ord(line[offset]) != 0: offset += 1 offset += 1 if flags & 2: # FLG.FHCRC offset += 2 return line[offset:] @classmethod def _assert_bin_mode(klass, file): '''Assert that given file object is in binary mode''' if _python2: assert (type(file) == BytesIO or 'b' in file.mode), 'file stream must be in binary mode' else: assert not hasattr(file, 'encoding'), 'file stream must be in binary mode' apport-2.20.1/setup.cfg0000644000000000000000000000003312677230222013047 0ustar 00000000000000[build_i18n] domain=apport apport-2.20.1/setup.py0000755000000000000000000001214512677230222012752 0ustar 00000000000000#!/usr/bin/python3 from glob import glob import os.path, shutil, sys, subprocess from distutils.version import StrictVersion import distutils.core import distutils.command.build import distutils.command.clean try: import DistUtilsExtra.auto except ImportError: sys.stderr.write('To build Apport you need https://launchpad.net/python-distutils-extra\n') sys.exit(1) assert StrictVersion(DistUtilsExtra.auto.__version__) >= '2.24', 'needs DistUtilsExtra.auto >= 2.24' class build_java_subdir(distutils.core.Command): '''Java crash handler build command''' description = 'Compile java components of Apport' user_options = [] def initialize_options(self): pass def finalize_options(self): pass def run(self): oldwd = os.getcwd() os.chdir('java') subprocess.check_call(['javac', '-source', '1.5', '-target', '1.5'] + glob('com/ubuntu/apport/*.java')) subprocess.check_call(['jar', 'cvf', 'apport.jar'] + glob('com/ubuntu/apport/*.class')) subprocess.check_call(['javac', '-source', '1.5', '-target', '1.5', 'crash.java']) subprocess.check_call(['jar', 'cvf', 'crash.jar', 'crash.class']) os.chdir(oldwd) class clean_java_subdir(DistUtilsExtra.auto.clean_build_tree): '''Java crash handler clean command''' def run(self): DistUtilsExtra.auto.clean_build_tree.run(self) for (root, dirs, files) in os.walk('java'): for f in files: if f.endswith('.jar') or f.endswith('.class'): os.unlink(os.path.join(root, f)) class install_fix_hashbangs(DistUtilsExtra.auto.install_auto): '''Fix hashbang lines in scripts in data dir.''' def run(self): DistUtilsExtra.auto.install_auto.run(self) new_hashbang = '#!%s\n' % sys.executable.rsplit('.', 1)[0] for d in (os.path.join(self.install_data, 'share', 'apport'), os.path.join(self.install_data, 'bin')): for (path, _, files) in os.walk(d): for fname in files: f = os.path.join(path, fname) with open(f) as fd: try: lines = fd.readlines() except UnicodeDecodeError: # ignore data files like spinner.gif continue if lines[0].startswith('#!') and 'python' in lines[0]: distutils.log.info('Updating hashbang of %s', f) lines[0] = new_hashbang with open(f, 'w') as fd: for l in lines: fd.write(l) # # main # # try to auto-setup packaging_impl if len(sys.argv) >= 2 and sys.argv[1] != 'sdist' and not os.path.exists('apport/packaging_impl.py'): if os.path.exists('/etc/apt/sources.list'): print('Installing apt/dpkg packaging backend.') shutil.copy('backends/packaging-apt-dpkg.py', 'apport/packaging_impl.py') elif os.path.exists('/usr/bin/rpm'): print('Installing RPM packaging backend.') shutil.copy('backends/packaging_rpm.py', 'apport/packaging_impl.py') else: print('Could not determine system package manager. Copy appropriate backends/packaging* to apport/packaging_impl.py') sys.exit(1) optional_data_files = [] cmdclass = {'install': install_fix_hashbangs} # if we have Java available, build the Java crash handler try: subprocess.check_call(['javac', '-version'], stderr=subprocess.PIPE) distutils.command.build.build.sub_commands.append(('build_java_subdir', None)) optional_data_files.append(('share/java', ['java/apport.jar'])) cmdclass['build_java_subdir'] = build_java_subdir cmdclass['clean'] = clean_java_subdir print('Java support: Enabled') except (OSError, subprocess.CalledProcessError): print('Java support: Java not available, not building Java crash handler') from apport.ui import __version__ # determine systemd unit directory try: systemd_unit_dir = subprocess.check_output( ['pkg-config', '--variable=systemdsystemunitdir', 'systemd'], universal_newlines=True).strip() except subprocess.CalledProcessError: # hardcoded fallback path systemd_unit_dir = '/lib/systemd/system' DistUtilsExtra.auto.setup( name='apport', author='Martin Pitt', author_email='martin.pitt@ubuntu.com', url='https://launchpad.net/apport', license='gpl', description='intercept, process, and report crashes and bug reports', version=__version__, data_files=[('share/mime/packages', glob('xdg-mime/*')), # these are not supposed to be called directly, use apport-bug instead ('share/apport', ['gtk/apport-gtk', 'kde/apport-kde']), ('share/doc/apport/', glob('doc/*.txt')), ('lib/pm-utils/sleep.d/', glob('pm-utils/sleep.d/*')), ('/lib/udev/rules.d', glob('udev/*.rules')), (systemd_unit_dir, glob('data/systemd/*')), ] + optional_data_files, cmdclass=cmdclass ) apport-2.20.1/test/0000755000000000000000000000000012677230222012211 5ustar 00000000000000apport-2.20.1/udev/0000755000000000000000000000000012677230222012175 5ustar 00000000000000apport-2.20.1/use-local0000755000000000000000000000055512677230222013051 0ustar 00000000000000#!/bin/sh -e # This changes the kernel's core_pattern pipeline to use the local tree's # apport program instead of the system version. This is useful if you are # making changes to bin/apport and want to test them without copying them to # /usr/share/apport/ every time. echo "|$(readlink -f $(dirname $0)/data/apport) %p %s %c %P" > /proc/sys/kernel/core_pattern apport-2.20.1/xdg-mime/0000755000000000000000000000000012677230222012741 5ustar 00000000000000apport-2.20.1/apport/REThread.py0000644000000000000000000000436312677230222014555 0ustar 00000000000000'''Enhanced Thread with support for return values and exception propagation.''' # Copyright (C) 2007 Canonical Ltd. # Author: Martin Pitt # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import threading, sys class REThread(threading.Thread): '''Thread with return values and exception propagation.''' def __init__(self, group=None, target=None, name=None, args=(), kwargs={}): '''Initialize Thread, identical to threading.Thread.__init__().''' threading.Thread.__init__(self, group, target, name, args, kwargs) self.__target = target self.__args = args self.__kwargs = kwargs self._retval = None self._exception = None def run(self): '''Run target function, identical to threading.Thread.run().''' if self.__target: try: self._retval = self.__target(*self.__args, **self.__kwargs) except: if sys: self._exception = sys.exc_info() def return_value(self): '''Return value from target function. This can only be called after the thread has finished, i. e. when isAlive() is False and did not terminate with an exception. ''' assert not self.isAlive() assert not self._exception return self._retval def exc_info(self): '''Return (type, value, traceback) of the exception caught in run().''' return self._exception def exc_raise(self): '''Raise the exception caught in the thread. Do nothing if no exception was caught. ''' if self._exception: # there is no syntax which both Python 2 and 3 parse, so we need a # hack using exec() here # Python 3: if sys.version > '3': raise self._exception[1].with_traceback(self._exception[2]) else: exec('raise self._exception[0], self._exception[1], self._exception[2]') apport-2.20.1/apport/__init__.py0000644000000000000000000000321412677230222014650 0ustar 00000000000000import sys import os import time from apport.report import Report from apport.packaging_impl import impl as packaging Report # pyflakes packaging # pyflakes # fix gettext to output proper unicode strings import gettext def unicode_gettext(str): trans = gettext.gettext(str) if isinstance(trans, bytes): return trans.decode('UTF-8') else: return trans def log(message, timestamp=False): '''Log the given string to stdout. Prepend timestamp if requested''' if timestamp: sys.stdout.write('%s: ' % time.strftime('%x %X')) print(message) def fatal(msg, *args): '''Print out an error message and exit the program.''' error(msg, *args) sys.exit(1) def error(msg, *args): '''Print out an error message.''' if sys.stderr: sys.stderr.write('ERROR: ') sys.stderr.write(msg % args) sys.stderr.write('\n') def warning(msg, *args): '''Print out an warning message.''' if sys.stderr: sys.stderr.write('WARNING: ') sys.stderr.write(msg % args) sys.stderr.write('\n') def memdbg(checkpoint): '''Print current memory usage. This is only done if $APPORT_MEMDEBUG is set. ''' if 'APPORT_MEMDEBUG' not in os.environ or not sys.stderr: return memstat = {} with open('/proc/self/status') as f: for l in f: if l.startswith('Vm'): (field, size, unit) = l.split() memstat[field[:-1]] = int(size) / 1024. sys.stderr.write('Size: %.1f MB, RSS: %.1f MB, Stk: %.1f MB @ %s\n' % (memstat['VmSize'], memstat['VmRSS'], memstat['VmStk'], checkpoint)) apport-2.20.1/apport/com.ubuntu.apport.policy.in0000644000000000000000000000271612677230222017776 0ustar 00000000000000 Apport https://wiki.ubuntu.com/Apport apport <_description>Collect system information <_message>Authentication is required to collect system information for this problem report /usr/share/apport/root_info_wrapper auth_admin auth_admin auth_admin <_description>System problem reports <_message>Please enter your password to access problem reports of system programs /usr/share/apport/apport-gtk true auth_admin auth_admin auth_admin apport-2.20.1/apport/crashdb.py0000644000000000000000000010107112677230222014517 0ustar 00000000000000'''Abstract crash database interface.''' # Copyright (C) 2007 - 2009 Canonical Ltd. # Author: Martin Pitt # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import os, os.path, sys, shutil try: from exceptions import Exception from urllib import quote_plus, urlopen URLError = IOError (quote_plus, urlopen) # pyflakes except ImportError: # python 3 from functools import cmp_to_key from urllib.parse import quote_plus from urllib.request import urlopen from urllib.error import URLError import apport def _u(str): '''Convert str to an unicode if it isn't already.''' if isinstance(str, bytes): return str.decode('UTF-8', 'ignore') return str class CrashDatabase: def __init__(self, auth_file, options): '''Initialize crash database connection. You need to specify an implementation specific file with the authentication credentials for retracing access for download() and update(). For upload() and get_comment_url() you can use None. options is a dictionary with additional settings from crashdb.conf; see get_crashdb() for details. ''' self.auth_file = auth_file self.options = options self.duplicate_db = None def get_bugpattern_baseurl(self): '''Return the base URL for bug patterns. See apport.report.Report.search_bug_patterns() for details. If this function returns None, bug patterns are disabled. ''' return self.options.get('bug_pattern_url') def accepts(self, report): '''Check if this report can be uploaded to this database. Crash databases might limit the types of reports they get with e. g. the "problem_types" option. ''' if 'problem_types' in self.options: return report.get('ProblemType') in self.options['problem_types'] return True # # API for duplicate detection # # Tests are in apport/crashdb_impl/memory.py. def init_duplicate_db(self, path): '''Initialize duplicate database. path specifies an SQLite database. It will be created if it does not exist yet. ''' import sqlite3 as dbapi2 assert dbapi2.paramstyle == 'qmark', \ 'this module assumes qmark dbapi parameter style' self.format_version = 3 init = not os.path.exists(path) or path == ':memory:' or \ os.path.getsize(path) == 0 self.duplicate_db = dbapi2.connect(path, timeout=7200) if init: cur = self.duplicate_db.cursor() cur.execute('CREATE TABLE version (format INTEGER NOT NULL)') cur.execute('INSERT INTO version VALUES (?)', [self.format_version]) cur.execute('''CREATE TABLE crashes ( signature VARCHAR(255) NOT NULL, crash_id INTEGER NOT NULL, fixed_version VARCHAR(50), last_change TIMESTAMP, CONSTRAINT crashes_pk PRIMARY KEY (crash_id))''') cur.execute('''CREATE TABLE address_signatures ( signature VARCHAR(1000) NOT NULL, crash_id INTEGER NOT NULL, CONSTRAINT address_signatures_pk PRIMARY KEY (signature))''') self.duplicate_db.commit() # verify integrity cur = self.duplicate_db.cursor() cur.execute('PRAGMA integrity_check') result = cur.fetchall() if result != [('ok',)]: raise SystemError('Corrupt duplicate db:' + str(result)) try: cur.execute('SELECT format FROM version') result = cur.fetchone() except self.duplicate_db.OperationalError as e: if 'no such table' in str(e): # first db format did not have version table yet result = [0] if result[0] > self.format_version: raise SystemError('duplicate DB has unknown format %i' % result[0]) if result[0] < self.format_version: print('duplicate db has format %i, upgrading to %i' % (result[0], self.format_version)) self._duplicate_db_upgrade(result[0]) def check_duplicate(self, id, report=None): '''Check whether a crash is already known. If the crash is new, it will be added to the duplicate database and the function returns None. If the crash is already known, the function returns a pair (crash_id, fixed_version), where fixed_version might be None if the crash is not fixed in the latest version yet. Depending on whether the version in report is smaller than/equal to the fixed version or larger, this calls close_duplicate() or mark_regression(). If the report does not have a valid crash signature, this function does nothing and just returns None. By default, the report gets download()ed, but for performance reasons it can be explicitly passed to this function if it is already available. ''' assert self.duplicate_db, 'init_duplicate_db() needs to be called before' if not report: report = self.download(id) self._mark_dup_checked(id, report) if 'DuplicateSignature' in report: sig = report['DuplicateSignature'] else: sig = report.crash_signature() existing = [] if sig: # use real duplicate signature existing = self._duplicate_search_signature(sig, id) if existing: # update status of existing master bugs for (ex_id, _) in existing: self._duplicate_db_sync_status(ex_id) existing = self._duplicate_search_signature(sig, id) try: report_package_version = report['Package'].split()[1] except (KeyError, IndexError): report_package_version = None # check the existing IDs whether there is one that is unfixed or not # older than the report's package version; if so, we have a duplicate. master_id = None master_ver = None for (ex_id, ex_ver) in existing: if not ex_ver or not report_package_version or apport.packaging.compare_versions(report_package_version, ex_ver) < 0: master_id = ex_id master_ver = ex_ver break else: # if we did not find a new enough open master report, # we have a regression of the latest fix. Mark it so, and create a # new unfixed ID for it later on if existing: self.mark_regression(id, existing[-1][0]) # now query address signatures, they might turn up another duplicate # (not necessarily the same, due to Stacktraces sometimes being # slightly different) addr_sig = report.crash_signature_addresses() if addr_sig: addr_match = self._duplicate_search_address_signature(addr_sig) if addr_match and addr_match != master_id: if master_id is None: # we have a duplicate only identified by address sig, close it master_id = addr_match else: # our bug is a dupe of two different masters, one from # symbolic, the other from addr matching (see LP#943117); # make them all duplicates of each other, using the lower # number as master if master_id < addr_match: self.close_duplicate(report, addr_match, master_id) self._duplicate_db_merge_id(addr_match, master_id) else: self.close_duplicate(report, master_id, addr_match) self._duplicate_db_merge_id(master_id, addr_match) master_id = addr_match master_ver = None # no version tracking for address signatures yet if master_id is not None and master_id != id: if addr_sig: self._duplicate_db_add_address_signature(addr_sig, master_id) self.close_duplicate(report, id, master_id) return (master_id, master_ver) # no duplicate detected; create a new record for the ID if we don't have one already if sig: cur = self.duplicate_db.cursor() cur.execute('SELECT count(*) FROM crashes WHERE crash_id == ?', [id]) count_id = cur.fetchone()[0] if count_id == 0: cur.execute('INSERT INTO crashes VALUES (?, ?, ?, CURRENT_TIMESTAMP)', (_u(sig), id, None)) self.duplicate_db.commit() if addr_sig: self._duplicate_db_add_address_signature(addr_sig, id) return None def known(self, report): '''Check if the crash db already knows about the crash signature. Check if the report has a DuplicateSignature, crash_signature(), or StacktraceAddressSignature, and ask the database whether the problem is already known. If so, return an URL where the user can check the status or subscribe (if available), or just return True if the report is known but there is no public URL. In that case the report will not be uploaded (i. e. upload() will not be called). Return None if the report does not have any signature or the crash database does not support checking for duplicates on the client side. The default implementation uses a text file format generated by duplicate_db_publish() at an URL specified by the "dupdb_url" option. Subclasses are free to override this with a custom implementation, such as a real database lookup. ''' if not self.options.get('dupdb_url'): return None for kind in ('sig', 'address'): # get signature if kind == 'sig': if 'DuplicateSignature' in report: sig = report['DuplicateSignature'] else: sig = report.crash_signature() else: sig = report.crash_signature_addresses() if not sig: continue # build URL where the data should be h = self.duplicate_sig_hash(sig) if not h: return None # the hash is already quoted, but we really want to open the quoted # file names; as urlopen() unquotes, we need to double-quote here # again so that urlopen() sees the single-quoted file names url = os.path.join(self.options['dupdb_url'], kind, quote_plus(h)) # read data file try: f = urlopen(url) contents = f.read().decode('UTF-8') f.close() if '404 Not Found' in contents: continue except (IOError, URLError): # does not exist, failed to load, etc. continue # now check if we find our signature for line in contents.splitlines(): try: id, s = line.split(None, 1) id = int(id) except ValueError: continue if s == sig: result = self.get_id_url(report, id) if not result: # if we can't have an URL, just report as "known" result = '1' return result return None def duplicate_db_fixed(self, id, version): '''Mark given crash ID as fixed in the duplicate database. version specifies the package version the crash was fixed in (None for 'still unfixed'). ''' assert self.duplicate_db, 'init_duplicate_db() needs to be called before' cur = self.duplicate_db.cursor() n = cur.execute('UPDATE crashes SET fixed_version = ?, last_change = CURRENT_TIMESTAMP WHERE crash_id = ?', (version, id)) assert n.rowcount == 1 self.duplicate_db.commit() def duplicate_db_remove(self, id): '''Remove crash from the duplicate database. This happens when a report got rejected or manually duplicated. ''' assert self.duplicate_db, 'init_duplicate_db() needs to be called before' cur = self.duplicate_db.cursor() cur.execute('DELETE FROM crashes WHERE crash_id = ?', [id]) cur.execute('DELETE FROM address_signatures WHERE crash_id = ?', [id]) self.duplicate_db.commit() def duplicate_db_change_master_id(self, old_id, new_id): '''Change a crash ID.''' assert self.duplicate_db, 'init_duplicate_db() needs to be called before' cur = self.duplicate_db.cursor() cur.execute('UPDATE crashes SET crash_id = ?, last_change = CURRENT_TIMESTAMP WHERE crash_id = ?', [new_id, old_id]) cur.execute('UPDATE address_signatures SET crash_id = ? WHERE crash_id = ?', [new_id, old_id]) self.duplicate_db.commit() def duplicate_db_publish(self, dir): '''Create text files suitable for www publishing. Create a number of text files in the given directory which Apport clients can use to determine whether a problem is already reported to the database, through the known() method. This directory is suitable for publishing to the web. The database is indexed by the first two fields of the duplicate or crash signature, to avoid having to download the entire database every time. If the directory already exists, it will be updated. The new content is built in a new directory which is the given one with ".new" appended, then moved to the given name in an almost atomic way. ''' assert self.duplicate_db, 'init_duplicate_db() needs to be called before' # first create the temporary new dir; if that fails, nothing has been # changed and we fail early out = dir + '.new' os.mkdir(out) # crash addresses addr_base = os.path.join(out, 'address') os.mkdir(addr_base) cur_hash = None cur_file = None cur = self.duplicate_db.cursor() cur.execute('SELECT * from address_signatures ORDER BY signature') for (sig, id) in cur.fetchall(): h = self.duplicate_sig_hash(sig) if h is None: # some entries can't be represented in a single line continue if h != cur_hash: cur_hash = h if cur_file: cur_file.close() cur_file = open(os.path.join(addr_base, cur_hash), 'w') cur_file.write('%i %s\n' % (id, sig)) if cur_file: cur_file.close() # duplicate signatures sig_base = os.path.join(out, 'sig') os.mkdir(sig_base) cur_hash = None cur_file = None cur.execute('SELECT signature, crash_id from crashes ORDER BY signature') for (sig, id) in cur.fetchall(): h = self.duplicate_sig_hash(sig) if h is None: # some entries can't be represented in a single line continue if h != cur_hash: cur_hash = h if cur_file: cur_file.close() cur_file = open(os.path.join(sig_base, cur_hash), 'wb') cur_file.write(('%i %s\n' % (id, sig)).encode('UTF-8')) if cur_file: cur_file.close() # switch over tree; this is as atomic as we can be with directories if os.path.exists(dir): os.rename(dir, dir + '.old') os.rename(out, dir) if os.path.exists(dir + '.old'): shutil.rmtree(dir + '.old') def _duplicate_db_upgrade(self, cur_format): '''Upgrade database to current format''' # Format 3 added a primary key which can't be done as an upgrade in # SQLite if cur_format < 3: raise SystemError('Cannot upgrade database from format earlier than 3') cur = self.duplicate_db.cursor() cur.execute('UPDATE version SET format = ?', (cur_format,)) self.duplicate_db.commit() assert cur_format == self.format_version def _duplicate_search_signature(self, sig, id): '''Look up signature in the duplicate db. Return [(id, fixed_version)] tuple list. There might be several matches if a crash has been reintroduced in a later version. The results are sorted so that the highest fixed version comes first, and "unfixed" being the last result. id is the bug we are looking to find a duplicate for. The result will never contain id, to avoid marking a bug as a duplicate of itself if a bug is reprocessed more than once. ''' cur = self.duplicate_db.cursor() cur.execute('SELECT crash_id, fixed_version FROM crashes WHERE signature = ? AND crash_id <> ?', [_u(sig), id]) existing = cur.fetchall() def cmp(x, y): x = x[1] y = y[1] if x == y: return 0 if x == '': if y is None: return -1 else: return 1 if y == '': if x is None: return 1 else: return -1 if x is None: return 1 if y is None: return -1 return apport.packaging.compare_versions(x, y) if sys.version[0] >= '3': existing.sort(key=cmp_to_key(cmp)) else: existing.sort(cmp=cmp) return existing def _duplicate_search_address_signature(self, sig): '''Return ID for crash address signature. Return None if signature is unknown. ''' if not sig: return None cur = self.duplicate_db.cursor() cur.execute('SELECT crash_id FROM address_signatures WHERE signature == ?', [sig]) existing_ids = cur.fetchall() assert len(existing_ids) <= 1 if existing_ids: return existing_ids[0][0] else: return None def _duplicate_db_dump(self, with_timestamps=False): '''Return the entire duplicate database as a dictionary. The returned dictionary maps "signature" to (crash_id, fixed_version) pairs. If with_timestamps is True, then the map will contain triples (crash_id, fixed_version, last_change) instead. This is mainly useful for debugging and test suites. ''' assert self.duplicate_db, 'init_duplicate_db() needs to be called before' dump = {} cur = self.duplicate_db.cursor() cur.execute('SELECT * FROM crashes') for (sig, id, ver, last_change) in cur: if with_timestamps: dump[sig] = (id, ver, last_change) else: dump[sig] = (id, ver) return dump def _duplicate_db_sync_status(self, id): '''Update the duplicate db to the reality of the report in the crash db. This uses get_fixed_version() to get the status of the given crash. An invalid ID gets removed from the duplicate db, and a crash which got fixed is marked as such in the database. ''' assert self.duplicate_db, 'init_duplicate_db() needs to be called before' cur = self.duplicate_db.cursor() cur.execute('SELECT fixed_version FROM crashes WHERE crash_id = ?', [id]) db_fixed_version = cur.fetchone() if not db_fixed_version: return db_fixed_version = db_fixed_version[0] real_fixed_version = self.get_fixed_version(id) # crash got rejected if real_fixed_version == 'invalid': print('DEBUG: bug %i was invalidated, removing from database' % id) self.duplicate_db_remove(id) return # crash got fixed if not db_fixed_version and real_fixed_version: print('DEBUG: bug %i got fixed in version %s, updating database' % (id, real_fixed_version)) self.duplicate_db_fixed(id, real_fixed_version) return # crash got reopened if db_fixed_version and not real_fixed_version: print('DEBUG: bug %i got reopened, dropping fixed version %s from database' % (id, db_fixed_version)) self.duplicate_db_fixed(id, real_fixed_version) return def _duplicate_db_add_address_signature(self, sig, id): # sanity check existing = self._duplicate_search_address_signature(sig) if existing: if existing != id: raise SystemError('ID %i has signature %s, but database already has that signature for ID %i' % ( id, sig, existing)) else: cur = self.duplicate_db.cursor() cur.execute('INSERT INTO address_signatures VALUES (?, ?)', (_u(sig), id)) self.duplicate_db.commit() def _duplicate_db_merge_id(self, dup, master): '''Merge two crash IDs. This is necessary when having to mark a bug as a duplicate if it already is in the duplicate DB. ''' assert self.duplicate_db, 'init_duplicate_db() needs to be called before' cur = self.duplicate_db.cursor() cur.execute('DELETE FROM crashes WHERE crash_id = ?', [dup]) cur.execute('UPDATE address_signatures SET crash_id = ? WHERE crash_id = ?', [master, dup]) self.duplicate_db.commit() @classmethod def duplicate_sig_hash(klass, sig): '''Create a www/URL proof hash for a duplicate signature''' # cannot hash multi-line custom duplicate signatures if '\n' in sig: return None # custom DuplicateSignatures have a free format, split off first word i = sig.split(' ', 1)[0] # standard crash/address signatures use ':' as field separator, usually # for ExecutableName:Signal i = '_'.join(i.split(':', 2)[:2]) # we manually quote '/' to make them nicer to read i = i.replace('/', '_') i = quote_plus(i.encode('UTF-8')) # avoid too long file names i = i[:200] return i # # Abstract functions that need to be implemented by subclasses # def upload(self, report, progress_callback=None): '''Upload given problem report return a handle for it. This should happen noninteractively. If the implementation supports it, and a function progress_callback is passed, that is called repeatedly with two arguments: the number of bytes already sent, and the total number of bytes to send. This can be used to provide a proper upload progress indication on frontends. Implementations ought to "assert self.accepts(report)". The UI logic already prevents uploading a report to a database which does not accept it, but for third-party users of the API this should still be checked. This method can raise a NeedsCredentials exception in case of failure. ''' raise NotImplementedError('this method must be implemented by a concrete subclass') def get_comment_url(self, report, handle): '''Return an URL that should be opened after report has been uploaded and upload() returned handle. Should return None if no URL should be opened (anonymous filing without user comments); in that case this function should do whichever interactive steps it wants to perform. ''' raise NotImplementedError('this method must be implemented by a concrete subclass') def get_id_url(self, report, id): '''Return URL for a given report ID. The report is passed in case building the URL needs additional information from it, such as the SourcePackage name. Return None if URL is not available or cannot be determined. ''' raise NotImplementedError('this method must be implemented by a concrete subclass') def download(self, id): '''Download the problem report from given ID and return a Report.''' raise NotImplementedError('this method must be implemented by a concrete subclass') def update(self, id, report, comment, change_description=False, attachment_comment=None, key_filter=None): '''Update the given report ID with all data from report. This creates a text comment with the "short" data (see ProblemReport.write_mime()), and creates attachments for all the bulk/binary data. If change_description is True, and the crash db implementation supports it, the short data will be put into the description instead (like in a new bug). comment will be added to the "short" data. If attachment_comment is given, it will be added to the attachment uploads. If key_filter is a list or set, then only those keys will be added. ''' raise NotImplementedError('this method must be implemented by a concrete subclass') def update_traces(self, id, report, comment=''): '''Update the given report ID for retracing results. This updates Stacktrace, ThreadStacktrace, StacktraceTop, and StacktraceSource. You can also supply an additional comment. ''' self.update(id, report, comment, key_filter=[ 'Stacktrace', 'ThreadStacktrace', 'StacktraceSource', 'StacktraceTop']) def set_credentials(self, username, password): '''Set username and password.''' raise NotImplementedError('this method must be implemented by a concrete subclass') def get_distro_release(self, id): '''Get 'DistroRelease: <release>' from the report ID.''' raise NotImplementedError('this method must be implemented by a concrete subclass') def get_unretraced(self): '''Return set of crash IDs which have not been retraced yet. This should only include crashes which match the current host architecture. ''' raise NotImplementedError('this method must be implemented by a concrete subclass') def get_dup_unchecked(self): '''Return set of crash IDs which need duplicate checking. This is mainly useful for crashes of scripting languages such as Python, since they do not need to be retraced. It should not return bugs that are covered by get_unretraced(). ''' raise NotImplementedError('this method must be implemented by a concrete subclass') def get_unfixed(self): '''Return an ID set of all crashes which are not yet fixed. The list must not contain bugs which were rejected or duplicate. This function should make sure that the returned list is correct. If there are any errors with connecting to the crash database, it should raise an exception (preferably IOError). ''' raise NotImplementedError('this method must be implemented by a concrete subclass') def get_fixed_version(self, id): '''Return the package version that fixes a given crash. Return None if the crash is not yet fixed, or an empty string if the crash is fixed, but it cannot be determined by which version. Return 'invalid' if the crash report got invalidated, such as closed a duplicate or rejected. This function should make sure that the returned result is correct. If there are any errors with connecting to the crash database, it should raise an exception (preferably IOError). ''' raise NotImplementedError('this method must be implemented by a concrete subclass') def get_affected_packages(self, id): '''Return list of affected source packages for given ID.''' raise NotImplementedError('this method must be implemented by a concrete subclass') def is_reporter(self, id): '''Check whether the user is the reporter of given ID.''' raise NotImplementedError('this method must be implemented by a concrete subclass') def can_update(self, id): '''Check whether the user is eligible to update a report. A user should add additional information to an existing ID if (s)he is the reporter or subscribed, the bug is open, not a duplicate, etc. The exact policy and checks should be done according to the particular implementation. ''' raise NotImplementedError('this method must be implemented by a concrete subclass') def duplicate_of(self, id): '''Return master ID for a duplicate bug. If the bug is not a duplicate, return None. ''' raise NotImplementedError('this method must be implemented by a concrete subclass') def close_duplicate(self, report, id, master): '''Mark a crash id as duplicate of given master ID. If master is None, id gets un-duplicated. ''' raise NotImplementedError('this method must be implemented by a concrete subclass') def mark_regression(self, id, master): '''Mark a crash id as reintroducing an earlier crash which is already marked as fixed (having ID 'master').''' raise NotImplementedError('this method must be implemented by a concrete subclass') def mark_retraced(self, id): '''Mark crash id as retraced.''' raise NotImplementedError('this method must be implemented by a concrete subclass') def mark_retrace_failed(self, id, invalid_msg=None): '''Mark crash id as 'failed to retrace'. If invalid_msg is given, the bug should be closed as invalid with given message, otherwise just marked as a failed retrace. This can be a no-op if you are not interested in this. ''' raise NotImplementedError('this method must be implemented by a concrete subclass') def _mark_dup_checked(self, id, report): '''Mark crash id as checked for being a duplicate This is an internal method that should not be called from outside. ''' raise NotImplementedError('this method must be implemented by a concrete subclass') # # factory # def get_crashdb(auth_file, name=None, conf=None): '''Return a CrashDatabase object for the given crash db name. This reads the configuration file 'conf'. If name is None, it defaults to the 'default' value in conf. If conf is None, it defaults to the environment variable APPORT_CRASHDB_CONF; if that does not exist, the hardcoded default is /etc/apport/crashdb.conf. This Python syntax file needs to specify: - A string variable 'default', giving a default value for 'name' if that is None. - A dictionary 'databases' which maps names to crash db configuration dictionaries. These need to have at least the key 'impl' (Python module in apport.crashdb_impl which contains a concrete 'CrashDatabase' class implementation for that crash db type). Other generally known options are 'bug_pattern_url', 'dupdb_url', and 'problem_types'. ''' if not conf: conf = os.environ.get('APPORT_CRASHDB_CONF', '/etc/apport/crashdb.conf') settings = {} with open(conf) as f: exec(compile(f.read(), conf, 'exec'), settings) # Load third parties crashdb.conf confdDir = conf + '.d' if os.path.isdir(confdDir): for cf in os.listdir(confdDir): cfpath = os.path.join(confdDir, cf) if os.path.isfile(cfpath) and cf.endswith('.conf'): try: with open(cfpath) as f: exec(compile(f.read(), cfpath, 'exec'), settings['databases']) except Exception as e: # ignore broken files sys.stderr.write('Invalid file %s: %s\n' % (cfpath, str(e))) pass if not name: name = settings['default'] return load_crashdb(auth_file, settings['databases'][name]) def load_crashdb(auth_file, spec): '''Return a CrashDatabase object for a given DB specification. spec is a crash db configuration dictionary as described in get_crashdb(). ''' m = __import__('apport.crashdb_impl.' + spec['impl'], globals(), locals(), ['CrashDatabase']) return m.CrashDatabase(auth_file, spec) class NeedsCredentials(Exception): '''This may be raised when unable to log in to the crashdb.''' pass �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/apport/crashdb_impl/������������������������������������������������������������������0000755�0000000�0000000�00000000000�12677230222�015166� 5����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/apport/fileutils.py�������������������������������������������������������������������0000644�0000000�0000000�00000027516�12677230222�015124� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'''Functions to manage apport problem report files.''' # Copyright (C) 2006 - 2009 Canonical Ltd. # Author: Martin Pitt <martin.pitt@ubuntu.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import os, glob, subprocess, os.path, time, pwd, sys try: from configparser import ConfigParser, NoOptionError, NoSectionError (ConfigParser, NoOptionError, NoSectionError) # pyflakes except ImportError: # Python 2 from ConfigParser import ConfigParser, NoOptionError, NoSectionError from problem_report import ProblemReport from apport.packaging_impl import impl as packaging report_dir = os.environ.get('APPORT_REPORT_DIR', '/var/crash') _config_file = '~/.config/apport/settings' _whoopsie_config_file = '/etc/default/whoopsie' def allowed_to_report(): '''Check whether crash reporting is enabled.''' return get_config('General', 'report_crashes', default=True, path=_whoopsie_config_file, bool=True) def find_package_desktopfile(package): '''Return a package's .desktop file. If given package is installed and has a single .desktop file, return the path to it, otherwise return None. ''' if package is None: return None desktopfile = None for line in packaging.get_files(package): if line.endswith('.desktop'): # restrict to autostart and applications, see LP#1147528 if not line.startswith('/etc/xdg/autostart') and not line.startswith('/usr/share/applications/'): continue if desktopfile: return None # more than one else: # only consider visible ones with open(line, 'rb') as f: if b'NoDisplay=true' not in f.read(): desktopfile = line return desktopfile def likely_packaged(file): '''Check whether the given file is likely to belong to a package. This is semi-decidable: A return value of False is definitive, a True value is only a guess which needs to be checked with find_file_package(). However, this function is very fast and does not access the package database. ''' pkg_whitelist = ['/bin/', '/boot', '/etc/', '/initrd', '/lib', '/sbin/', '/opt', '/usr/', '/var'] # packages only ship executables in these directories whitelist_match = False for i in pkg_whitelist: if file.startswith(i): whitelist_match = True break return whitelist_match and not file.startswith('/usr/local/') and not \ file.startswith('/var/lib/') def find_file_package(file): '''Return the package that ships the given file. Return None if no package ships it. ''' # resolve symlinks in directories (dir, name) = os.path.split(file) resolved_dir = os.path.realpath(dir) if os.path.isdir(resolved_dir): file = os.path.join(resolved_dir, name) if not likely_packaged(file): return None return packaging.get_file_package(file) def seen_report(report): '''Check whether the report file has already been processed earlier.''' st = os.stat(report) return (st.st_atime > st.st_mtime) or (st.st_size == 0) def mark_report_upload(report): upload = '%s.upload' % report.rsplit('.', 1)[0] uploaded = '%s.uploaded' % report.rsplit('.', 1)[0] # if uploaded exists and is older than the report remove it and upload if os.path.exists(uploaded) and os.path.exists(upload): report_st = os.stat(report) upload_st = os.stat(upload) if upload_st.st_mtime < report_st.st_mtime: os.unlink(upload) with open(upload, 'a'): pass def mark_hanging_process(report, pid): if 'ExecutablePath' in report: subject = report['ExecutablePath'].replace('/', '_') else: raise ValueError('report does not have the ExecutablePath attribute') uid = os.getuid() base = '%s.%s.%s.hanging' % (subject, str(uid), pid) path = os.path.join(report_dir, base) with open(path, 'a'): pass def mark_report_seen(report): '''Mark given report file as seen.''' st = os.stat(report) try: os.utime(report, (st.st_mtime, st.st_mtime - 1)) except OSError: # file is probably not our's, so do it the slow and boring way # change the file's access time until it stat's different than the mtime. # This might take a while if we only have 1-second resolution. Time out # after 1.2 seconds. timeout = 12 while timeout > 0: f = open(report) f.read(1) f.close() try: st = os.stat(report) except OSError: return if st.st_atime > st.st_mtime: break time.sleep(0.1) timeout -= 1 if timeout == 0: # happens on noatime mounted partitions; just give up and delete delete_report(report) def get_all_reports(): '''Return a list with all report files accessible to the calling user.''' reports = [] for r in glob.glob(os.path.join(report_dir, '*.crash')): try: if os.path.getsize(r) > 0 and os.access(r, os.R_OK | os.W_OK): reports.append(r) except OSError: # race condition, can happen if report disappears between glob and # stat pass return reports def get_new_reports(): '''Get new reports for calling user. Return a list with all report files which have not yet been processed and are accessible to the calling user. ''' reports = [] for r in get_all_reports(): try: if not seen_report(r): reports.append(r) except OSError: # race condition, can happen if report disappears between glob and # stat pass return reports def get_all_system_reports(): '''Get all system reports. Return a list with all report files which belong to a system user (i. e. uid < 500 according to LSB). ''' reports = [] for r in glob.glob(os.path.join(report_dir, '*.crash')): try: st = os.stat(r) if st.st_size > 0 and st.st_uid < 500: # filter out guest session crashes; they might have a system UID try: pw = pwd.getpwuid(st.st_uid) if pw.pw_name.startswith('guest'): continue except KeyError: pass reports.append(r) except OSError: # race condition, can happen if report disappears between glob and # stat pass return reports def get_new_system_reports(): '''Get new system reports. Return a list with all report files which have not yet been processed and belong to a system user (i. e. uid < 500 according to LSB). ''' return [r for r in get_all_system_reports() if not seen_report(r)] def delete_report(report): '''Delete the given report file. If unlinking the file fails due to a permission error (if report_dir is not writable to normal users), the file will be truncated to 0 bytes instead. ''' try: os.unlink(report) except OSError: with open(report, 'w') as f: f.truncate(0) def get_recent_crashes(report): '''Return the number of recent crashes for the given report file. Return the number of recent crashes (currently, crashes which happened more than 24 hours ago are discarded). ''' pr = ProblemReport() pr.load(report, False, key_filter=['CrashCounter', 'Date']) try: count = int(pr['CrashCounter']) report_time = time.mktime(time.strptime(pr['Date'])) cur_time = time.mktime(time.localtime()) # discard reports which are older than 24 hours if cur_time - report_time > 24 * 3600: return 0 return count except (ValueError, KeyError): return 0 def make_report_file(report, uid=None): '''Construct a canonical pathname for a report and open it for writing If uid is not given, it defaults to the uid of the current process. The report file must not exist already, to prevent losing previous reports or symlink attacks. Return an open file object for binary writing. ''' if 'ExecutablePath' in report: subject = report['ExecutablePath'].replace('/', '_') elif 'Package' in report: subject = report['Package'].split(None, 1)[0] else: raise ValueError('report has neither ExecutablePath nor Package attribute') if not uid: uid = os.getuid() path = os.path.join(report_dir, '%s.%s.crash' % (subject, str(uid))) if sys.version >= '3': return open(path, 'xb') else: return os.fdopen(os.open(path, os.O_WRONLY | os.O_CREAT | os.O_EXCL, 0o640), 'wb') def check_files_md5(sumfile): '''Check file integrity against md5 sum file. sumfile must be md5sum(1) format (relative to /). Return a list of files that don't match. ''' assert os.path.exists(sumfile) m = subprocess.Popen(['/usr/bin/md5sum', '-c', sumfile], stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd='/', env={}) out = m.communicate()[0].decode() # if md5sum succeeded, don't bother parsing the output if m.returncode == 0: return [] mismatches = [] for l in out.splitlines(): if l.endswith('FAILED'): mismatches.append(l.rsplit(':', 1)[0]) return mismatches def get_config(section, setting, default=None, path=None, bool=False): '''Return a setting from user configuration. This is read from ~/.config/apport/settings or path. If bool is True, the value is interpreted as a boolean. ''' if not get_config.config: get_config.config = ConfigParser() if path: get_config.config.read(path) else: get_config.config.read(os.path.expanduser(_config_file)) try: if bool: return get_config.config.getboolean(section, setting) else: return get_config.config.get(section, setting) except (NoOptionError, NoSectionError): return default get_config.config = None def shared_libraries(path): '''Get libraries with which the specified binary is linked. Return a library name -> path mapping, for example 'libc.so.6' -> '/lib/x86_64-linux-gnu/libc.so.6'. ''' libs = {} ldd = subprocess.Popen(['ldd', path], stdout=subprocess.PIPE, stderr=subprocess.STDOUT, universal_newlines=True) for line in ldd.stdout: try: name, rest = line.split('=>', 1) except ValueError: continue name = name.strip() # exclude linux-vdso since that is a virtual so if 'linux-vdso' in name: continue # this is usually "path (address)" rest = rest.split()[0].strip() if rest.startswith('('): continue libs[name] = rest ldd.stdout.close() ldd.wait() if ldd.returncode != 0: return {} return libs def links_with_shared_library(path, lib): '''Check if the binary at path links with the library named lib. path should be a fully qualified path (e.g. report['ExecutablePath']), lib may be of the form 'lib<name>' or 'lib<name>.so.<version>' ''' libs = shared_libraries(path) if lib in libs: return True for linked_lib in libs: if linked_lib.startswith(lib + '.so.'): return True return False ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/apport/hookutils.py�������������������������������������������������������������������0000644�0000000�0000000�00000075422�12677230222�015144� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'''Convenience functions for use in package hooks.''' # Copyright (C) 2008 - 2012 Canonical Ltd. # Authors: # Matt Zimmerman <mdz@canonical.com> # Brian Murray <brian@ubuntu.com> # Martin Pitt <martin.pitt@ubuntu.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import subprocess import os import sys import time import datetime import glob import re import stat import base64 import tempfile import shutil import locale from apport.packaging_impl import impl as packaging import apport import apport.fileutils try: _path_key_trans = ''.maketrans('#/-_+ ', '....._') except AttributeError: # Python 2 variant import string _path_key_trans = string.maketrans('#/-_+ ', '....._') def path_to_key(path): '''Generate a valid report key name from a file path. This will replace invalid punctuation symbols with valid ones. ''' if sys.version[0] >= '3': if isinstance(path, bytes): path = path.decode('UTF-8') else: if not isinstance(path, bytes): path = path.encode('UTF-8') return path.translate(_path_key_trans) def attach_file_if_exists(report, path, key=None, overwrite=True, force_unicode=False): '''Attach file contents if file exists. If key is not specified, the key name will be derived from the file name with path_to_key(). If overwrite is True, an existing key will be updated. If it is False, a new key with '_' appended will be added instead. If the contents is valid UTF-8, or force_unicode is True, then the value will a string, otherwise it will be bytes. ''' if not key: key = path_to_key(path) if os.path.exists(path): attach_file(report, path, key, overwrite, force_unicode) def read_file(path, force_unicode=False): '''Return the contents of the specified path. If the contents is valid UTF-8, or force_unicode is True, then the value will a string, otherwise it will be bytes. Upon error, this will deliver a text representation of the error, instead of failing. ''' try: with open(path, 'rb') as f: contents = f.read().strip() if force_unicode: return contents.decode('UTF-8', errors='replace') try: return contents.decode('UTF-8') except UnicodeDecodeError: return contents except Exception as e: return 'Error: ' + str(e) def attach_file(report, path, key=None, overwrite=True, force_unicode=False): '''Attach a file to the report. If key is not specified, the key name will be derived from the file name with path_to_key(). If overwrite is True, an existing key will be updated. If it is False, a new key with '_' appended will be added instead. If the contents is valid UTF-8, or force_unicode is True, then the value will a string, otherwise it will be bytes. ''' if not key: key = path_to_key(path) # Do not clobber existing keys if not overwrite: while key in report: key += '_' report[key] = read_file(path, force_unicode=force_unicode) def attach_conffiles(report, package, conffiles=None, ui=None): '''Attach information about any modified or deleted conffiles. If conffiles is given, only this subset will be attached. If ui is given, ask whether the contents of the file may be added to the report; if this is denied, or there is no UI, just mark it as "modified" in the report. ''' modified = packaging.get_modified_conffiles(package) for path, contents in modified.items(): if conffiles and path not in conffiles: continue key = 'modified.conffile.' + path_to_key(path) if type(contents) == str and (contents == '[deleted]' or contents.startswith('[inaccessible')): report[key] = contents continue if ui: response = ui.yesno('It seems you have modified the contents of "%s". Would you like to add the contents of it to your bug report?' % path) if response: report[key] = contents else: report[key] = '[modified]' else: report[key] = '[modified]' mtime = datetime.datetime.fromtimestamp(os.stat(path).st_mtime) report['mtime.conffile.' + path_to_key(path)] = mtime.isoformat() def attach_upstart_overrides(report, package): '''Attach information about any Upstart override files''' try: files = apport.packaging.get_files(package) except ValueError: return for file in files: if os.path.exists(file) and file.startswith('/etc/init/'): override = file.replace('.conf', '.override') key = 'upstart.' + override.replace('/etc/init/', '') attach_file_if_exists(report, override, key) def attach_upstart_logs(report, package): '''Attach information about a package's session upstart logs''' try: files = apport.packaging.get_files(package) except ValueError: return for f in files: if not os.path.exists(f): continue if f.startswith('/usr/share/upstart/sessions/'): log = os.path.basename(f).replace('.conf', '.log') key = 'upstart.' + log try: log = os.path.join(os.environ['XDG_CACHE_HOME'], 'upstart', log) except KeyError: try: log = os.path.join(os.environ['HOME'], '.cache', 'upstart', log) except KeyError: continue attach_file_if_exists(report, log, key) if f.startswith('/usr/share/applications/') and f.endswith('.desktop'): desktopname = os.path.splitext(os.path.basename(f))[0] key = 'upstart.application.' + desktopname log = 'application-%s.log' % desktopname try: log = os.path.join(os.environ['XDG_CACHE_HOME'], 'upstart', log) except KeyError: try: log = os.path.join(os.environ['HOME'], '.cache', 'upstart', log) except KeyError: continue attach_file_if_exists(report, log, key) def attach_dmesg(report): '''Attach information from the kernel ring buffer (dmesg). This will not overwrite already existing information. ''' if not report.get('CurrentDmesg', '').strip(): report['CurrentDmesg'] = command_output(['dmesg']) def attach_dmi(report): dmi_dir = '/sys/class/dmi/id' if os.path.isdir(dmi_dir): for f in os.listdir(dmi_dir): p = '%s/%s' % (dmi_dir, f) st = os.stat(p) # ignore the root-only ones, since they have serial numbers if not stat.S_ISREG(st.st_mode) or (st.st_mode & 4 == 0): continue if f in ('subsystem', 'uevent'): continue try: with open(p) as fd: value = fd.read().strip() except (OSError, IOError): continue if value: report['dmi.' + f.replace('_', '.')] = value def attach_hardware(report): '''Attach a standard set of hardware-related data to the report, including: - kernel dmesg (boot and current) - /proc/interrupts - /proc/cpuinfo - /proc/cmdline - /proc/modules - lspci -vvnn - lsusb - devices from udev - DMI information from /sys - prtconf (sparc) - pccardctl status/ident ''' attach_dmesg(report) attach_file(report, '/proc/interrupts', 'ProcInterrupts') attach_file(report, '/proc/cpuinfo', 'ProcCpuinfo') attach_file(report, '/proc/cmdline', 'ProcKernelCmdLine') if os.path.exists('/sys/bus/pci'): report['Lspci'] = command_output(['lspci', '-vvnn']) report['Lsusb'] = command_output(['lsusb']) report['ProcModules'] = command_output(['sort', '/proc/modules']) report['UdevDb'] = command_output(['udevadm', 'info', '--export-db']) # anonymize partition labels l = report['UdevDb'] l = re.sub('ID_FS_LABEL=(.*)', 'ID_FS_LABEL=<hidden>', l) l = re.sub('ID_FS_LABEL_ENC=(.*)', 'ID_FS_LABEL_ENC=<hidden>', l) l = re.sub('by-label/(.*)', 'by-label/<hidden>', l) l = re.sub('ID_FS_LABEL=(.*)', 'ID_FS_LABEL=<hidden>', l) l = re.sub('ID_FS_LABEL_ENC=(.*)', 'ID_FS_LABEL_ENC=<hidden>', l) l = re.sub('by-label/(.*)', 'by-label/<hidden>', l) report['UdevDb'] = l attach_dmi(report) # Use the hardware information to create a machine type. if 'dmi.sys.vendor' in report and 'dmi.product.name' in report: report['MachineType'] = '%s %s' % (report['dmi.sys.vendor'], report['dmi.product.name']) if command_available('prtconf'): report['Prtconf'] = command_output(['prtconf']) if command_available('pccardctl'): out = command_output(['pccardctl', 'status']).strip() if out: report['PccardctlStatus'] = out out = command_output(['pccardctl', 'ident']).strip() if out: report['PccardctlIdent'] = out def attach_alsa_old(report): ''' (loosely based on http://www.alsa-project.org/alsa-info.sh) for systems where alsa-info is not installed (i e, *buntu 12.04 and earlier) ''' attach_file_if_exists(report, os.path.expanduser('~/.asoundrc'), 'UserAsoundrc') attach_file_if_exists(report, os.path.expanduser('~/.asoundrc.asoundconf'), 'UserAsoundrcAsoundconf') attach_file_if_exists(report, '/etc/asound.conf') attach_file_if_exists(report, '/proc/asound/version', 'AlsaVersion') attach_file(report, '/proc/cpuinfo', 'ProcCpuinfo') report['AlsaDevices'] = command_output(['ls', '-l', '/dev/snd/']) report['AplayDevices'] = command_output(['aplay', '-l']) report['ArecordDevices'] = command_output(['arecord', '-l']) report['PciMultimedia'] = pci_devices(PCI_MULTIMEDIA) cards = [] if os.path.exists('/proc/asound/cards'): with open('/proc/asound/cards') as fd: for line in fd: if ']:' in line: fields = line.lstrip().split() cards.append(int(fields[0])) for card in cards: key = 'Card%d.Amixer.info' % card report[key] = command_output(['amixer', '-c', str(card), 'info']) key = 'Card%d.Amixer.values' % card report[key] = command_output(['amixer', '-c', str(card)]) for codecpath in glob.glob('/proc/asound/card%d/codec*' % card): if os.path.isfile(codecpath): codec = os.path.basename(codecpath) key = 'Card%d.Codecs.%s' % (card, path_to_key(codec)) attach_file(report, codecpath, key=key) elif os.path.isdir(codecpath): codec = os.path.basename(codecpath) for name in os.listdir(codecpath): path = os.path.join(codecpath, name) key = 'Card%d.Codecs.%s.%s' % (card, path_to_key(codec), path_to_key(name)) attach_file(report, path, key) def attach_alsa(report): '''Attach ALSA subsystem information to the report. ''' if os.path.exists('/usr/share/alsa-base/alsa-info.sh'): report['AlsaInfo'] = command_output(['/usr/share/alsa-base/alsa-info.sh', '--stdout', '--no-upload']) else: attach_alsa_old(report) report['AudioDevicesInUse'] = command_output( ['fuser', '-v'] + glob.glob('/dev/dsp*') + glob.glob('/dev/snd/*') + glob.glob('/dev/seq*')) if os.path.exists('/usr/bin/pacmd'): report['PulseList'] = command_output(['pacmd', 'list']) attach_dmi(report) attach_dmesg(report) def command_available(command): '''Is given command on the executable search path?''' if 'PATH' not in os.environ: return False path = os.environ['PATH'] for element in path.split(os.pathsep): if not element: continue filename = os.path.join(element, command) if os.path.isfile(filename) and os.access(filename, os.X_OK): return True return False def command_output(command, input=None, stderr=subprocess.STDOUT, keep_locale=False, decode_utf8=True): '''Try to execute given command (array) and return its stdout. In case of failure, a textual error gets returned. This function forces LC_MESSAGES to C, to avoid translated output in bug reports. If decode_utf8 is True (default), the output will be converted to a string, otherwise left as bytes. ''' env = os.environ.copy() if not keep_locale: env['LC_MESSAGES'] = 'C' try: sp = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=stderr, stdin=(input and subprocess.PIPE or None), env=env) except OSError as e: return 'Error: ' + str(e) out = sp.communicate(input)[0] if sp.returncode == 0: res = out.strip() else: res = (b'Error: command ' + str(command).encode() + b' failed with exit code ' + str(sp.returncode).encode() + b': ' + out) if decode_utf8: res = res.decode('UTF-8', errors='replace') return res def _root_command_prefix(): if os.getuid() == 0: return [] else: return ['pkexec'] def root_command_output(command, input=None, stderr=subprocess.STDOUT, decode_utf8=True): '''Try to execute given command (array) as root and return its stdout. This passes the command through pkexec, unless the caller is already root. In case of failure, a textual error gets returned. If decode_utf8 is True (default), the output will be converted to a string, otherwise left as bytes. ''' assert isinstance(command, list), 'command must be a list' return command_output(_root_command_prefix() + command, input, stderr, keep_locale=True, decode_utf8=decode_utf8) def attach_root_command_outputs(report, command_map): '''Execute multiple commands as root and put their outputs into report. command_map is a keyname -> 'shell command' dictionary with the commands to run. They are all run through /bin/sh, so you need to take care of shell escaping yourself. To include stderr output of a command, end it with "2>&1". Just like root_command_output, this passes the command through pkexec, unless the caller is already root. This is preferrable to using root_command_output() multiple times, as that will ask for the password every time. ''' wrapper_path = os.path.join(os.path.abspath( os.environ.get('APPORT_DATA_DIR', '/usr/share/apport')), 'root_info_wrapper') workdir = tempfile.mkdtemp() try: # create a shell script with all the commands script_path = os.path.join(workdir, ':script:') script = open(script_path, 'w') for keyname, command in command_map.items(): assert hasattr(command, 'strip'), 'command must be a string (shell command)' # use "| cat" here, so that we can end commands with 2>&1 # (otherwise it would have the wrong redirection order) script.write('%s | cat > %s\n' % (command, os.path.join(workdir, keyname))) script.close() # run script sp = subprocess.Popen(_root_command_prefix() + [wrapper_path, script_path]) sp.wait() # now read back the individual outputs for keyname in command_map: try: with open(os.path.join(workdir, keyname), 'rb') as f: buf = f.read().strip() except IOError: # this can happen if the user dismisses authorization in # _root_command_prefix continue if buf: report[keyname] = buf f.close() finally: shutil.rmtree(workdir) def __filter_re_process(pattern, process): lines = '' while process.poll() is None: for line in process.stdout: line = line.decode('UTF-8', errors='replace') if pattern.search(line): lines += line process.stdout.close() process.wait() if process.returncode == 0: return lines return '' def recent_syslog(pattern, path=None): '''Extract recent system messages which match a regex. pattern should be a "re" object. By default, messages are read from the systemd journal, or /var/log/syslog; but when giving "path", messages are read from there instead. ''' if path: p = subprocess.Popen(['tail', '-n', '10000', path], stdout=subprocess.PIPE) elif os.path.exists('/run/systemd/system'): p = subprocess.Popen(['journalctl', '--system', '--quiet', '-b', '-a'], stdout=subprocess.PIPE) elif os.access('/var/log/syslog', os.R_OK): p = subprocess.Popen(['tail', '-n', '10000', '/var/log/syslog'], stdout=subprocess.PIPE) return __filter_re_process(pattern, p) def xsession_errors(pattern=None): '''Extract messages from ~/.xsession-errors. By default this parses out glib-style warnings, errors, criticals etc. and X window errors. You can specify a "re" object as pattern to customize the filtering. Please note that you should avoid attaching the whole file to reports, as it can, and often does, contain sensitive and private data. ''' path = os.path.expanduser('~/.xsession-errors') if not os.path.exists(path): return '' if not pattern: pattern = re.compile('^(\(.*:\d+\): \w+-(WARNING|CRITICAL|ERROR))|(Error: .*No Symbols named)|([^ ]+\[\d+\]: ([A-Z]+):)|([^ ]-[A-Z]+ \*\*:)|(received an X Window System error)|(^The error was \')|(^ \(Details: serial \d+ error_code)') lines = '' with open(path, 'rb') as f: for line in f: line = line.decode('UTF-8', errors='replace') if pattern.search(line): lines += line return lines PCI_MASS_STORAGE = 0x01 PCI_NETWORK = 0x02 PCI_DISPLAY = 0x03 PCI_MULTIMEDIA = 0x04 PCI_MEMORY = 0x05 PCI_BRIDGE = 0x06 PCI_SIMPLE_COMMUNICATIONS = 0x07 PCI_BASE_SYSTEM_PERIPHERALS = 0x08 PCI_INPUT_DEVICES = 0x09 PCI_DOCKING_STATIONS = 0x0a PCI_PROCESSORS = 0x0b PCI_SERIAL_BUS = 0x0c def pci_devices(*pci_classes): '''Return a text dump of PCI devices attached to the system.''' if not pci_classes: return command_output(['lspci', '-vvnn']) result = '' output = command_output(['lspci', '-vvmmnn']) for paragraph in output.split('\n\n'): pci_class = None slot = None for line in paragraph.split('\n'): try: key, value = line.split(':', 1) except ValueError: continue value = value.strip() key = key.strip() if key == 'Class': n = int(value[-5:-1], 16) pci_class = (n & 0xff00) >> 8 elif key == 'Slot': slot = value if pci_class and slot and pci_class in pci_classes: if result: result += '\n\n' result += command_output(['lspci', '-vvnns', slot]).strip() return result def usb_devices(): '''Return a text dump of USB devices attached to the system.''' # TODO: would be nice to be able to filter by interface class return command_output(['lsusb', '-v']) def files_in_package(package, globpat=None): '''Retrieve a list of files owned by package, optionally matching globpat''' files = packaging.get_files(package) if globpat: result = [f for f in files if glob.fnmatch.fnmatch(f, globpat)] else: result = files return result def attach_gconf(report, package): '''Obsolete''' # keeping a no-op function for some time to not break hooks pass def attach_gsettings_schema(report, schema): '''Attach user-modified gsettings keys of a schema.''' cur_value = report.get('GsettingsChanges', '') defaults = {} # schema -> key -> value env = os.environ.copy() env['XDG_CONFIG_HOME'] = '/nonexisting' gsettings = subprocess.Popen(['gsettings', 'list-recursively', schema], env=env, stdout=subprocess.PIPE) for l in gsettings.stdout: try: (schema_name, key, value) = l.split(None, 2) value = value.rstrip() except ValueError: continue # invalid line defaults.setdefault(schema_name, {})[key] = value gsettings = subprocess.Popen(['gsettings', 'list-recursively', schema], stdout=subprocess.PIPE) for l in gsettings.stdout: try: (schema_name, key, value) = l.split(None, 2) value = value.rstrip() except ValueError: continue # invalid line if value != defaults.get(schema_name, {}).get(key, ''): cur_value += '%s %s %s\n' % (schema_name, key, value) report['GsettingsChanges'] = cur_value def attach_gsettings_package(report, package): '''Attach user-modified gsettings keys of all schemas in a package.''' for schema_file in files_in_package(package, '/usr/share/glib-2.0/schemas/*.gschema.xml'): schema = os.path.basename(schema_file)[:-12] attach_gsettings_schema(report, schema) def attach_network(report): '''Attach generic network-related information to report.''' report['IpRoute'] = command_output(['ip', 'route']) report['IpAddr'] = command_output(['ip', 'addr']) report['PciNetwork'] = pci_devices(PCI_NETWORK) attach_file_if_exists(report, '/etc/network/interfaces', key='IfupdownConfig') for var in ('http_proxy', 'ftp_proxy', 'no_proxy'): if var in os.environ: report[var] = os.environ[var] def attach_wifi(report): '''Attach wireless (WiFi) network information to report.''' report['WifiSyslog'] = recent_syslog(re.compile(r'(NetworkManager|modem-manager|dhclient|kernel|wpa_supplicant)(\[\d+\])?:')) report['IwConfig'] = re.sub( 'ESSID:(.*)', 'ESSID:<hidden>', re.sub('Encryption key:(.*)', 'Encryption key: <hidden>', re.sub('Access Point: (.*)', 'Access Point: <hidden>', command_output(['iwconfig'])))) report['RfKill'] = command_output(['rfkill', 'list']) if os.path.exists('/sbin/iw'): iw_output = command_output(['iw', 'reg', 'get']) else: iw_output = 'N/A' report['CRDA'] = iw_output attach_file_if_exists(report, '/var/log/wpa_supplicant.log', key='WpaSupplicantLog') def attach_printing(report): '''Attach printing information to the report. Based on http://wiki.ubuntu.com/PrintingBugInfoScript. ''' attach_file_if_exists(report, '/etc/papersize', 'Papersize') attach_file_if_exists(report, '/var/log/cups/error_log', 'CupsErrorLog') report['Locale'] = command_output(['locale']) report['Lpstat'] = command_output(['lpstat', '-v']) ppds = glob.glob('/etc/cups/ppd/*.ppd') if ppds: nicknames = command_output(['fgrep', '-H', '*NickName'] + ppds) report['PpdFiles'] = re.sub('/etc/cups/ppd/(.*).ppd:\*NickName: *"(.*)"', '\g<1>: \g<2>', nicknames) report['PrintingPackages'] = package_versions( 'foo2zjs', 'foomatic-db', 'foomatic-db-engine', 'foomatic-db-gutenprint', 'foomatic-db-hpijs', 'foomatic-filters', 'foomatic-gui', 'hpijs', 'hplip', 'm2300w', 'min12xxw', 'c2050', 'hpoj', 'pxljr', 'pnm2ppa', 'splix', 'hp-ppd', 'hpijs-ppds', 'linuxprinting.org-ppds', 'openprinting-ppds', 'openprinting-ppds-extra', 'ghostscript', 'cups', 'cups-driver-gutenprint', 'foomatic-db-gutenprint', 'ijsgutenprint', 'cupsys-driver-gutenprint', 'gimp-gutenprint', 'gutenprint-doc', 'gutenprint-locales', 'system-config-printer-common', 'kdeprint') def attach_mac_events(report, profiles=None): '''Attach MAC information and events to the report.''' # Allow specifying a string, or a list of strings if isinstance(profiles, str): profiles = [profiles] mac_regex = 'audit\(|apparmor|selinux|security' mac_re = re.compile(mac_regex, re.IGNORECASE) aa_regex = 'apparmor="DENIED".+?profile=([^ ]+?)[ ]' aa_re = re.compile(aa_regex, re.IGNORECASE) if 'KernLog' not in report: report['KernLog'] = __filter_re_process( mac_re, subprocess.Popen(['dmesg'], stdout=subprocess.PIPE)) if 'AuditLog' not in report and os.path.exists('/var/run/auditd.pid'): attach_root_command_outputs(report, {'AuditLog': 'egrep "' + mac_regex + '" /var/log/audit/audit.log'}) attach_file(report, '/proc/version_signature', 'ProcVersionSignature') attach_file(report, '/proc/cmdline', 'ProcCmdline') for match in re.findall(aa_re, report.get('KernLog', '') + report.get('AuditLog', '')): if not profiles: _add_tag(report, 'apparmor') break try: if match[0] == '"': profile = match[1:-1] elif sys.version[0] >= '3': profile = bytes.fromhex(match).decode('UTF-8', errors='replace') else: profile = match.decode('hex', errors='replace') except: continue for search_profile in profiles: if re.match('^' + search_profile + '$', profile): _add_tag(report, 'apparmor') break def _add_tag(report, tag): '''Adds or appends a tag to the report''' current_tags = report.get('Tags', '') if current_tags: current_tags += ' ' report['Tags'] = current_tags + tag def attach_related_packages(report, packages): '''Attach version information for related packages In the future, this might also run their hooks. ''' report['RelatedPackageVersions'] = package_versions(*packages) def package_versions(*packages): '''Return a text listing of package names and versions. Arguments may be package names or globs, e. g. "foo*" ''' versions = [] for package_pattern in packages: if not package_pattern: continue matching_packages = packaging.package_name_glob(package_pattern) if not matching_packages: versions.append((package_pattern, 'N/A')) for package in sorted(matching_packages): try: version = packaging.get_version(package) except ValueError: version = 'N/A' if version is None: version = 'N/A' versions.append((package, version)) package_width, version_width = \ map(max, [map(len, t) for t in zip(*versions)]) fmt = '%%-%ds %%s' % package_width return '\n'.join([fmt % v for v in versions]) def _get_module_license(module): '''Return the license for a given kernel module.''' try: modinfo = subprocess.Popen(['/sbin/modinfo', module], stdout=subprocess.PIPE, stderr=subprocess.PIPE) out = modinfo.communicate()[0].decode('UTF-8') if modinfo.returncode != 0: return 'invalid' except OSError: return None for l in out.splitlines(): fields = l.split(':', 1) if len(fields) < 2: continue if fields[0] == 'license': return fields[1].strip() return None def nonfree_kernel_modules(module_list='/proc/modules'): '''Check loaded modules and return a list of those which are not free.''' try: with open(module_list) as f: mods = [l.split()[0] for l in f] except IOError: return [] nonfree = [] for m in mods: l = _get_module_license(m) if l and not ('GPL' in l or 'BSD' in l or 'MPL' in l or 'MIT' in l): nonfree.append(m) return nonfree def __drm_con_info(con): info = '' for f in os.listdir(con): path = os.path.join(con, f) if f == 'uevent' or not os.path.isfile(path): continue val = open(path, 'rb').read().strip() # format some well-known attributes specially if f == 'modes': val = val.replace(b'\n', b' ') if f == 'edid': val = base64.b64encode(val) f += '-base64' info += '%s: %s\n' % (f, val.decode('UTF-8', errors='replace')) return info def attach_drm_info(report): '''Add information about DRM hardware. Collect information from /sys/class/drm/. ''' drm_dir = '/sys/class/drm' if not os.path.isdir(drm_dir): return for f in os.listdir(drm_dir): con = os.path.join(drm_dir, f) if os.path.exists(os.path.join(con, 'enabled')): # DRM can set an arbitrary string for its connector paths. report['DRM.' + path_to_key(f)] = __drm_con_info(con) def in_session_of_problem(report): '''Check if the problem happened in the currently running XDG session. This can be used to determine if e. g. ~/.xsession-errors is relevant and should be attached. Return None if this cannot be determined. ''' session_id = os.environ.get('XDG_SESSION_ID') if not session_id: # fall back to reading cgroup with open('/proc/self/cgroup') as f: for l in f: l = l.strip() if 'name=systemd:' in l and l.endswith('.scope') and '/session-' in l: session_id = l.split('/session-', 1)[1][:-6] break else: return None # report time is in local TZ orig_ctime = locale.getlocale(locale.LC_TIME) try: try: locale.setlocale(locale.LC_TIME, 'C') report_time = time.mktime(time.strptime(report['Date'])) except KeyError: return None finally: locale.setlocale(locale.LC_TIME, orig_ctime) except locale.Error: return None # determine session creation time try: session_start_time = os.stat('/run/systemd/sessions/' + session_id).st_mtime except (IOError, OSError): return None return session_start_time <= report_time def attach_default_grub(report, key=None): '''attach /etc/default/grub after filtering out password lines''' path = '/etc/default/grub' if not key: key = path_to_key(path) if os.path.exists(path): with open(path, 'r') as f: filtered = [l if not l.startswith('password') else '### PASSWORD LINE REMOVED ###' for l in f.readlines()] report[key] = ''.join(filtered) # backwards compatible API shared_libraries = apport.fileutils.shared_libraries links_with_shared_library = apport.fileutils.links_with_shared_library ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/apport/packaging.py�������������������������������������������������������������������0000644�0000000�0000000�00000027724�12677230222�015051� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'''Abstraction of packaging operations.''' # Copyright (C) 2007 - 2011 Canonical Ltd. # Author: Martin Pitt <martin.pitt@ubuntu.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import os import sys import re import subprocess class PackageInfo: # default global configuration file configuration = '/etc/default/apport' def get_version(self, package): '''Return the installed version of a package. Throw ValueError if package does not exist. ''' raise NotImplementedError('this method must be implemented by a concrete subclass') def get_available_version(self, package): '''Return the latest available version of a package. Throw ValueError if package does not exist. ''' raise NotImplementedError('this method must be implemented by a concrete subclass') def get_dependencies(self, package): '''Return a list of packages a package depends on.''' raise NotImplementedError('this method must be implemented by a concrete subclass') def get_source(self, package): '''Return the source package name for a package. Throw ValueError if package does not exist. ''' raise NotImplementedError('this method must be implemented by a concrete subclass') def get_package_origin(self, package): '''Return package origin. Return the repository name from which a package was installed, or None if it cannot be determined. Throw ValueError if package is not installed. ''' raise NotImplementedError('this method must be implemented by a concrete subclass') def is_distro_package(self, package): '''Check package origin. Return True if the package is a genuine distro package, or False if it comes from a third-party source. Throw ValueError if package does not exist. ''' raise NotImplementedError('this method must be implemented by a concrete subclass') def get_architecture(self, package): '''Return the architecture of a package. This might differ on multiarch architectures (e. g. an i386 Firefox package on a x86_64 system) ''' raise NotImplementedError('this method must be implemented by a concrete subclass') def get_files(self, package): '''Return list of files shipped by a package. Throw ValueError if package does not exist. ''' raise NotImplementedError('this method must be implemented by a concrete subclass') def get_modified_files(self, package): '''Return list of all modified files of a package.''' raise NotImplementedError('this method must be implemented by a concrete subclass') def get_modified_conffiles(self, package): '''Return modified configuration files of a package. Return a file name -> file contents map of all configuration files of package. Please note that apport.hookutils.attach_conffiles() is the official user-facing API for this, which will ask for confirmation and allows filtering. ''' return {} def get_file_package(self, file, uninstalled=False, map_cachedir=None, release=None, arch=None): '''Return the package a file belongs to. Return None if the file is not shipped by any package. If uninstalled is True, this will also find files of uninstalled packages; this is very expensive, though, and needs network access and lots of CPU and I/O resources. In this case, map_cachedir can be set to an existing directory which will be used to permanently store the downloaded maps. If it is not set, a temporary directory will be used. Also, release and arch can be set to a foreign release/architecture instead of the one from the current system. ''' raise NotImplementedError('this method must be implemented by a concrete subclass') def get_system_architecture(self): '''Return the architecture of the system. This should use the notation of the particular distribution. ''' raise NotImplementedError('this method must be implemented by a concrete subclass') def get_library_paths(self): '''Return a list of default library search paths. The entries should be separated with a colon ':', like for $LD_LIBRARY_PATH. This needs to take any multiarch directories into account. ''' # dummy default implementation return '/lib:/usr/lib' def set_mirror(self, url): '''Explicitly set a distribution mirror URL. This might be called for operations that need to fetch distribution files/packages from the network. By default, the mirror will be read from the system configuration files. ''' raise NotImplementedError('this method must be implemented by a concrete subclass') def get_source_tree(self, srcpackage, dir, version=None): '''Download a source package and unpack it into dir.. dir should exist and be empty. This also has to care about applying patches etc., so that dir will eventually contain the actually compiled source. If version is given, this particular version will be retrieved. Otherwise this will fetch the latest available version. Return the directory that contains the actual source root directory (which might be a subdirectory of dir). Return None if the source is not available. ''' raise NotImplementedError('this method must be implemented by a concrete subclass') def compare_versions(self, ver1, ver2): '''Compare two package versions. Return -1 for ver < ver2, 0 for ver1 == ver2, and 1 for ver1 > ver2. ''' raise NotImplementedError('this method must be implemented by a concrete subclass') def enabled(self): '''Return whether Apport should generate crash reports. Signal crashes are controlled by /proc/sys/kernel/core_pattern, but some init script needs to set that value based on a configuration file. This also determines whether Apport generates reports for Python, package, or kernel crashes. Implementations should parse the configuration file which controls Apport (such as /etc/default/apport in Debian/Ubuntu). ''' try: with open(self.configuration) as f: conf = f.read() except IOError: # if the file does not exist, assume it's enabled return True return re.search('^\s*enabled\s*=\s*0\s*$', conf, re.M) is None def get_kernel_package(self): '''Return the actual Linux kernel package name. This is used when the user reports a bug against the "linux" package. ''' raise NotImplementedError('this method must be implemented by a concrete subclass') def install_packages(self, rootdir, configdir, release, packages, verbose=False, cache_dir=None, permanent_rootdir=False, architecture=None, origins=None): '''Install packages into a sandbox (for apport-retrace). In order to work without any special permissions and without touching the running system, this should only download and unpack packages into the given root directory, not install them into the system. configdir points to a directory with by-release configuration files for the packaging system; this is completely dependent on the backend implementation, the only assumption is that this looks into configdir/release/, so that you can use retracing for multiple DistroReleases. As a special case, if configdir is None, it uses the current system configuration, and "release" is ignored. release is the value of the report's 'DistroRelease' field. packages is a list of ('packagename', 'version') tuples. If the version is None, it should install the most current available version. If cache_dir is given, then the downloaded packages will be stored there, to speed up subsequent retraces. If permanent_rootdir is True, then the sandbox created from the downloaded packages will be reused, to speed up subsequent retraces. If architecture is given, the sandbox will be created with packages of the given architecture (as specified in a report's "Architecture" field). If not given it defaults to the host system's architecture. If origins is given, the sandbox will be created with apt data sources for foreign origins. Return a string with outdated packages, or None if all packages were installed. If something is wrong with the environment (invalid configuration, package servers down, etc.), this should raise a SystemError with a meaningful error message. ''' raise NotImplementedError('this method must be implemented by a concrete subclass') def package_name_glob(self, glob): '''Return known package names which match given glob.''' raise NotImplementedError('this method must be implemented by a concrete subclass') def is_native_origin_package(self, package): '''Check if a package is one which has been white listed. Return True for a package which came from an origin which is listed in native-origins.d, False if it comes from a third-party source. ''' # Default implementation does nothing, i. e. native origins are not # supported. return False def get_uninstalled_package(self): '''Return a valid package name which is not installed. This is only used in the test suite. The default implementation should work, but might be slow for your backend, so you might want to reimplement this. ''' for p in self.package_name_glob('*'): if not self.is_distro_package(p): continue try: self.get_version(p) continue except ValueError: return p _os_version = None def get_os_version(self): '''Return (osname, osversion) tuple. This is read from /etc/os-release, or if that doesn't exist, 'lsb_release -sir' output. ''' if self._os_version: return self._os_version if os.path.exists('/etc/os-release'): name = None version = None with open('/etc/os-release') as f: for l in f: if l.startswith('NAME='): name = l.split('=', 1)[1] if name.startswith('"'): name = name[1:-2].strip() # work around inconsistent "Debian GNU/Linux" in os-release name = name.split()[0] elif l.startswith('VERSION_ID='): version = l.split('=', 1)[1] if version.startswith('"'): version = version[1:-2].strip() if name and version: self._os_version = (name, version) return self._os_version else: sys.stderr.write('invalid /etc/os-release: Does not contain NAME and VERSION_ID\n') # fall back to lsb_release p = subprocess.Popen(['lsb_release', '-sir'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) (name, version) = p.communicate()[0].decode().strip().replace('\n', ' ').split() self._os_version = (name.strip(), version.strip()) return self._os_version ��������������������������������������������apport-2.20.1/apport/report.py����������������������������������������������������������������������0000644�0000000�0000000�00000171506�12677230222�014436� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'''Representation of and data collection for a problem report.''' # Copyright (C) 2006 - 2009 Canonical Ltd. # Author: Martin Pitt <martin.pitt@ubuntu.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import subprocess, tempfile, os.path, re, pwd, grp, os, time import fnmatch, glob, traceback, errno, sys, atexit, locale, imp import xml.dom, xml.dom.minidom from xml.parsers.expat import ExpatError if sys.version > '3': _python2 = False from urllib.error import URLError from urllib.request import urlopen (urlopen, URLError) # pyflakes else: _python2 = True from urllib import urlopen URLError = IOError import problem_report import apport import apport.fileutils from apport.packaging_impl import impl as packaging _data_dir = os.environ.get('APPORT_DATA_DIR', '/usr/share/apport') _hook_dir = '%s/package-hooks/' % (_data_dir) _common_hook_dir = '%s/general-hooks/' % (_data_dir) _opt_dir = '/opt' # path of the ignore file _ignore_file = '~/.apport-ignore.xml' # system-wide blacklist _blacklist_dir = '/etc/apport/blacklist.d' _whitelist_dir = '/etc/apport/whitelist.d' # programs that we consider interpreters interpreters = ['sh', 'bash', 'dash', 'csh', 'tcsh', 'python*', 'ruby*', 'php', 'perl*', 'mono*', 'awk'] # # helper functions # def _transitive_dependencies(package, depends_set): '''Recursively add dependencies of package to depends_set.''' try: packaging.get_version(package) except ValueError: return for d in packaging.get_dependencies(package): if d not in depends_set: depends_set.add(d) _transitive_dependencies(d, depends_set) def _read_file(path): '''Read file content. Return its content, or return a textual error if it failed. ''' try: with open(path, 'rb') as fd: return fd.read().strip().decode('UTF-8', errors='replace') except (OSError, IOError) as e: return 'Error: ' + str(e) def _read_maps(pid): '''Read /proc/pid/maps. Since /proc/$pid/maps may become unreadable unless we are ptracing the process, detect this, and attempt to attach/detach. ''' maps = 'Error: unable to read /proc maps file' try: with open('/proc/%d/maps' % pid) as fd: maps = fd.read().strip() except (OSError, IOError) as e: return 'Error: ' + str(e) return maps def _command_output(command, input=None, stderr=subprocess.STDOUT): '''Run command and capture its output. Try to execute given command (argv list) and return its stdout, or return a textual error if it failed. ''' sp = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=stderr) (out, err) = sp.communicate(input) if sp.returncode == 0: return out else: if err: err = err.decode('UTF-8', errors='replace') else: err = '' raise OSError('Error: command %s failed with exit code %i: %s' % ( str(command), sp.returncode, err)) def _check_bug_pattern(report, pattern): '''Check if given report matches the given bug pattern XML DOM node. Return the bug URL on match, otherwise None. ''' if _python2: if not pattern.attributes.has_key('url'): return None else: if 'url' not in pattern.attributes: return None for c in pattern.childNodes: # regular expression condition if c.nodeType == xml.dom.Node.ELEMENT_NODE and c.nodeName == 're': try: key = c.attributes['key'].nodeValue except KeyError: continue if key not in report: return None c.normalize() if c.hasChildNodes() and c.childNodes[0].nodeType == xml.dom.Node.TEXT_NODE: regexp = c.childNodes[0].nodeValue if _python2: regexp = regexp.encode('UTF-8') v = report[key] if isinstance(v, problem_report.CompressedValue): v = v.get_value() if not _python2: regexp = regexp.encode('UTF-8') elif isinstance(v, bytes): if not _python2: regexp = regexp.encode('UTF-8') try: re_c = re.compile(regexp) except: continue if not re_c.search(v): return None if _python2: return pattern.attributes['url'].nodeValue.encode('UTF-8') else: return pattern.attributes['url'].nodeValue def _check_bug_patterns(report, patterns): try: if _python2: patterns = patterns.encode('UTF-8') dom = xml.dom.minidom.parseString(patterns) except (ExpatError, UnicodeEncodeError): return None for pattern in dom.getElementsByTagName('pattern'): url = _check_bug_pattern(report, pattern) if url: return url return None def _dom_remove_space(node): '''Recursively remove whitespace from given XML DOM node.''' for c in node.childNodes: if c.nodeType == xml.dom.Node.TEXT_NODE and c.nodeValue.strip() == '': c.unlink() node.removeChild(c) else: _dom_remove_space(c) def _run_hook(report, ui, hook): if not os.path.exists(hook): return False symb = {} try: with open(hook) as fd: exec(compile(fd.read(), hook, 'exec'), symb) try: symb['add_info'](report, ui) except TypeError as e: if str(e).startswith('add_info()'): # older versions of apport did not pass UI, and hooks that # do not require it don't need to take it symb['add_info'](report) else: raise except StopIteration: return True except: hookname = os.path.splitext(os.path.basename(hook))[0].replace('-', '_') report['HookError_' + hookname] = traceback.format_exc() apport.error('hook %s crashed:', hook) traceback.print_exc() return False # # Report class # class Report(problem_report.ProblemReport): '''A problem report specific to apport (crash or bug). This class wraps a standard ProblemReport and adds methods for collecting standard debugging data.''' def __init__(self, type='Crash', date=None): '''Initialize a fresh problem report. date is the desired date/time string; if None (default), the current local time is used. If the report is attached to a process ID, this should be set in self.pid, so that e. g. hooks can use it to collect additional data. ''' problem_report.ProblemReport.__init__(self, type, date) self.pid = None self._proc_maps_cache = None def _customized_package_suffix(self, package): '''Return a string suitable for appending to Package/Dependencies. If package has only unmodified files, return the empty string. If not, return ' [modified: ...]' with a list of modified files. ''' suffix = '' mod = packaging.get_modified_files(package) if mod: suffix += ' [modified: %s]' % ' '.join(mod) try: if not packaging.is_distro_package(package): origin = packaging.get_package_origin(package) if origin: suffix += ' [origin: %s]' % origin else: suffix += ' [origin: unknown]' except ValueError: # no-op for nonexisting packages pass return suffix def add_package(self, package): '''Add Package: field Determine the version of the given package (uses "(not installed") for uninstalled packages) and add Package: field to report. This also checks for any modified files. Return determined package version (None for uninstalled). ''' try: version = packaging.get_version(package) except ValueError: # package not installed version = None self['Package'] = '%s %s%s' % (package, version or '(not installed)', self._customized_package_suffix(package)) return version def add_package_info(self, package=None): '''Add packaging information. If package is not given, the report must have ExecutablePath. This adds: - Package: package name and installed version - SourcePackage: source package name (if possible to determine) - PackageArchitecture: processor architecture this package was built for - Dependencies: package names and versions of all dependencies and pre-dependencies; this also checks if the files are unmodified and appends a list of all modified files ''' if not package: # the kernel does not have a executable path but a package if 'ExecutablePath' not in self and self['ProblemType'] == 'KernelCrash': package = self['Package'] else: package = apport.fileutils.find_file_package(self['ExecutablePath']) if not package: return version = self.add_package(package) if version or 'SourcePackage' not in self: try: self['SourcePackage'] = packaging.get_source(package) except ValueError: # might not exist for non-free third-party packages pass if not version: return self['PackageArchitecture'] = packaging.get_architecture(package) # get set of all transitive dependencies dependencies = set([]) _transitive_dependencies(package, dependencies) # get dependency versions self['Dependencies'] = '' for dep in sorted(dependencies): try: v = packaging.get_version(dep) except ValueError: # can happen with uninstalled alternate dependencies continue if self['Dependencies']: self['Dependencies'] += '\n' self['Dependencies'] += '%s %s%s' % ( dep, v, self._customized_package_suffix(dep)) def add_os_info(self): '''Add operating system information. This adds: - DistroRelease: NAME and VERSION from /etc/os-release, or 'lsb_release -sir' output - Architecture: system architecture in distro specific notation - Uname: uname -srm output ''' if 'DistroRelease' not in self: self['DistroRelease'] = '%s %s' % apport.packaging.get_os_version() if 'Uname' not in self: u = os.uname() self['Uname'] = '%s %s %s' % (u[0], u[2], u[4]) if 'Architecture' not in self: self['Architecture'] = packaging.get_system_architecture() def add_user_info(self): '''Add information about the user. This adds: - UserGroups: system groups the user is in ''' user = pwd.getpwuid(os.getuid())[0] groups = [name for name, p, gid, memb in grp.getgrall() if user in memb and gid < 1000] groups.sort() self['UserGroups'] = ' '.join(groups) def _check_interpreted(self): '''Check if process is a script. Use ExecutablePath, ProcStatus and ProcCmdline to determine if process is an interpreted script. If so, set InterpreterPath accordingly. ''' if 'ExecutablePath' not in self: return exebasename = os.path.basename(self['ExecutablePath']) # check if we consider ExecutablePath an interpreter; we have to do # this, otherwise 'gedit /tmp/foo.txt' would be detected as interpreted # script as well if not any(filter(lambda i: fnmatch.fnmatch(exebasename, i), interpreters)): return # first, determine process name name = None for l in self['ProcStatus'].splitlines(): try: (k, v) = l.split('\t', 1) except ValueError: continue if k == 'Name:': name = v break if not name: return cmdargs = self['ProcCmdline'].split('\0') bindirs = ['/bin/', '/sbin/', '/usr/bin/', '/usr/sbin/'] # filter out interpreter options while len(cmdargs) >= 2 and cmdargs[1].startswith('-'): # check for -m if name.startswith('python') and cmdargs[1] == '-m' and len(cmdargs) >= 3: path = self._python_module_path(cmdargs[2]) if path: self['InterpreterPath'] = self['ExecutablePath'] self['ExecutablePath'] = path else: self['UnreportableReason'] = 'Cannot determine path of python module %s' % cmdargs[2] return del cmdargs[1] # catch scripts explicitly called with interpreter if len(cmdargs) >= 2: # ensure that cmdargs[1] is an absolute path if cmdargs[1].startswith('.') and 'ProcCwd' in self: cmdargs[1] = os.path.join(self['ProcCwd'], cmdargs[1]) if os.access(cmdargs[1], os.R_OK): self['InterpreterPath'] = self['ExecutablePath'] self['ExecutablePath'] = os.path.realpath(cmdargs[1]) # catch directly executed scripts if 'InterpreterPath' not in self and name != exebasename: for p in bindirs: if os.access(p + cmdargs[0], os.R_OK): argvexe = p + cmdargs[0] if os.path.basename(os.path.realpath(argvexe)) == name: self['InterpreterPath'] = self['ExecutablePath'] self['ExecutablePath'] = argvexe break # special case: crashes from twistd are usually the fault of the # launched program if 'InterpreterPath' in self and os.path.basename(self['ExecutablePath']) == 'twistd': self['InterpreterPath'] = self['ExecutablePath'] exe = self._twistd_executable() if exe: self['ExecutablePath'] = exe else: self['UnreportableReason'] = 'Cannot determine twistd client program' def _twistd_executable(self): '''Determine the twistd client program from ProcCmdline.''' args = self['ProcCmdline'].split('\0')[2:] # search for a -f/--file, -y/--python or -s/--source argument while args: arg = args[0].split('=', 1) if arg[0].startswith('--file') or arg[0].startswith('--python') or arg[0].startswith('--source'): if len(arg) == 2: return arg[1] else: return args[1] elif len(arg[0]) > 1 and arg[0][0] == '-' and arg[0][1] != '-': opts = arg[0][1:] if 'f' in opts or 'y' in opts or 's' in opts: return args[1] args.pop(0) return None @classmethod def _python_module_path(klass, module): '''Determine path of given Python module''' module = module.replace('/', '.').split('.') pathlist = sys.path path = None while module: name = module.pop(0) try: (fd, path, desc) = imp.find_module(name, pathlist) except ImportError: path = None break if fd: fd.close() pathlist = [path] if not module and desc[2] == imp.PKG_DIRECTORY: module = ['__init__'] if path and path.endswith('.pyc'): path = path[:-1] return path def add_proc_info(self, pid=None, extraenv=[]): '''Add /proc/pid information. If neither pid nor self.pid are given, it defaults to the process' current pid and sets self.pid. This adds the following fields: - ExecutablePath: /proc/pid/exe contents; if the crashed process is interpreted, this contains the script path instead - InterpreterPath: /proc/pid/exe contents if the crashed process is interpreted; otherwise this key does not exist - ExecutableTimestamp: time stamp of ExecutablePath, for comparing at report time - ProcEnviron: A subset of the process' environment (only some standard variables that do not disclose potentially sensitive information, plus the ones mentioned in extraenv) - ProcCmdline: /proc/pid/cmdline contents - ProcStatus: /proc/pid/status contents - ProcMaps: /proc/pid/maps contents - ProcAttrCurrent: /proc/pid/attr/current contents, if not "unconfined" - CurrentDesktop: Value of $XDG_CURRENT_DESKTOP, if present - _LogindSession: logind cgroup path, if present (Used for filtering out crashes that happened in a session that is not running any more) ''' if not pid: pid = self.pid or os.getpid() if not self.pid: self.pid = int(pid) pid = str(pid) try: self['ProcCwd'] = os.readlink('/proc/' + pid + '/cwd') except OSError: pass self.add_proc_environ(pid, extraenv) self['ProcStatus'] = _read_file('/proc/' + pid + '/status') self['ProcCmdline'] = _read_file('/proc/' + pid + '/cmdline').rstrip('\0') self['ProcMaps'] = _read_maps(int(pid)) try: self['ExecutablePath'] = os.readlink('/proc/' + pid + '/exe') except OSError as e: if e.errno == errno.ENOENT: raise ValueError('invalid process') else: raise for p in ('rofs', 'rwfs', 'squashmnt', 'persistmnt'): if self['ExecutablePath'].startswith('/%s/' % p): self['ExecutablePath'] = self['ExecutablePath'][len('/%s' % p):] break if not os.path.exists(self['ExecutablePath']): raise ValueError('%s does not exist' % self['ExecutablePath']) # check if we have an interpreted program self._check_interpreted() self['ExecutableTimestamp'] = str(int(os.stat(self['ExecutablePath']).st_mtime)) # make ProcCmdline ASCII friendly, do shell escaping self['ProcCmdline'] = self['ProcCmdline'].replace('\\', '\\\\').replace(' ', '\\ ').replace('\0', ' ') # grab AppArmor or SELinux context # If no LSM is loaded, reading will return -EINVAL try: # On Linux 2.6.28+, 'current' is world readable, but read() gives # EPERM; Python 2.5.3+ crashes on that (LP: #314065) if os.getuid() == 0: with open('/proc/' + pid + '/attr/current') as fd: val = fd.read().strip() if val != 'unconfined': self['ProcAttrCurrent'] = val except (IOError, OSError): pass ret = self.get_logind_session(pid) if ret: self['_LogindSession'] = ret[0] def add_proc_environ(self, pid=None, extraenv=[]): '''Add environment information. If pid is not given, it defaults to the process' current pid. This adds the following fields: - ProcEnviron: A subset of the process' environment (only some standard variables that do not disclose potentially sensitive information, plus the ones mentioned in extraenv) - CurrentDesktop: Value of $XDG_CURRENT_DESKTOP, if present ''' safe_vars = ['SHELL', 'TERM', 'LANGUAGE', 'LANG', 'LC_CTYPE', 'LC_COLLATE', 'LC_TIME', 'LC_NUMERIC', 'LC_MONETARY', 'LC_MESSAGES', 'LC_PAPER', 'LC_NAME', 'LC_ADDRESS', 'LC_TELEPHONE', 'LC_MEASUREMENT', 'LC_IDENTIFICATION', 'LOCPATH'] + extraenv if not pid: pid = os.getpid() pid = str(pid) self['ProcEnviron'] = '' env = _read_file('/proc/' + pid + '/environ').replace('\n', '\\n') if env.startswith('Error:'): self['ProcEnviron'] = env else: for l in env.split('\0'): if l.split('=', 1)[0] in safe_vars: if self['ProcEnviron']: self['ProcEnviron'] += '\n' self['ProcEnviron'] += l elif l.startswith('PATH='): p = l.split('=', 1)[1] if '/home' in p or '/tmp' in p: if self['ProcEnviron']: self['ProcEnviron'] += '\n' self['ProcEnviron'] += 'PATH=(custom, user)' elif p != '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games': if self['ProcEnviron']: self['ProcEnviron'] += '\n' self['ProcEnviron'] += 'PATH=(custom, no user)' elif l.startswith('XDG_RUNTIME_DIR='): if self['ProcEnviron']: self['ProcEnviron'] += '\n' self['ProcEnviron'] += 'XDG_RUNTIME_DIR=<set>' elif l.startswith('LD_PRELOAD='): if self['ProcEnviron']: self['ProcEnviron'] += '\n' self['ProcEnviron'] += 'LD_PRELOAD=<set>' elif l.startswith('LD_LIBRARY_PATH='): if self['ProcEnviron']: self['ProcEnviron'] += '\n' self['ProcEnviron'] += 'LD_LIBRARY_PATH=<set>' elif l.startswith('XDG_CURRENT_DESKTOP='): self['CurrentDesktop'] = l.split('=', 1)[1] def add_kernel_crash_info(self, debugdir=None): '''Add information from kernel crash. This needs a VmCore in the Report. ''' if 'VmCore' not in self: return unlink_core = False ret = False try: if hasattr(self['VmCore'], 'find'): (fd, core) = tempfile.mkstemp() os.write(fd, self['VmCore']) os.close(fd) unlink_core = True kver = self['Uname'].split()[1] command = ['crash', '/usr/lib/debug/boot/vmlinux-%s' % kver, core, ] try: p = subprocess.Popen(command, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) except OSError: return False p.stdin.write('bt -a -f\n') p.stdin.write('ps\n') p.stdin.write('runq\n') p.stdin.write('quit\n') # FIXME: split it up nicely etc out = p.stdout.read() ret = (p.wait() == 0) if ret: self['Stacktrace'] = out finally: if unlink_core: os.unlink(core) return ret def add_gdb_info(self, rootdir=None): '''Add information from gdb. This requires that the report has a CoreDump and an ExecutablePath. This adds the following fields: - Registers: Output of gdb's 'info registers' command - Disassembly: Output of gdb's 'x/16i $pc' command - Stacktrace: Output of gdb's 'bt full' command - ThreadStacktrace: Output of gdb's 'thread apply all bt full' command - StacktraceTop: simplified stacktrace (topmost 5 functions) for inline inclusion into bug reports and easier processing - AssertionMessage: Value of __abort_msg, __glib_assert_msg, or __nih_abort_msg if present The optional rootdir can specify a root directory which has the executable, libraries, and debug symbols. This does not require chroot() or root privileges, it just instructs gdb to search for the files there. Raises a IOError if the core dump is invalid/truncated. ''' if 'CoreDump' not in self or 'ExecutablePath' not in self: return gdb_reports = {'Registers': 'info registers', 'Disassembly': 'x/16i $pc', 'Stacktrace': 'bt full', 'ThreadStacktrace': 'thread apply all bt full', 'AssertionMessage': 'print __abort_msg->msg', 'GLibAssertionMessage': 'print __glib_assert_msg', 'NihAssertionMessage': 'print (char*) __nih_abort_msg'} gdb_cmd = self.gdb_command(rootdir) # limit maximum backtrace depth (to avoid looped stacks) gdb_cmd += ['--batch', '--ex', 'set backtrace limit 2000'] value_keys = [] # append the actual commands and something that acts as a separator for name, cmd in gdb_reports.items(): value_keys.append(name) gdb_cmd += ['--ex', 'p -99', '--ex', cmd] # call gdb try: out = _command_output(gdb_cmd).decode('UTF-8', errors='replace') except OSError: return # check for truncated stack trace if 'is truncated: expected core file size' in out: warnings = '\n'.join([l for l in out.splitlines() if 'Warning:' in l]) reason = 'Invalid core dump: ' + warnings.strip() self['UnreportableReason'] = reason raise IOError(reason) # split the output into the various fields part_re = re.compile('^\$\d+\s*=\s*-99$', re.MULTILINE) parts = part_re.split(out) # drop the gdb startup text prior to first separator parts.pop(0) for part in parts: self[value_keys.pop(0)] = part.replace('\n\n', '\n.\n').strip() # glib's assertion has precedence, since it internally uses # abort(), and then glib's __abort_msg is bogus if 'GLibAssertionMessage' in self: if '"ERROR:' in self['GLibAssertionMessage']: self['AssertionMessage'] = self['GLibAssertionMessage'] del self['GLibAssertionMessage'] # same reason for libnih's assertion messages if 'NihAssertionMessage' in self: if self['NihAssertionMessage'].startswith('$'): self['AssertionMessage'] = self['NihAssertionMessage'] del self['NihAssertionMessage'] # clean up AssertionMessage if 'AssertionMessage' in self: # chop off "$n = 0x...." prefix, drop empty ones m = re.match('^\$\d+\s+=\s+0x[0-9a-fA-F]+\s+"(.*)"\s*$', self['AssertionMessage']) if m: self['AssertionMessage'] = m.group(1) if self['AssertionMessage'].endswith('\\n'): self['AssertionMessage'] = self['AssertionMessage'][0:-2] else: del self['AssertionMessage'] if 'Stacktrace' in self: self._gen_stacktrace_top() addr_signature = self.crash_signature_addresses() if addr_signature: self['StacktraceAddressSignature'] = addr_signature def _gen_stacktrace_top(self): '''Build field StacktraceTop as the top five functions of Stacktrace. Signal handler invocations and related functions are skipped since they are generally not useful for triaging and duplicate detection. ''' unwind_functions = set(['g_logv', 'g_log', 'IA__g_log', 'IA__g_logv', 'g_assert_warning', 'IA__g_assert_warning', '__GI_abort', '_XError']) toptrace = [''] * 5 depth = 0 unwound = False unwinding = False unwinding_xerror = False bt_fn_re = re.compile('^#(\d+)\s+(?:0x(?:\w+)\s+in\s+\*?(.*)|(<signal handler called>)\s*)$') bt_fn_noaddr_re = re.compile('^#(\d+)\s+(?:(.*)|(<signal handler called>)\s*)$') # some internal functions like the SSE stubs cause unnecessary jitter ignore_functions_re = re.compile('^(__.*_s?sse\d+(?:_\w+)?|__kernel_vsyscall)$') for line in self['Stacktrace'].splitlines(): m = bt_fn_re.match(line) if not m: m = bt_fn_noaddr_re.match(line) if not m: continue if not unwound or unwinding: if m.group(2): fn = m.group(2).split()[0].split('(')[0] else: fn = None # handle XErrors if unwinding_xerror: if fn.startswith('_X') or fn in ['handle_response', 'handle_error', 'XWindowEvent']: continue else: unwinding_xerror = False if m.group(3) or fn in unwind_functions: unwinding = True depth = 0 toptrace = [''] * 5 if m.group(3): # we stop unwinding when we found a <signal handler>, # but we continue unwinding otherwise, as e. g. a glib # abort is usually sitting on top of an XError unwound = True if fn == '_XError': unwinding_xerror = True continue else: unwinding = False frame = m.group(2) or m.group(3) function = frame.split()[0] if depth < len(toptrace) and not ignore_functions_re.match(function): toptrace[depth] = frame depth += 1 self['StacktraceTop'] = '\n'.join(toptrace).strip() def add_hooks_info(self, ui, package=None, srcpackage=None): '''Run hook script for collecting package specific data. A hook script needs to be in _hook_dir/<Package>.py or in _common_hook_dir/*.py and has to contain a function 'add_info(report, ui)' that takes and modifies a Report, and gets an UserInterface reference for interactivity. return True if the hook requested to stop the report filing process, False otherwise. ''' # determine package names, unless already given as arguments if not package: package = self.get('Package') if package: package = package.split()[0] if not srcpackage: srcpackage = self.get('SourcePackage') if srcpackage: srcpackage = srcpackage.split()[0] hook_dirs = [_hook_dir] # also search hooks in /opt, when program is from there opt_path = None if self.get('ExecutablePath', '').startswith(_opt_dir): opt_path = self.get('ExecutablePath', '') elif package: # check package contents try: for f in apport.packaging.get_files(package): if f.startswith(_opt_dir) and os.path.isfile(f): opt_path = f break except ValueError: # uninstalled package pass if opt_path: while len(opt_path) >= len(_opt_dir): hook_dirs.append(os.path.join(opt_path, 'share', 'apport', 'package-hooks')) opt_path = os.path.dirname(opt_path) # common hooks for hook in glob.glob(_common_hook_dir + '/*.py'): if _run_hook(self, ui, hook): return True # binary package hook if package: for hook_dir in hook_dirs: if _run_hook(self, ui, os.path.join(hook_dir, package + '.py')): return True # source package hook if srcpackage: for hook_dir in hook_dirs: if _run_hook(self, ui, os.path.join(hook_dir, 'source_%s.py' % srcpackage)): return True return False def search_bug_patterns(self, url): '''Check bug patterns loaded from the specified url. Return bug URL on match, or None otherwise. The url must refer to a valid XML document with the following syntax: root element := <patterns> patterns := <pattern url="http://bug.url"> * pattern := <re key="report_key">regular expression*</re> + For example: <?xml version="1.0"?> <patterns> <pattern url="http://bugtracker.net/bugs/1"> <re key="Foo">ba.*r</re> </pattern> <pattern url="http://bugtracker.net/bugs/2"> <re key="Package">^\S* 1-2$</re> <!-- test for a particular version --> <re key="Foo">write_(hello|goodbye)</re> </pattern> </patterns> ''' # some distros might not want to support these if not url: return try: f = urlopen(url) patterns = f.read().decode('UTF-8', errors='replace') f.close() except (IOError, URLError): # doesn't exist or failed to load return if '<title>404 Not Found' in patterns: return url = _check_bug_patterns(self, patterns) if url: return url return None def _get_ignore_dom(self): '''Read ignore list XML file and return a DOM tree. Return an empty DOM tree if file does not exist. Raises ValueError if the file exists but is invalid XML. ''' orig_home = os.getenv('HOME') if orig_home is not None: del os.environ['HOME'] ifpath = os.path.expanduser(_ignore_file) if orig_home is not None: os.environ['HOME'] = orig_home if not os.access(ifpath, os.R_OK) or os.path.getsize(ifpath) == 0: # create a document from scratch dom = xml.dom.getDOMImplementation().createDocument(None, 'apport', None) else: try: dom = xml.dom.minidom.parse(ifpath) except ExpatError as e: raise ValueError('%s has invalid format: %s' % (_ignore_file, str(e))) # remove whitespace so that writing back the XML does not accumulate # whitespace dom.documentElement.normalize() _dom_remove_space(dom.documentElement) return dom def check_ignored(self): '''Check if current report should not be presented. Reports can be suppressed by per-user blacklisting in ~/.apport-ignore.xml (in the real UID's home) and /etc/apport/blacklist.d/. For environments where you are only interested in crashes of some programs, you can also create a whitelist in /etc/apport/whitelist.d/, everything which does not match gets ignored then. This requires the ExecutablePath attribute. Throws a ValueError if the file has an invalid format. ''' assert 'ExecutablePath' in self # check blacklist try: for f in os.listdir(_blacklist_dir): try: with open(os.path.join(_blacklist_dir, f)) as fd: for line in fd: if line.strip() == self['ExecutablePath']: return True except IOError: continue except OSError: pass # check whitelist try: whitelist = set() for f in os.listdir(_whitelist_dir): try: with open(os.path.join(_whitelist_dir, f)) as fd: for line in fd: whitelist.add(line.strip()) except IOError: continue if whitelist and self['ExecutablePath'] not in whitelist: return True except OSError: pass try: dom = self._get_ignore_dom() except (ValueError, KeyError): apport.error('Could not get ignore file:') traceback.print_exc() return False try: cur_mtime = int(os.stat(self['ExecutablePath']).st_mtime) except OSError: # if it does not exist any more, do nothing return False # search for existing entry and update it for ignore in dom.getElementsByTagName('ignore'): if ignore.getAttribute('program') == self['ExecutablePath']: if float(ignore.getAttribute('mtime')) >= cur_mtime: return True return False def mark_ignore(self): '''Ignore future crashes of this executable. Add a ignore list entry for this report to ~/.apport-ignore.xml, so that future reports for this ExecutablePath are not presented to the user any more. Throws a ValueError if the file already exists and has an invalid format. ''' assert 'ExecutablePath' in self dom = self._get_ignore_dom() try: mtime = str(int(os.stat(self['ExecutablePath']).st_mtime)) except OSError as e: # file went away underneath us, ignore if e.errno == errno.ENOENT: return else: raise # search for existing entry and update it for ignore in dom.getElementsByTagName('ignore'): if ignore.getAttribute('program') == self['ExecutablePath']: ignore.setAttribute('mtime', mtime) break else: # none exists yet, create new ignore node if none exists yet e = dom.createElement('ignore') e.setAttribute('program', self['ExecutablePath']) e.setAttribute('mtime', mtime) dom.documentElement.appendChild(e) # write back file; temporarily unset $HOME, as this gets the wrong home # dir for e. g. sudo orig_home = os.getenv('HOME') if orig_home is not None: del os.environ['HOME'] ignore_file_path = os.path.expanduser(_ignore_file) if orig_home is not None: os.environ['HOME'] = orig_home with open(ignore_file_path, 'w') as fd: dom.writexml(fd, addindent=' ', newl='\n') dom.unlink() def has_useful_stacktrace(self): '''Check whether StackTrace can be considered 'useful'. The current heuristic is to consider it useless if it either is shorter than three lines and has any unknown function, or for longer traces, a minority of known functions. ''' if not self.get('StacktraceTop'): return False unknown_fn = [f.startswith('??') for f in self['StacktraceTop'].splitlines()] if len(unknown_fn) < 3: return unknown_fn.count(True) == 0 return unknown_fn.count(True) <= len(unknown_fn) / 2. def stacktrace_top_function(self): '''Return topmost function in StacktraceTop''' for l in self.get('StacktraceTop', '').splitlines(): fname = l.split('(')[0].strip() if fname != '??': return fname return None def standard_title(self): '''Create an appropriate title for a crash database entry. This contains the topmost function name from the stack trace and the signal (for signal crashes) or the Python exception (for unhandled Python exceptions). Return None if the report is not a crash or a default title could not be generated. ''' # assertion failure if self.get('Signal') == '6' and \ 'ExecutablePath' in self and \ 'AssertionMessage' in self: return '%s assert failure: %s' % ( os.path.basename(self['ExecutablePath']), self['AssertionMessage']) # signal crash if 'Signal' in self and 'ExecutablePath' in self and 'StacktraceTop' in self: signal_names = { '4': 'SIGILL', '6': 'SIGABRT', '8': 'SIGFPE', '11': 'SIGSEGV', '13': 'SIGPIPE'} fn = self.stacktrace_top_function() if fn: fn = ' in %s()' % fn else: fn = '' arch_mismatch = '' if 'Architecture' in self and 'PackageArchitecture' in self and self['Architecture'] != self['PackageArchitecture'] and self['PackageArchitecture'] != 'all': arch_mismatch = ' [non-native %s package]' % self['PackageArchitecture'] return '%s crashed with %s%s%s' % ( os.path.basename(self['ExecutablePath']), signal_names.get(self.get('Signal'), 'signal ' + self.get('Signal')), fn, arch_mismatch ) # Python exception if 'Traceback' in self and 'ExecutablePath' in self: trace = self['Traceback'].splitlines() if len(trace) < 1: return None if len(trace) < 3: return '%s crashed with %s' % ( os.path.basename(self['ExecutablePath']), trace[0]) trace_re = re.compile('^\s*File\s*"(\S+)".* in (.+)$') i = len(trace) - 1 function = 'unknown' while i >= 0: m = trace_re.match(trace[i]) if m: module_path = m.group(1) function = m.group(2) break i -= 1 path = os.path.basename(self['ExecutablePath']) last_line = trace[-1] exception = last_line.split(':')[0] m = re.match('^%s: (.+)$' % re.escape(exception), last_line) if m: message = m.group(1) else: message = None if function == '<module>': if module_path == self['ExecutablePath']: context = '__main__' else: # Maybe use os.path.basename? context = module_path else: context = '%s()' % function title = '%s crashed with %s in %s' % ( path, exception, context ) if message: title += ': %s' % message return title # package problem if self.get('ProblemType') == 'Package' and 'Package' in self: title = 'package %s failed to install/upgrade' % \ self['Package'] if self.get('ErrorMessage'): title += ': ' + self['ErrorMessage'].splitlines()[-1] return title if self.get('ProblemType') == 'KernelOops' and 'OopsText' in self: oops = self['OopsText'] if oops.startswith('------------[ cut here ]------------'): title = oops.split('\n', 2)[1] else: title = oops.split('\n', 1)[0] return title if self.get('ProblemType') == 'KernelOops' and 'Failure' in self: # Title the report with suspend or hibernate as appropriate, # and mention any non-free modules loaded up front. title = '' if 'MachineType' in self: title += '[' + self['MachineType'] + '] ' title += self['Failure'] + ' failure' if 'NonfreeKernelModules' in self: title += ' [non-free: ' + self['NonfreeKernelModules'] + ']' title += '\n' return title return None def obsolete_packages(self): '''Return list of obsolete packages in Package and Dependencies.''' obsolete = [] for l in (self.get('Package', '') + '\n' + self.get('Dependencies', '')).splitlines(): if not l: continue pkg, ver = l.split()[:2] avail = packaging.get_available_version(pkg) if ver is not None and ver != 'None' and avail is not None and packaging.compare_versions(ver, avail) < 0: obsolete.append(pkg) return obsolete def crash_signature(self): '''Get a signature string for a crash. This is suitable for identifying duplicates. For signal crashes this the concatenation of ExecutablePath, Signal number, and StacktraceTop function names, separated by a colon. If StacktraceTop has unknown functions or the report lacks any of those fields, return None. In this case, you can use crash_signature_addresses() to get a less precise duplicate signature based on addresses instead of symbol names. For assertion failures, it is the concatenation of ExecutablePath and assertion message, separated by colons. For Python crashes, this concatenates the ExecutablePath, exception name, and Traceback function names, again separated by a colon. For suspend/resume failures, this concatenates whether it was a suspend or resume failure with the hardware identifier and the BIOS version, if it exists. ''' if 'ExecutablePath' not in self: if not self['ProblemType'] in ('KernelCrash', 'KernelOops'): return None # kernel crash if 'Stacktrace' in self and self['ProblemType'] == 'KernelCrash': sig = 'kernel' regex = re.compile('^\s*\#\d+\s\[\w+\]\s(\w+)') for line in self['Stacktrace'].splitlines(): m = regex.match(line) if m: sig += ':' + (m.group(1)) return sig # assertion failures if self.get('Signal') == '6' and 'AssertionMessage' in self: sig = self['ExecutablePath'] + ':' + self['AssertionMessage'] # filter out addresses, to help match duplicates more sanely return re.sub(r'0x[0-9a-f]{6,}', 'ADDR', sig) # signal crashes if 'StacktraceTop' in self and 'Signal' in self: sig = '%s:%s' % (self['ExecutablePath'], self['Signal']) bt_fn_re = re.compile('^(?:([\w:~]+).*|(<signal handler called>)\s*)$') lines = self['StacktraceTop'].splitlines() if len(lines) < 2: return None for line in lines: m = bt_fn_re.match(line) if m: sig += ':' + (m.group(1) or m.group(2)) else: # this will also catch ?? return None return sig # Python crashes if 'Traceback' in self: trace = self['Traceback'].splitlines() sig = '' if len(trace) == 1: # sometimes, Python exceptions do not have file references m = re.match('(\w+): ', trace[0]) if m: return self['ExecutablePath'] + ':' + m.group(1) else: return None elif len(trace) < 3: return None loc_re = re.compile('^\s+File "([^"]+).*line (\d+).*\sin (.*)$') for l in trace: m = loc_re.match(l) if m: # if we have a function name, use this; for a a crash # outside of a function/method, fall back to the source # file location if m.group(3) != '<module>': sig += ':' + m.group(3) else: # resolve symlinks for more stable signatures f = m.group(1) if os.path.islink(f): f = os.path.realpath(f) sig += ':%s@%s' % (f, m.group(2)) exc_name = trace[-1].split(':')[0] try: exc_name += '(%s)' % self['_PythonExceptionQualifier'] except KeyError: pass return self['ExecutablePath'] + ':' + exc_name + sig if self['ProblemType'] == 'KernelOops' and 'Failure' in self: if 'suspend' in self['Failure'] or 'resume' in self['Failure']: # Suspend / resume failure sig = self['Failure'] if self.get('MachineType'): sig += ':%s' % self['MachineType'] if self.get('dmi.bios.version'): sig += ':%s' % self['dmi.bios.version'] return sig # KernelOops crashes if 'OopsText' in self: in_trace_body = False parts = [] for line in self['OopsText'].split('\n'): if line.startswith('BUG: unable to handle'): parsed = re.search('^BUG: unable to handle (.*) at ', line) if parsed: match = parsed.group(1) assert match, 'could not parse expected problem type line: %s' % line parts.append(match) if line.startswith('IP: '): match = self._extract_function_and_address(line) if match: parts.append(match) elif line.startswith('Call Trace:'): in_trace_body = True elif in_trace_body: match = None if line and line[0] == ' ': match = self._extract_function_and_address(line) if match: parts.append(match) else: in_trace_body = False if parts: return ':'.join(parts) return None def _extract_function_and_address(self, line): parsed = re.search('\[.*\] (.*)$', line) if parsed: match = parsed.group(1) assert match, 'could not parse expected call trace line: %s' % line if match[0] != '?': return match return None def crash_signature_addresses(self): '''Compute heuristic duplicate signature for a signal crash. This should be used if crash_signature() fails, i. e. Stacktrace does not have enough symbols. This approach only uses addresses in the stack trace and does not rely on symbol resolution. As we can't unwind these stack traces, we cannot limit them to the top five frames and thus will end up with several or many different signatures for a particular crash. But these can be computed and synchronously checked with a crash database at the client side, which avoids having to upload and process the full report. So on the server-side crash database we will only have to deal with all the equivalence classes (i. e. same crash producing a number of possible signatures) instead of every single report. Return None when signature cannot be determined. ''' if 'ProcMaps' not in self or 'Stacktrace' not in self or 'Signal' not in self: return None stack = [] failed = 0 for line in self['Stacktrace'].splitlines(): if line.startswith('#'): addr = line.split()[1] if not addr.startswith('0x'): continue addr = int(addr, 16) # we do want to know about ValueErrors here, so don't catch # ignore impossibly low addresses; these are usually artifacts # from gdb when not having debug symbols if addr < 0x1000: continue offset = self._address_to_offset(addr) if offset: # avoid ':' in ELF paths, we use that as separator stack.append(offset.replace(':', '..')) else: failed += 1 # stack unwinding chops off ~ 5 functions, and we need some more # accuracy because we do not have symbols; but beyond a depth of 15 # we get too much noise, so we can abort there if len(stack) >= 15: break # we only accept a small minority (< 20%) of failed resolutions, otherwise we # discard if failed > 0 and len(stack) / failed < 4: return None # we also discard if the trace is too short if (failed == 0 and len(stack) < 3) or (failed > 0 and len(stack) < 6): return None return '%s:%s:%s' % ( self['ExecutablePath'], self['Signal'], ':'.join(stack)) def anonymize(self): '''Remove user identifying strings from the report. This particularly removes the user name, host name, and IPs from attributes which contain data read from the environment, and removes the ProcCwd attribute completely. ''' replacements = [] if (os.getuid() > 0): # do not replace "root" p = pwd.getpwuid(os.getuid()) if len(p[0]) >= 2: replacements.append((re.compile(r'\b%s\b' % re.escape(p[0])), 'username')) replacements.append((re.compile(r'\b%s\b' % re.escape(p[5])), '/home/username')) for s in p[4].split(','): s = s.strip() if len(s) > 2: replacements.append((re.compile(r'(\b|\s)%s\b' % re.escape(s)), r'\1User Name')) hostname = os.uname()[1] if len(hostname) >= 2: replacements.append((re.compile(r'\b%s\b' % re.escape(hostname)), 'hostname')) try: del self['ProcCwd'] except KeyError: pass for k in self: is_proc_field = k.startswith('Proc') and k not in [ 'ProcCpuinfo', 'ProcMaps', 'ProcStatus', 'ProcInterrupts', 'ProcModules'] if is_proc_field or 'Stacktrace' in k or k in ['Traceback', 'PythonArgs', 'Title', 'JournalErrors']: if not hasattr(self[k], 'isspace'): continue for (pattern, repl) in replacements: if type(self[k]) == bytes: self[k] = pattern.sub(repl, self[k].decode('UTF-8', errors='replace')).encode('UTF-8') else: self[k] = pattern.sub(repl, self[k]) def gdb_command(self, sandbox): '''Build gdb command for this report. This builds a gdb command for processing the given report, by setting the file to the ExecutablePath/InterpreterPath, unpacking the core dump and pointing "core-file" to it (if the report has a core dump), and setting up the paths when calling gdb in a package sandbox. When available, this calls "gdb-multiarch" instead of "gdb", for processing crash reports from foreign architectures. Return argv list. ''' assert 'ExecutablePath' in self executable = self.get('InterpreterPath', self['ExecutablePath']) command = ['gdb'] if 'Architecture' in self and self['Architecture'] != packaging.get_system_architecture(): # check if we have gdb-multiarch which = subprocess.Popen(['which', 'gdb-multiarch'], stdout=subprocess.PIPE) which.communicate() if which.returncode == 0: command = ['gdb-multiarch'] else: sys.stderr.write( 'WARNING: Please install gdb-multiarch for processing ' 'reports from foreign architectures. Results with "gdb" ' 'will be very poor.\n') # check for foreign architecture arch = self.get('Uname', 'none').split()[-1] if 'arm' in arch: command += ['--ex', 'set architecture arm', '--ex', 'set gnutarget elf32-littlearm'] elif 'ppc' in arch: command += ['--ex', 'set architecture powerpc:common', '--ex', 'set gnutarget elf32-powerpc'] # note, i386 vs. x86_64 is auto-detected just fine if sandbox: command += ['--ex', 'set debug-file-directory %s/usr/lib/debug' % sandbox, '--ex', 'set solib-absolute-prefix ' + sandbox] executable = sandbox + '/' + executable assert os.path.exists(executable) command += ['--ex', 'file "%s"' % executable] if 'CoreDump' in self: if hasattr(self['CoreDump'], 'find'): (fd, core) = tempfile.mkstemp(prefix='apport_core_') atexit.register(os.unlink, core) os.write(fd, self['CoreDump']) os.close(fd) elif hasattr(self['CoreDump'], 'gzipvalue'): (fd, core) = tempfile.mkstemp(prefix='apport_core_') atexit.register(os.unlink, core) os.close(fd) with open(core, 'wb') as f: self['CoreDump'].write(f) else: # value is a file path core = self['CoreDump'][0] command += ['--ex', 'core-file ' + core] return command def _address_to_offset(self, addr): '''Resolve a memory address to an ELF name and offset. This can be used for building duplicate signatures from non-symbolic stack traces. These often do not have enough symbols available to resolve function names, but taking the raw addresses also is not suitable due to ASLR. But the offsets within a library should be constant between crashes (assuming the same version of all libraries). This needs and uses the "ProcMaps" field to resolve addresses. Return 'path+offset' when found, or None if address is not in any mapped range. ''' self._build_proc_maps_cache() for (start, end, elf) in self._proc_maps_cache: if start <= addr and end >= addr: return '%s+%x' % (elf, addr - start) return None def _build_proc_maps_cache(self): '''Generate self._proc_maps_cache from ProcMaps field. This only gets done once. ''' if self._proc_maps_cache: return assert 'ProcMaps' in self self._proc_maps_cache = [] # library paths might have spaces, so we need to make some assumptions # about the intermediate fields. But we know that in between the pre-last # data field and the path there are many spaces, while between the # other data fields there is only one. So we take 2 or more spaces as # the separator of the last data field and the path. fmt = re.compile('^([0-9a-fA-F]+)-([0-9a-fA-F]+).*\s{2,}(\S.*$)') fmt_unknown = re.compile('^([0-9a-fA-F]+)-([0-9a-fA-F]+)\s') for line in self['ProcMaps'].splitlines(): if not line.strip(): continue m = fmt.match(line) if not m: # ignore lines with unknown ELF if fmt_unknown.match(line): continue # but complain otherwise, as this means we encounter an # architecture or new kernel version where the format changed assert m, 'cannot parse ProcMaps line: ' + line self._proc_maps_cache.append((int(m.group(1), 16), int(m.group(2), 16), m.group(3))) @classmethod def get_logind_session(klass, pid): '''Get logind session path and start time. Return (session_id, session_start_timestamp) if pid is in a logind session, or None otherwise. ''' # determine cgroup try: with open('/proc/%s/cgroup' % pid) as f: for l in f: l = l.strip() if 'name=systemd:' in l and l.endswith('.scope') and '/session-' in l: my_session = l.split('/session-', 1)[1][:-6] break else: return None # determine session creation time session_start_time = os.stat('/run/systemd/sessions/' + my_session).st_mtime except (IOError, OSError): return None return (my_session, session_start_time) def get_timestamp(self): '''Get timestamp (seconds since epoch) from Date field Return None if it is not present. ''' # report time is from asctime(), not in locale representation orig_ctime = locale.getlocale(locale.LC_TIME) try: try: locale.setlocale(locale.LC_TIME, 'C') return time.mktime(time.strptime(self['Date'])) except KeyError: return None finally: locale.setlocale(locale.LC_TIME, orig_ctime) except locale.Error: return None ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/apport/sandboxutils.py����������������������������������������������������������������0000644�0000000�0000000�00000023621�12677230222�015634� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'''Functions to manage sandboxes''' # Copyright (C) 2006 - 2013 Canonical Ltd. # Author: Martin Pitt <martin.pitt@ubuntu.com> # Kyle Nitzsche <kyle.nitzsche@canonical.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import atexit, os, os.path, re, shutil, tempfile import apport def needed_packages(report): '''Determine necessary packages for given report. Return list of (pkgname, version) pairs. version might be None for unknown package versions. ''' pkgs = {} # first, grab the versions that we captured at crash time for l in (report.get('Package', '') + '\n' + report.get('Dependencies', '')).splitlines(): if not l.strip(): continue try: (pkg, version) = l.split()[:2] except ValueError: apport.warning('invalid Package/Dependencies line: %s', l) # invalid line, ignore continue pkgs[pkg] = version return [(p, v) for (p, v) in pkgs.items()] def report_package_versions(report): '''Return package -> version dictionary from report''' pkg_vers = {} for l in (report.get('Package', '') + '\n' + report.get('Dependencies', '')).splitlines(): if not l.strip(): continue try: (pkg, version) = l.split()[:2] except ValueError: apport.warning('invalid Package/Dependencies line: %s', l) # invalid line, ignore continue pkg_vers[pkg] = version return pkg_vers def needed_runtime_packages(report, sandbox, pkgmap_cache_dir, pkg_versions, verbose=False): '''Determine necessary runtime packages for given report. This determines libraries dynamically loaded at runtime in two cases: 1. The executable has already run: /proc/pid/maps is used, from the report 2. The executable has not already run: shared_libraries() is used The libraries are resolved to the packages that installed them. Return list of (pkgname, None) pairs. When pkgmap_cache_dir is specified, it is used as a cache for get_file_package(). ''' # check list of libraries that the crashed process referenced at # runtime and warn about those which are not available pkgs = set() libs = set() if 'ProcMaps' in report: for l in report['ProcMaps'].splitlines(): if not l.strip(): continue cols = l.split() if len(cols) == 6 and 'x' in cols[1] and '.so' in cols[5]: lib = os.path.realpath(cols[5]) libs.add(lib) else: # 'ProcMaps' key is absent in apport-valgrind use case libs = apport.fileutils.shared_libraries(report['ExecutablePath']).values() if not os.path.exists(pkgmap_cache_dir): os.makedirs(pkgmap_cache_dir) # grab as much as we can for l in libs: pkg = apport.packaging.get_file_package(l, True, pkgmap_cache_dir, release=report['DistroRelease'], arch=report.get('Architecture')) if pkg: if verbose: apport.log('dynamically loaded %s needs package %s, queueing' % (l, pkg)) pkgs.add(pkg) else: apport.warning('%s is needed, but cannot be mapped to a package', l) return [(p, pkg_versions.get(p)) for p in pkgs] def make_sandbox(report, config_dir, cache_dir=None, sandbox_dir=None, extra_packages=[], verbose=False, log_timestamps=False, dynamic_origins=False): '''Build a sandbox with the packages that belong to a particular report. This downloads and unpacks all packages from the report's Package and Dependencies fields, plus all packages that ship the files from ProcMaps (often, runtime plugins do not appear in Dependencies), plus optionally some extra ones, for the distro release and architecture of the report. For unpackaged executables, there are no Dependencies. Packages for shared libaries are unpacked. report is an apport.Report object to build a sandbox for. Presence of the Package field determines whether to determine dependencies through packaging (via the optional report['Dependencies'] field), or through ldd via needed_runtime_packages() -> shared_libraries(). Usually report['Architecture'] and report['Uname'] are present. config_dir points to a directory with by-release configuration files for the packaging system, or "system"; this is passed to apport.packaging.install_packages(), see that method for details. cache_dir points to a directory where the downloaded packages and debug symbols are kept, which is useful if you create sandboxes very often. If not given, the downloaded packages get deleted at program exit. sandbox_dir points to a directory with a permanently unpacked sandbox with the already unpacked packages. This speeds up operations even further if you need to create sandboxes for different reports very often; but the sandboxes can become very big over time, and you must ensure that an already existing sandbox matches the DistroRelease: and Architecture: of report. If not given, a temporary directory will be created which gets deleted at program exit. extra_packages can specify a list of additional packages to install which are not derived from the report. If verbose is True (False by default), this will write some additional logging to stdout. If log_timestamps is True, these log messages will be prefixed with the current time. If dynamic_origins is True (False by default), the sandbox will be built with packages from foreign origins that appear in the report's Packages:/Dependencies:. Return a tuple (sandbox_dir, cache_dir, outdated_msg). ''' # sandbox if sandbox_dir: sandbox_dir = os.path.abspath(sandbox_dir) if not os.path.isdir(sandbox_dir): os.makedirs(sandbox_dir) permanent_rootdir = True else: sandbox_dir = tempfile.mkdtemp(prefix='apport_sandbox_') atexit.register(shutil.rmtree, sandbox_dir) permanent_rootdir = False # cache if cache_dir: cache_dir = os.path.abspath(cache_dir) else: cache_dir = tempfile.mkdtemp(prefix='apport_cache_') atexit.register(shutil.rmtree, cache_dir) pkgmap_cache_dir = os.path.join(cache_dir, report['DistroRelease']) pkgs = [] # when ProcMaps is available and we don't have any third-party packages, it # is enough to get the libraries in it and map their files to packages; # otherwise, get Package/Dependencies if 'ProcMaps' not in report or '[origin' in (report.get('Package', '') + report.get('Dependencies', '')): pkgs = needed_packages(report) # add user-specified extra packages, if any for p in extra_packages: pkgs.append((p, None)) if config_dir == 'system': config_dir = None origins = None if dynamic_origins: pkg_list = report.get('Package', '') + '\n' + report.get('Dependencies', '') m = re.compile('\[origin: ([a-zA-Z0-9][a-zA-Z0-9\+\.\-]+)\]') origins = set(m.findall(pkg_list)) if origins: apport.log("Origins: %s" % origins) # unpack packages, if any, using cache and sandbox try: outdated_msg = apport.packaging.install_packages( sandbox_dir, config_dir, report['DistroRelease'], pkgs, verbose, cache_dir, permanent_rootdir, architecture=report.get('Architecture'), origins=origins) except SystemError as e: apport.fatal(str(e)) pkg_versions = report_package_versions(report) pkgs = needed_runtime_packages(report, sandbox_dir, pkgmap_cache_dir, pkg_versions, verbose) # package hooks might reassign Package:, check that we have the originally # crashing binary for path in ('InterpreterPath', 'ExecutablePath'): if path in report: pkg = apport.packaging.get_file_package(report[path], True, pkgmap_cache_dir, release=report['DistroRelease'], arch=report.get('Architecture')) if pkg: apport.log('Installing extra package %s to get %s' % (pkg, path), log_timestamps) pkgs.append((pkg, pkg_versions.get(pkg))) else: apport.fatal('Cannot find package which ships %s %s', path, report[path]) # unpack packages for executable using cache and sandbox if pkgs: try: outdated_msg += apport.packaging.install_packages( sandbox_dir, config_dir, report['DistroRelease'], pkgs, verbose, cache_dir, permanent_rootdir, architecture=report.get('Architecture'), origins=origins) except SystemError as e: apport.fatal(str(e)) # sanity check: for a packaged binary we require having the executable in # the sandbox; TODO: for an unpackage binary we don't currently copy its # potential local library dependencies (like those in build trees) into the # sandbox, and we call gdb/valgrind on the binary outside the sandbox. if 'Package' in report: for path in ('InterpreterPath', 'ExecutablePath'): if path in report and not os.path.exists(sandbox_dir + report[path]): apport.fatal('%s %s does not exist (report specified package %s)', path, sandbox_dir + report[path], report['Package']) if outdated_msg: report['RetraceOutdatedPackages'] = outdated_msg apport.memdbg('built sandbox') return sandbox_dir, cache_dir, outdated_msg ���������������������������������������������������������������������������������������������������������������apport-2.20.1/apport/ui.py��������������������������������������������������������������������������0000644�0000000�0000000�00000177115�12677230222�013542� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'''Abstract Apport user interface. This encapsulates the workflow and common code for any user interface implementation (like GTK, Qt, or CLI). ''' # Copyright (C) 2007 - 2011 Canonical Ltd. # Author: Martin Pitt <martin.pitt@ubuntu.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import glob, sys, os.path, optparse, traceback, locale, gettext, re import errno, zlib import subprocess, threading, webbrowser import signal import time import apport, apport.fileutils, apport.REThread import apport.crashdb from apport import unicode_gettext as _ if sys.version_info.major == 2: from ConfigParser import ConfigParser ConfigParser # pyflakes PY3 = False else: from configparser import ConfigParser PY3 = True __version__ = '2.20.1' def excstr(exception): '''Return exception message as unicode.''' if sys.version_info.major == 2: return str(exception).decode(locale.getpreferredencoding(), 'replace') return str(exception) symptom_script_dir = os.environ.get('APPORT_SYMPTOMS_DIR', '/usr/share/apport/symptoms') PF_KTHREAD = 0x200000 def get_pid(report): try: pid = re.search('Pid:\t(.*)\n', report.get('ProcStatus', '')).group(1) return int(pid) except (IndexError, AttributeError): return None def still_running(pid): try: os.kill(int(pid), 0) except OSError as e: if e.errno == errno.ESRCH: return False return True def thread_collect_info(report, reportfile, package, ui, symptom_script=None, ignore_uninstalled=False): '''Collect information about report. Encapsulate calls to add_*_info() and update given report, so that this function is suitable for threading. ui must be a HookUI instance, it gets passed to add_hooks_info(). If reportfile is not None, the file is written back with the new data. If symptom_script is given, it will be run first (for run_symptom()). ''' report.add_gdb_info() report.add_os_info() if symptom_script: symb = {} try: with open(symptom_script) as f: exec(compile(f.read(), symptom_script, 'exec'), symb) package = symb['run'](report, ui) if not package: apport.error('symptom script %s did not determine the affected package', symptom_script) return report['Symptom'] = os.path.splitext(os.path.basename(symptom_script))[0] except StopIteration: sys.exit(0) except: apport.error('symptom script %s crashed:', symptom_script) traceback.print_exc() sys.exit(0) if not package: if 'ExecutablePath' in report: package = apport.fileutils.find_file_package(report['ExecutablePath']) else: raise KeyError('called without a package, and report does not have ExecutablePath') try: report.add_package_info(package) except ValueError: # this happens if we are collecting information on an uninstalled # package if not ignore_uninstalled: raise except SystemError as e: report['UnreportableReason'] = excstr(e) if 'UnreportableReason' not in report: if report.add_hooks_info(ui): sys.exit(0) # check package origin; we do that after adding hooks, so that hooks have # the chance to set a third-party CrashDB. try: if 'CrashDB' not in report and 'APPORT_DISABLE_DISTRO_CHECK' not in os.environ: if 'Package' not in report: report['UnreportableReason'] = _('This package does not seem to be installed correctly') elif not apport.packaging.is_distro_package(report['Package'].split()[0]) and \ not apport.packaging.is_native_origin_package(report['Package'].split()[0]): # TRANS: %s is the name of the operating system report['UnreportableReason'] = _( 'This is not an official %s package. Please remove any third party package and try again.') % report['DistroRelease'].split()[0] except ValueError: # this happens if we are collecting information on an uninstalled # package if not ignore_uninstalled: raise # add title if 'Title' not in report: title = report.standard_title() if title: report['Title'] = title # check obsolete packages if report.get('ProblemType') == 'Crash' and 'APPORT_IGNORE_OBSOLETE_PACKAGES' not in os.environ: old_pkgs = report.obsolete_packages() if old_pkgs: report['UnreportableReason'] = _('You have some obsolete package \ versions installed. Please upgrade the following packages and check if the \ problem still occurs:\n\n%s') % ', '.join(old_pkgs) # disabled: if we have a SIGABRT without an assertion message, declare as unreportable # if report.get('Signal') == '6' and 'AssertionMessage' not in report: # report['UnreportableReason'] = _('The program crashed on an assertion failure, but the message could not be retrieved. Apport does not support reporting these crashes.') if reportfile: try: with open(reportfile, 'ab') as f: os.chmod(reportfile, 0) report.write(f, only_new=True) except IOError as e: # this should happen very rarely; presumably a new crash report is # being generated by a background apport instance (which will set # the file to permissions zero while writing), while the first # report is being processed apport.error('Cannot update %s: %s' % (reportfile, e)) apport.fileutils.mark_report_seen(reportfile) os.chmod(reportfile, 0o640) class UserInterface: '''Apport user interface API. This provides an abstract base class for encapsulating the workflow and common code for any user interface implementation (like GTK, Qt, or CLI). A concrete subclass must implement all the abstract ui_* methods. ''' def __init__(self): '''Initialize program state and parse command line options.''' self.gettext_domain = 'apport' self.report = None self.report_file = None self.cur_package = None try: self.crashdb = apport.crashdb.get_crashdb(None) except ImportError as e: # this can happen while upgrading python packages apport.fatal('Could not import module, is a package upgrade in progress? Error: %s', str(e)) except KeyError: apport.fatal('/etc/apport/crashdb.conf is damaged: No default database') gettext.textdomain(self.gettext_domain) self.parse_argv() # # main entry points # def run_crashes(self): '''Present all currently pending crash reports. Ask the user what to do about them, and offer to file bugs for them. Crashes that occurred in a different desktop (logind) session than the one that is currently running are not processed. This skips crashes that happened during logout, which are uninteresting and confusing to see at the next login. Return True if at least one crash report was processed, False otherwise. ''' result = False if os.geteuid() == 0: reports = apport.fileutils.get_new_system_reports() logind_session = None else: reports = apport.fileutils.get_new_reports() logind_session = apport.Report.get_logind_session(os.getpid()) for f in reports: if not self.load_report(f): continue # Skip crashes that happened during logout, which are uninteresting # and confusing to see at the next login. A crash happened and gets # reported in the same session if the logind session paths agree # and the session started before the report's "Date". if logind_session and '_LogindSession' in self.report: if logind_session[0] != self.report['_LogindSession'] or \ logind_session[1] > self.report.get_timestamp(): continue if self.report['ProblemType'] == 'Hang': self.finish_hang(f) else: self.run_crash(f) result = True return result def run_crash(self, report_file, confirm=True): '''Present and report a particular crash. If confirm is True, ask the user what to do about it, and offer to file a bug for it. If confirm is False, the user will not be asked, and the crash is reported right away. ''' self.report_file = report_file try: try: apport.fileutils.mark_report_seen(report_file) except OSError: # not there any more? no problem, then it won't be regarded as # "seen" any more anyway pass if not self.report and not self.load_report(report_file): return if 'Ignore' in self.report: return # check for absent CoreDumps (removed if they exceed size limit) if self.report.get('ProblemType') == 'Crash' and 'Signal' in self.report and 'CoreDump' not in self.report and 'Stacktrace' not in self.report: subject = os.path.basename(self.report.get('ExecutablePath', _('unknown program'))) heading = _('Sorry, the program "%s" closed unexpectedly') % subject self.ui_error_message( _('Problem in %s') % subject, '%s\n\n%s' % (heading, _('Your computer does not have enough free ' 'memory to automatically analyze the problem ' 'and send a report to the developers.'))) return allowed_to_report = apport.fileutils.allowed_to_report() response = self.ui_present_report_details(allowed_to_report) if response['report'] or response['examine']: if 'Dependencies' not in self.report: self.collect_info() if self.report is None: # collect() does that on invalid reports return if response['examine']: self.examine() return if response['restart']: self.restart() if response['blacklist']: self.report.mark_ignore() if not response['report']: return apport.fileutils.mark_report_upload(report_file) # We check for duplicates and unreportable crashes here, rather # than before we show the dialog, as we want to submit these to the # crash database, but not Launchpad. if self.crashdb.accepts(self.report): # FIXME: This behaviour is not really correct, but necessary as # long as we only support a single crashdb and have whoopsie # hardcoded. Once we have multiple crash dbs, we need to check # accepts() earlier, and not even present the data if none of # the DBs wants the report. See LP#957177 for details. if self.handle_duplicate(): return if self.check_unreportable(): return self.file_report() except IOError as e: # fail gracefully if file is not readable for us if e.errno in (errno.EPERM, errno.EACCES): self.ui_error_message(_('Invalid problem report'), _('You are not allowed to access this problem report.')) sys.exit(1) elif e.errno == errno.ENOSPC: self.ui_error_message(_('Error'), _('There is not enough disk space available to process this report.')) sys.exit(1) else: self.ui_error_message(_('Invalid problem report'), e.strerror) sys.exit(1) except OSError as e: # fail gracefully on ENOMEM if e.errno == errno.ENOMEM: apport.fatal('Out of memory, aborting') else: raise def finish_hang(self, f): '''Finish processing a hanging application after the core pipe handler has handed the report back. This will signal to whoopsie that the report needs to be uploaded. ''' apport.fileutils.mark_report_upload(f) apport.fileutils.mark_report_seen(f) def run_hang(self, pid): '''Report an application hanging. This will first present a dialog containing the information it can collect from the running application (everything but the trace) with the option of terminating or restarting the application, optionally reporting that this error occurred. A SIGABRT will then be sent to the process and a series of noninteractive processes will collect the remaining information and mark the report for uploading. ''' self.report = apport.Report('Hang') self.report.add_proc_info(pid) self.report.add_package_info() path = self.report.get('ExecutablePath', '') self.cur_package = apport.fileutils.find_file_package(path) self.report.add_os_info() allowed_to_report = apport.fileutils.allowed_to_report() response = self.ui_present_report_details(allowed_to_report, modal_for=pid) if response['report']: apport.fileutils.mark_hanging_process(self.report, pid) os.kill(int(pid), signal.SIGABRT) else: os.kill(int(pid), signal.SIGKILL) if response['restart']: self.wait_for_pid(pid) self.restart() def wait_for_pid(self, pid): '''waitpid() does not work for non-child processes. Query the process state in a loop, waiting for "no such process." ''' while True: try: os.kill(int(pid), 0) except OSError as e: if e.errno == errno.ESRCH: break else: raise time.sleep(1) def kill_segv(self, pid): os.kill(int(pid), signal.SIGSEGV) def run_report_bug(self, symptom_script=None): '''Report a bug. If a pid is given on the command line, the report will contain runtime debug information. Either a package or a pid must be specified; if none is given, show a list of symptoms. If a symptom script is given, this will be run first (used by run_symptom()). ''' if not self.options.package and not self.options.pid and \ not symptom_script: if self.run_symptoms(): return True else: self.ui_error_message(_('No package specified'), _('You need to specify a package or a PID. See --help for more information.')) return False self.report = apport.Report('Bug') # if PID is given, add info if self.options.pid: try: with open('/proc/%s/stat' % self.options.pid) as f: stat = f.read().split() flags = int(stat[8]) if flags & PF_KTHREAD: # this PID is a kernel thread self.options.package = 'linux' else: self.report.add_proc_info(self.options.pid) except (ValueError, IOError, OSError) as e: if hasattr(e, 'errno'): # silently ignore nonexisting PIDs; the user must not close the # application prematurely if e.errno == errno.ENOENT: return False elif e.errno == errno.EACCES: self.ui_error_message(_('Permission denied'), _('The specified process does not belong to you. Please run this program as the process owner or as root.')) return False self.ui_error_message(_('Invalid PID'), _('The specified process ID does not belong to a program.')) return False else: self.report.add_proc_environ() if self.options.package: self.options.package = self.options.package.strip() # "Do what I mean" for filing against "linux" if self.options.package == 'linux': self.cur_package = apport.packaging.get_kernel_package() else: self.cur_package = self.options.package try: self.collect_info(symptom_script) except ValueError as e: if 'package' in str(e) and 'does not exist' in str(e): if not self.cur_package: self.ui_error_message(_('Invalid problem report'), _('Symptom script %s did not determine an affected package') % symptom_script) else: self.ui_error_message(_('Invalid problem report'), _('Package %s does not exist') % self.cur_package) return False else: raise if self.check_unreportable(): return self.add_extra_tags() if self.handle_duplicate(): return True # not useful for bug reports, and has potentially sensitive information try: del self.report['ProcCmdline'] except KeyError: pass if self.options.save: try: with open(os.path.expanduser(self.options.save), 'wb') as f: self.report.write(f) except (IOError, OSError) as e: self.ui_error_message(_('Cannot create report'), excstr(e)) else: # show what's being sent allowed_to_report = apport.fileutils.allowed_to_report() response = self.ui_present_report_details(allowed_to_report) if response['report']: self.file_report() return True def run_update_report(self): '''Update an existing bug with locally collected information.''' # avoid irrelevant noise if not self.crashdb.can_update(self.options.update_report): self.ui_error_message(_('Updating problem report'), _('You are not the reporter or subscriber of this ' 'problem report, or the report is a duplicate or already ' 'closed.\n\nPlease create a new report using "apport-bug".')) return False is_reporter = self.crashdb.is_reporter(self.options.update_report) if not is_reporter: r = self.ui_question_yesno( _('You are not the reporter of this problem report. It ' 'is much easier to mark a bug as a duplicate of another ' 'than to move your comments and attachments to a new bug.\n\n' 'Subsequently, we recommend that you file a new bug report ' 'using "apport-bug" and make a comment in this bug about ' 'the one you file.\n\n' 'Do you really want to proceed?')) if not r: return False # list of affected source packages self.report = apport.Report('Bug') if self.options.package: pkgs = [self.options.package.strip()] else: pkgs = self.crashdb.get_affected_packages(self.options.update_report) info_collected = False for p in pkgs: # print('Collecting apport information for source package %s...' % p) self.cur_package = p self.report['SourcePackage'] = p self.report['Package'] = p # no way to find this out # we either must have the package installed or a source package hook # available to collect sensible information try: apport.packaging.get_version(p) except ValueError: if not os.path.exists(os.path.join(apport.report._hook_dir, 'source_%s.py' % p)): print('Package %s not installed and no hook available, ignoring' % p) continue self.collect_info(ignore_uninstalled=True) info_collected = True if not info_collected: self.ui_info_message(_('Updating problem report'), _('No additional information collected.')) return False self.report.add_user_info() self.report.add_proc_environ() self.add_extra_tags() # delete the uninteresting keys del self.report['ProblemType'] del self.report['Date'] try: del self.report['SourcePackage'] except KeyError: pass if len(self.report) == 0: self.ui_info_message(_('Updating problem report'), _('No additional information collected.')) return False # show what's being sent allowed_to_report = apport.fileutils.allowed_to_report() response = self.ui_present_report_details(allowed_to_report) if response['report']: self.crashdb.update(self.options.update_report, self.report, 'apport information', change_description=is_reporter, attachment_comment='apport information') return True return False def run_symptoms(self): '''Report a bug from a list of available symptoms. Return False if no symptoms are available. ''' scripts = glob.glob(os.path.join(symptom_script_dir, '*.py')) symptom_names = [] symptom_descriptions = [] for script in scripts: # scripts with an underscore can be used for private libraries if os.path.basename(script).startswith('_'): continue symb = {} try: with open(script) as f: exec(compile(f.read(), script, 'exec'), symb) except: apport.error('symptom script %s is invalid', script) traceback.print_exc() continue if 'run' not in symb: apport.error('symptom script %s does not define run() function', script) continue symptom_names.append(os.path.splitext(os.path.basename(script))[0]) symptom_descriptions.append(symb.get('description', symptom_names[-1])) if not symptom_names: return False symptom_descriptions, symptom_names = \ zip(*sorted(zip(symptom_descriptions, symptom_names))) symptom_descriptions = list(symptom_descriptions) symptom_names = list(symptom_names) symptom_names.append(None) symptom_descriptions.append('Other problem') ch = self.ui_question_choice(_('What kind of problem do you want to report?'), symptom_descriptions, False) if ch is not None: symptom = symptom_names[ch[0]] if symptom: self.run_report_bug(os.path.join(symptom_script_dir, symptom + '.py')) else: return False return True def run_symptom(self): '''Report a bug with a symptom script.''' script = os.path.join(symptom_script_dir, self.options.symptom + '.py') if not os.path.exists(script): self.ui_error_message(_('Unknown symptom'), _('The symptom "%s" is not known.') % self.options.symptom) return self.run_report_bug(script) def run_argv(self): '''Call appopriate run_* method according to command line arguments. Return True if at least one report has been processed, and False otherwise. ''' if self.options.symptom: self.run_symptom() return True elif hasattr(self.options, 'pid') and self.options.hanging: self.run_hang(self.options.pid) return True elif self.options.filebug: return self.run_report_bug() elif self.options.update_report is not None: return self.run_update_report() elif self.options.version: print(__version__) return True elif self.options.crash_file: try: self.run_crash(self.options.crash_file, False) except OSError as e: self.ui_error_message(_('Invalid problem report'), excstr(e)) return True elif self.options.window: self.ui_info_message('', _('After closing this message ' 'please click on an application window to report a problem about it.')) xprop = subprocess.Popen(['xprop', '_NET_WM_PID'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) (out, err) = xprop.communicate() if xprop.returncode == 0: try: self.options.pid = int(out.split()[-1]) except ValueError: self.ui_error_message(_('Cannot create report'), _('xprop failed to determine process ID of the window')) return True return self.run_report_bug() else: self.ui_error_message(_('Cannot create report'), _('xprop failed to determine process ID of the window') + '\n\n' + err) return True else: return self.run_crashes() # # methods that implement workflow bits # def parse_argv_update(self): '''Parse command line options when being invoked in update mode. Return (options, args). ''' optparser = optparse.OptionParser(_('%prog <report number>')) optparser.add_option('-p', '--package', help=_('Specify package name.')) optparser.add_option('--tag', action='append', default=[], help=_('Add an extra tag to the report. Can be specified multiple times.')) (self.options, self.args) = optparser.parse_args() if len(self.args) != 1 or not self.args[0].isdigit(): optparser.error('You need to specify a report number to update') sys.exit(1) self.options.update_report = int(self.args[0]) self.options.symptom = None self.options.filebug = False self.options.crash_file = None self.options.version = None self.args = [] def parse_argv(self): '''Parse command line options. If a single argument is given without any options, this tries to "do what I mean". ''' # invoked in update mode? if len(sys.argv) > 0: if 'APPORT_INVOKED_AS' in os.environ: sys.argv[0] = os.path.join(os.path.dirname(sys.argv[0]), os.path.basename(os.environ['APPORT_INVOKED_AS'])) cmd = sys.argv[0] if cmd.endswith('-update-bug') or cmd.endswith('-collect'): self.parse_argv_update() return optparser = optparse.OptionParser(_('%prog [options] [symptom|pid|package|program path|.apport/.crash file]')) optparser.add_option('-f', '--file-bug', action='store_true', dest='filebug', default=False, help=_('Start in bug filing mode. Requires --package and an optional --pid, or just a --pid. If neither is given, display a list of known symptoms. (Implied if a single argument is given.)')) optparser.add_option('-w', '--window', action='store_true', default=False, help=_('Click a window as a target for filing a problem report.')) optparser.add_option('-u', '--update-bug', type='int', dest='update_report', help=_('Start in bug updating mode. Can take an optional --package.')) optparser.add_option('-s', '--symptom', metavar='SYMPTOM', help=_('File a bug report about a symptom. (Implied if symptom name is given as only argument.)')) optparser.add_option('-p', '--package', help=_('Specify package name in --file-bug mode. This is optional if a --pid is specified. (Implied if package name is given as only argument.)')) optparser.add_option('-P', '--pid', type='int', help=_('Specify a running program in --file-bug mode. If this is specified, the bug report will contain more information. (Implied if pid is given as only argument.)')) optparser.add_option('--hanging', action='store_true', default=False, help=_('The provided pid is a hanging application.')) optparser.add_option('-c', '--crash-file', metavar='PATH', help=_('Report the crash from given .apport or .crash file instead of the pending ones in %s. (Implied if file is given as only argument.)') % apport.fileutils.report_dir) optparser.add_option('--save', metavar='PATH', help=_('In bug filing mode, save the collected information into a file instead of reporting it. This file can then be reported later on from a different machine.')) optparser.add_option('--tag', action='append', default=[], help=_('Add an extra tag to the report. Can be specified multiple times.')) optparser.add_option('-v', '--version', action='store_true', help=_('Print the Apport version number.')) if len(sys.argv) > 0 and cmd.endswith('-bug'): for o in ('-f', '-u', '-s', '-p', '-P', '-c'): optparser.get_option(o).help = optparse.SUPPRESS_HELP (self.options, self.args) = optparser.parse_args() # mutually exclusive arguments if self.options.update_report: if self.options.filebug or self.options.window or self.options.symptom \ or self.options.pid or self.options.crash_file or self.options.save: optparser.error('-u/--update-bug option cannot be used together with options for a new report') # "do what I mean" for zero or one arguments if len(sys.argv) == 0: return # no argument: default to "show pending crashes" except when called in # bug mode # NOTE: uses sys.argv, since self.args if empty for all the options, # e.g. "-v" or "-u $BUG" if len(sys.argv) == 1 and cmd.endswith('-bug'): self.options.filebug = True return # one argument: guess "file bug" mode by argument type if len(self.args) != 1: return # symptom? if os.path.exists(os.path.join(symptom_script_dir, self.args[0] + '.py')): self.options.filebug = True self.options.symptom = self.args[0] self.args = [] # .crash/.apport file? elif self.args[0].endswith('.crash') or self.args[0].endswith('.apport'): self.options.crash_file = self.args[0] self.args = [] # PID? elif self.args[0].isdigit(): self.options.filebug = True self.options.pid = self.args[0] self.args = [] # executable? elif '/' in self.args[0]: pkg = apport.packaging.get_file_package(self.args[0]) if not pkg: optparser.error('%s does not belong to a package.' % self.args[0]) sys.exit(1) self.args = [] self.options.filebug = True self.options.package = pkg # otherwise: package name else: self.options.filebug = True self.options.package = self.args[0] self.args = [] def format_filesize(self, size): '''Format the given integer as humanly readable and i18n'ed file size.''' if size < 1000000: return locale.format('%.1f', size / 1000.) + ' KB' if size < 1000000000: return locale.format('%.1f', size / 1000000.) + ' MB' return locale.format('%.1f', size / float(1000000000)) + ' GB' def get_complete_size(self): '''Return the size of the complete report.''' # report wasn't loaded, so count manually size = 0 for k in self.report: if self.report[k]: try: # if we have a compressed value, take its size, but take # base64 overhead into account size += len(self.report[k].gzipvalue) * 8 / 6 except AttributeError: size += len(self.report[k]) return size def get_reduced_size(self): '''Return the size of the reduced report.''' size = 0 for k in self.report: if k != 'CoreDump': if self.report[k]: try: # if we have a compressed value, take its size, but take # base64 overhead into account size += len(self.report[k].gzipvalue) * 8 / 6 except AttributeError: size += len(self.report[k]) return size def can_examine_locally(self): '''Check whether to offer the "Examine locally" button. This will be true if the report has a core dump, apport-retrace is installed and a terminal is available (see ui_run_terminal()). ''' if not self.report or 'CoreDump' not in self.report: return False try: if subprocess.call(['which', 'apport-retrace'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) != 0: return False except OSError: return False try: return self.ui_run_terminal(None) except NotImplementedError: return False def restart(self): '''Reopen the crashed application.''' assert 'ProcCmdline' in self.report if os.fork() == 0: os.setsid() os.execlp('sh', 'sh', '-c', self.report.get('RespawnCommand', self.report['ProcCmdline'])) sys.exit(1) def examine(self): '''Locally examine crash report.''' response = self.ui_question_choice( _('This will launch apport-retrace in a terminal window to examine the crash.'), [_('Run gdb session'), _('Run gdb session without downloading debug symbols'), # TRANSLATORS: %s contains the crash report file name _('Update %s with fully symbolic stack trace') % self.report_file, ], False) if response is None: return retrace_with_download = 'apport-retrace -S system -C %s -v ' % os.path.expanduser( '~/.cache/apport/retrace') retrace_no_download = 'apport-retrace ' filearg = "'" + self.report_file.replace("'", "'\\''") + "'" cmds = { 0: retrace_with_download + '--gdb ' + filearg, 1: retrace_no_download + '--gdb ' + filearg, 2: retrace_with_download + '--output ' + filearg + ' ' + filearg, } self.ui_run_terminal(cmds[response[0]]) def check_report_crashdb(self): '''Process reports' CrashDB field, if present''' if 'CrashDB' not in self.report: return True # specification? if self.report['CrashDB'].lstrip().startswith('{'): try: spec = eval(self.report['CrashDB'], {}) assert isinstance(spec, dict) assert 'impl' in spec except: self.report['UnreportableReason'] = 'A package hook defines an invalid crash database definition:\n%s' % self.report['CrashDB'] return False try: self.crashdb = apport.crashdb.load_crashdb(None, spec) except (ImportError, KeyError): self.report['UnreportableReason'] = 'A package hook wants to send this report to the crash database "%s" which does not exist.' % self.report['CrashDB'] else: # DB name try: self.crashdb = apport.crashdb.get_crashdb(None, self.report['CrashDB']) except (ImportError, KeyError): self.report['UnreportableReason'] = 'A package hook wants to send this report to the crash database "%s" which does not exist.' % self.report['CrashDB'] return False return True def collect_info(self, symptom_script=None, ignore_uninstalled=False, on_finished=None): '''Collect additional information. Call all the add_*_info() methods and display a progress dialog during this. In particular, this adds OS, package and gdb information and checks bug patterns. If a symptom script is given, this will be run first (used by run_symptom()). ''' # check if we already ran (we might load a processed report), skip if so if (self.report.get('ProblemType') == 'Crash' and 'Stacktrace' in self.report) or (self.report.get('ProblemType') != 'Crash' and 'Dependencies' in self.report): if on_finished: on_finished() return # ensure that the crashed program is still installed: if self.report.get('ProblemType') == 'Crash': exe_path = self.report.get('ExecutablePath', '') if not os.path.exists(exe_path): msg = _('This problem report applies to a program which is not installed any more.') if exe_path: msg = '%s (%s)' % (msg, self.report['ExecutablePath']) self.report['UnreportableReason'] = msg if on_finished: on_finished() return if 'InterpreterPath' in self.report: if not os.path.exists(self.report['InterpreterPath']): msg = _('This problem report applies to a program which is not installed any more.') self.report['UnreportableReason'] = '%s (%s)' % (msg, self.report['InterpreterPath']) if on_finished: on_finished() return # check if binary changed since the crash happened if 'ExecutablePath' in self.report and 'ExecutableTimestamp' in self.report: orig_time = int(self.report['ExecutableTimestamp']) del self.report['ExecutableTimestamp'] cur_time = int(os.stat(self.report['ExecutablePath']).st_mtime) if orig_time != cur_time: self.report['UnreportableReason'] = ( _('The problem happened with the program %s which changed ' 'since the crash occurred.') % self.report['ExecutablePath']) return if not self.cur_package and 'ExecutablePath' not in self.report \ and not symptom_script: # this happens if we file a bug without specifying a PID or a # package self.report.add_os_info() else: # since this might take a while, create separate threads and # display a progress dialog. self.ui_start_info_collection_progress() # only use a UI for asking questions if the crash db will accept # the report if self.crashdb.accepts(self.report): hookui = HookUI(self) else: hookui = None if 'Stacktrace' not in self.report: # save original environment, in case hooks change it orig_env = os.environ.copy() icthread = apport.REThread.REThread(target=thread_collect_info, name='thread_collect_info', args=(self.report, self.report_file, self.cur_package, hookui, symptom_script, ignore_uninstalled)) icthread.start() while icthread.isAlive(): self.ui_pulse_info_collection_progress() if hookui: try: hookui.process_event() except KeyboardInterrupt: sys.exit(1) icthread.join() # restore original environment os.environ.clear() os.environ.update(orig_env) try: icthread.exc_raise() except (IOError, EOFError, zlib.error) as e: # can happen with broken core dumps self.report['UnreportableReason'] = '%s\n\n%s' % ( _('This problem report is damaged and cannot be processed.'), repr(e)) except ValueError: # package does not exist self.report['UnreportableReason'] = _('The report belongs to a package that is not installed.') except Exception as e: apport.error(repr(e)) self.report['UnreportableReason'] = _('An error occurred while attempting to ' 'process this problem report:') + '\n\n' + str(e) if 'UnreportableReason' in self.report or not self.check_report_crashdb(): self.ui_stop_info_collection_progress() if on_finished: on_finished() return # check bug patterns if self.report.get('ProblemType') == 'KernelCrash' or self.report.get('ProblemType') == 'KernelOops' or 'Package' in self.report: bpthread = apport.REThread.REThread(target=self.report.search_bug_patterns, args=(self.crashdb.get_bugpattern_baseurl(),)) bpthread.start() while bpthread.isAlive(): self.ui_pulse_info_collection_progress() try: bpthread.join(0.1) except KeyboardInterrupt: sys.exit(1) try: bpthread.exc_raise() except (IOError, EOFError, zlib.error) as e: # can happen with broken gz values self.report['UnreportableReason'] = '%s\n\n%s' % ( _('This problem report is damaged and cannot be processed.'), repr(e)) if bpthread.return_value(): self.report['_KnownReport'] = bpthread.return_value() # check crash database if problem is known if self.report.get('ProblemType') != 'Bug': known_thread = apport.REThread.REThread(target=self.crashdb.known, args=(self.report,)) known_thread.start() while known_thread.isAlive(): self.ui_pulse_info_collection_progress() try: known_thread.join(0.1) except KeyboardInterrupt: sys.exit(1) known_thread.exc_raise() val = known_thread.return_value() if val is not None: if val is True: self.report['_KnownReport'] = '1' else: self.report['_KnownReport'] = val # anonymize; needs to happen after duplicate checking, otherwise we # might damage the stack trace anonymize_thread = apport.REThread.REThread(target=self.report.anonymize) anonymize_thread.start() while anonymize_thread.isAlive(): self.ui_pulse_info_collection_progress() try: anonymize_thread.join(0.1) except KeyboardInterrupt: sys.exit(1) anonymize_thread.exc_raise() self.ui_stop_info_collection_progress() # check that we were able to determine package names if 'UnreportableReason' not in self.report: if (('SourcePackage' not in self.report and 'Dependencies' not in self.report) or (not self.report.get('ProblemType', '').startswith('Kernel') and 'Package' not in self.report)): self.ui_error_message(_('Invalid problem report'), _('Could not determine the package or source package name.')) # TODO This is not called consistently, is it really needed? self.ui_shutdown() sys.exit(1) if on_finished: on_finished() def open_url(self, url): '''Open the given URL in a new browser window. Display an error dialog if everything fails. ''' (r, w) = os.pipe() if os.fork() > 0: os.close(w) (pid, status) = os.wait() if status: title = _('Unable to start web browser') error = _('Unable to start web browser to open %s.' % url) message = os.fdopen(r).readline() if message: error += '\n' + message self.ui_error_message(title, error) try: os.close(r) except OSError: pass return os.setsid() os.close(r) # If we are called through pkexec/sudo, determine the real user id and # run the browser with it to get the user's web browser settings. try: uid = int(os.getenv('PKEXEC_UID', os.getenv('SUDO_UID'))) sudo_prefix = ['sudo', '-H', '-u', '#' + str(uid)] # restore some environment for xdg-open; it's incredibly hard, or # alternatively, unsafe to funnel it through pkexec/env/sudo, so # grab it from gvfsd try: out = subprocess.check_output( ['pgrep', '-a', '-x', '-u', str(uid), 'gvfsd']).decode('UTF-8') pid = out.splitlines()[0].split()[0] # find the D-BUS address with open('/proc/%s/environ' % pid, 'rb') as f: env = f.read().split(b'\0') for e in env: if e.startswith(b'DBUS_SESSION_BUS_ADDRESS='): sudo_prefix.append('DBUS_SESSION_BUS_ADDRESS=' + e.split(b'=', 1)[1].decode()) break except (subprocess.CalledProcessError, IOError): pass except TypeError: sudo_prefix = [] try: try: subprocess.call(sudo_prefix + ['xdg-open', url]) except OSError as e: # fall back to webbrowser webbrowser.open(url, new=True, autoraise=True) sys.exit(0) except Exception as e: os.write(w, str(e)) sys.exit(1) os._exit(0) def file_report(self): '''Upload the current report and guide the user to the reporting web page.''' # FIXME: This behaviour is not really correct, but necessary as # long as we only support a single crashdb and have whoopsie # hardcoded. Once we have multiple crash dbs, we need to check # accepts() earlier, and not even present the data if none of # the DBs wants the report. See LP#957177 for details. if not self.crashdb.accepts(self.report): return # drop PackageArchitecture if equal to Architecture if self.report.get('PackageArchitecture') == self.report.get('Architecture'): try: del self.report['PackageArchitecture'] except KeyError: pass # StacktraceAddressSignature is redundant and does not need to clutter # the database try: del self.report['StacktraceAddressSignature'] except KeyError: pass global __upload_progress __upload_progress = None def progress_callback(sent, total): global __upload_progress __upload_progress = float(sent) / total # drop internal/uninteresting keys, that start with "_" for k in list(self.report): if k.startswith('_'): del self.report[k] self.ui_start_upload_progress() upthread = apport.REThread.REThread(target=self.crashdb.upload, args=(self.report, progress_callback)) upthread.start() while upthread.isAlive(): self.ui_set_upload_progress(__upload_progress) try: upthread.join(0.1) upthread.exc_raise() except KeyboardInterrupt: sys.exit(1) except apport.crashdb.NeedsCredentials as e: message = _('Please enter your account information for the ' '%s bug tracking system') data = self.ui_question_userpass(message % excstr(e)) if data is not None: user, password = data self.crashdb.set_credentials(user, password) upthread = apport.REThread.REThread(target=self.crashdb.upload, args=(self.report, progress_callback)) upthread.start() except (TypeError, SyntaxError, ValueError): raise except Exception as e: self.ui_error_message(_('Network problem'), '%s\n\n%s' % ( _('Cannot connect to crash database, please check your Internet connection.'), excstr(e))) return upthread.exc_raise() ticket = upthread.return_value() self.ui_stop_upload_progress() url = self.crashdb.get_comment_url(self.report, ticket) if url: self.open_url(url) def load_report(self, path): '''Load report from given path and do some consistency checks. This might issue an error message and return False if the report cannot be processed, otherwise self.report is initialized and True is returned. ''' try: self.report = apport.Report() with open(path, 'rb') as f: self.report.load(f, binary='compressed') if 'ProblemType' not in self.report: raise ValueError('Report does not contain "ProblemType" field') except MemoryError: self.report = None self.ui_error_message(_('Memory exhaustion'), _('Your system does not have enough memory to process this crash report.')) return False except IOError as e: self.report = None self.ui_error_message(_('Invalid problem report'), e.strerror) return False except (TypeError, ValueError, AssertionError, zlib.error) as e: self.report = None self.ui_error_message(_('Invalid problem report'), '%s\n\n%s' % ( _('This problem report is damaged and cannot be processed.'), repr(e))) return False if 'Package' in self.report: self.cur_package = self.report['Package'].split()[0] else: self.cur_package = apport.fileutils.find_file_package(self.report.get('ExecutablePath', '')) return True def check_unreportable(self): '''Check if the current report is unreportable. If so, display an info message and return True. ''' if not self.crashdb.accepts(self.report): return False if 'UnreportableReason' in self.report: if type(self.report['UnreportableReason']) == bytes: self.report['UnreportableReason'] = self.report['UnreportableReason'].decode('UTF-8') if 'Package' in self.report: title = _('Problem in %s') % self.report['Package'].split()[0] else: title = '' self.ui_info_message(title, _('The problem cannot be reported:\n\n%s') % self.report['UnreportableReason']) return True return False def get_desktop_entry(self): '''Return a .desktop info dictionary for the current report. Return None if report cannot be associated to a .desktop file. ''' if 'DesktopFile' in self.report and os.path.exists(self.report['DesktopFile']): desktop_file = self.report['DesktopFile'] else: try: desktop_file = apport.fileutils.find_package_desktopfile(self.cur_package) except ValueError: return None if not desktop_file: return None if PY3: cp = ConfigParser(interpolation=None, strict=False) kwargs = {'encoding': 'UTF-8'} else: cp = ConfigParser() kwargs = {} try: cp.read(desktop_file, **kwargs) except Exception as e: if 'onfig' in str(e.__class__) and 'arser' in str(e.__class__): sys.stderr.write('Warning! %s is broken: %s\n' % (desktop_file, str(e))) return None else: raise if not cp.has_section('Desktop Entry'): return None result = dict(cp.items('Desktop Entry')) if 'name' not in result: return None return result def handle_duplicate(self): '''Check if current report matches a bug pattern. If so, tell the user about it, open the existing bug in a browser, and return True. ''' if not self.crashdb.accepts(self.report): return False if '_KnownReport' not in self.report: return False # if we have an URL, open it; otherwise this is just a marker that we # know about it if self.report['_KnownReport'].startswith('http'): self.ui_info_message(_('Problem already known'), _('This problem was already reported in the bug report displayed \ in the web browser. Please check if you can add any further information that \ might be helpful for the developers.')) self.open_url(self.report['_KnownReport']) else: self.ui_info_message(_('Problem already known'), _('This problem was already reported to developers. Thank you!')) return True def add_extra_tags(self): '''Add extra tags to report specified with --tags on CLI.''' assert self.report if self.options.tag: tags = self.report.get('Tags', '') if tags: tags += ' ' self.report['Tags'] = tags + ' '.join(self.options.tag) # # abstract UI methods that must be implemented in derived classes # def ui_present_report_details(self, allowed_to_report=True, modal_for=None): '''Show details of the bug report. Return the action and options as a dictionary: - Valid keys are: report the crash ('report'), restart the crashed application ('restart'), or blacklist further crashes ('blacklist'). ''' raise NotImplementedError('this function must be overridden by subclasses') def ui_info_message(self, title, text): '''Show an information message box with given title and text.''' raise NotImplementedError('this function must be overridden by subclasses') def ui_error_message(self, title, text): '''Show an error message box with given title and text.''' raise NotImplementedError('this function must be overridden by subclasses') def ui_start_info_collection_progress(self): '''Open a indefinite progress bar for data collection. This tells the user to wait while debug information is being collected. ''' raise NotImplementedError('this function must be overridden by subclasses') def ui_pulse_info_collection_progress(self): '''Advance the data collection progress bar. This function is called every 100 ms. ''' raise NotImplementedError('this function must be overridden by subclasses') def ui_stop_info_collection_progress(self): '''Close debug data collection progress window.''' raise NotImplementedError('this function must be overridden by subclasses') def ui_start_upload_progress(self): '''Open progress bar for data upload. This tells the user to wait while debug information is being uploaded. ''' raise NotImplementedError('this function must be overridden by subclasses') def ui_set_upload_progress(self, progress): '''Update data upload progress bar. Set the progress bar in the debug data upload progress window to the given ratio (between 0 and 1, or None for indefinite progress). This function is called every 100 ms. ''' raise NotImplementedError('this function must be overridden by subclasses') def ui_stop_upload_progress(self): '''Close debug data upload progress window.''' raise NotImplementedError('this function must be overridden by subclasses') def ui_shutdown(self): '''Called right before terminating the program. This can be used for for cleaning up. ''' pass def ui_run_terminal(self, command): '''Run command in, or check for a terminal window. If command is given, run command in a terminal window; raise an exception if terminal cannot be opened. If command is None, merely check if a terminal application is available and can be launched. ''' raise NotImplementedError('this function must be overridden by subclasses') # # Additional UI dialogs; these are not required by Apport itself, but can # be used by interactive package hooks # def ui_question_yesno(self, text): '''Show a yes/no question. Return True if the user selected "Yes", False if selected "No" or "None" on cancel/dialog closing. ''' raise NotImplementedError('this function must be overridden by subclasses') def ui_question_choice(self, text, options, multiple): '''Show an question with predefined choices. options is a list of strings to present. If multiple is True, they should be check boxes, if multiple is False they should be radio buttons. Return list of selected option indexes, or None if the user cancelled. If multiple == False, the list will always have one element. ''' raise NotImplementedError('this function must be overridden by subclasses') def ui_question_file(self, text): '''Show a file selector dialog. Return path if the user selected a file, or None if cancelled. ''' raise NotImplementedError('this function must be overridden by subclasses') def ui_question_userpass(self, message): '''Request username and password from user. message is the text to be presented to the user when requesting for username and password information. Return a tuple (username, password), or None if cancelled. ''' raise NotImplementedError('this function must be overridden by subclasses') class HookUI: '''Interactive functions which can be used in package hooks. This provides an interface for package hooks which need to ask interactive questions. Directly passing the UserInterface instance to the hooks needs to be avoided, since we need to call the UI methods in a different thread, and also don't want hooks to be able to poke in the UI. ''' def __init__(self, ui): '''Create a HookUI object. ui is the UserInterface instance to wrap. ''' self.ui = ui # variables for communicating with the UI thread self._request_event = threading.Event() self._response_event = threading.Event() self._request_fn = None self._request_args = None self._response = None # # API for hooks # def information(self, text): '''Show an information with OK/Cancel buttons. This can be used for asking the user to perform a particular action, such as plugging in a device which does not work. ''' return self._trigger_ui_request('ui_info_message', '', text) def yesno(self, text): '''Show a yes/no question. Return True if the user selected "Yes", False if selected "No" or "None" on cancel/dialog closing. ''' return self._trigger_ui_request('ui_question_yesno', text) def choice(self, text, options, multiple=False): '''Show an question with predefined choices. options is a list of strings to present. If multiple is True, they should be check boxes, if multiple is False they should be radio buttons. Return list of selected option indexes, or None if the user cancelled. If multiple == False, the list will always have one element. ''' return self._trigger_ui_request('ui_question_choice', text, options, multiple) def file(self, text): '''Show a file selector dialog. Return path if the user selected a file, or None if cancelled. ''' return self._trigger_ui_request('ui_question_file', text) # # internal API for inter-thread communication # def _trigger_ui_request(self, fn, *args): '''Called by HookUi functions in info collection thread.''' # only one at a time assert not self._request_event.is_set() assert not self._response_event.is_set() assert self._request_fn is None self._response = None self._request_fn = fn self._request_args = args self._request_event.set() self._response_event.wait() self._request_fn = None self._response_event.clear() return self._response def process_event(self): '''Called by GUI thread to check and process hook UI requests.''' # sleep for 0.1 seconds to wait for events self._request_event.wait(0.1) if not self._request_event.is_set(): return assert not self._response_event.is_set() self._request_event.clear() self._response = getattr(self.ui, self._request_fn)(*self._request_args) self._response_event.set() ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/apport/crashdb_impl/__init__.py�������������������������������������������������������0000644�0000000�0000000�00000000000�12677230222�017265� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/apport/crashdb_impl/debian.py���������������������������������������������������������0000644�0000000�0000000�00000010322�12677230222�016760� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'''Debian crash database interface.''' # Debian adaptation Copyright (C) 2012 Ritesh Raj Sarraf <rrs@debian.org> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import smtplib, tempfile from email.mime.text import MIMEText import apport import apport.crashdb class CrashDatabase(apport.crashdb.CrashDatabase): ''' Debian crash database This is a Apport CrashDB implementation for interacting with Debian BTS ''' def __init__(self, auth_file, options): ''' Initialize crash database connection. Debian implementation is pretty basic as most of its bug management processes revolve around the email interface ''' apport.crashdb.CrashDatabase.__init__(self, auth_file, options) self.options = options if not self.options.get('smtphost'): self.options['smtphost'] = 'reportbug.debian.org' if not self.options.get('recipient'): self.options['recipient'] = 'submit@bugs.debian.org' def accepts(self, report): ''' Check if this report can be uploaded to this database. Checks for the proper settings of apport. ''' if not self.options.get('sender') and 'UnreportableReason' not in report: report['UnreportableReason'] = 'Please configure sender settings in /etc/apport/crashdb.conf' # At this time, we are not ready to take CrashDumps if 'Stacktrace' in report and not report.has_useful_stacktrace(): report['UnreportableReason'] = 'Incomplete backtrace. Please install the debug symbol packages' return apport.crashdb.CrashDatabase.accepts(self, report) def upload(self, report, progress_callback=None): '''Upload given problem report return a handle for it. In Debian, we use BTS, which is heavily email oriented This method crafts the bug into an email report understood by Debian BTS ''' # first and foremost, let's check if the apport bug filing settings are set correct assert self.accepts(report) # Frame the report in the format the BTS understands try: (buggyPackage, buggyVersion) = report['Package'].split(' ') except (KeyError, ValueError): return False temp = tempfile.NamedTemporaryFile() temp.file.write(('Package: ' + buggyPackage + '\n').encode('UTF-8')) temp.file.write(('Version: ' + buggyVersion + '\n\n\n').encode('UTF-8')) temp.file.write(('=============================\n\n').encode('UTF-8')) # Let's remove the CoreDump first # Even if we have a valid backtrace, we already are reporting it as text # We don't want to send very large emails to the BTS. # OTOH, if the backtrace is invalid, has_useful_backtrace() will already # deny reporting of the bug report. try: del report['CoreDump'] except KeyError: pass # Now write the apport bug report report.write(temp) temp.file.seek(0) msg = MIMEText(temp.file.read().decode('UTF-8')) msg['Subject'] = report['Title'] msg['From'] = self.options['sender'] msg['To'] = self.options['recipient'] # Subscribe the submitted to the bug report msg.add_header('X-Debbugs-CC', self.options['sender']) msg.add_header('Usertag', 'apport-%s' % report['ProblemType'].lower()) s = smtplib.SMTP(self.options['smtphost']) s.sendmail(self.options['sender'], self.options['recipient'], msg.as_string().encode('UTF-8')) s.quit() def get_comment_url(self, report, handle): ''' Return an URL that should be opened after report has been uploaded and upload() returned handle. Should return None if no URL should be opened (anonymous filing without user comments); in that case this function should do whichever interactive steps it wants to perform. ''' return None ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/apport/crashdb_impl/launchpad.py������������������������������������������������������0000644�0000000�0000000�00000245647�12677230222�017521� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# vim: set fileencoding=UTF-8 : '''Crash database implementation for Launchpad.''' # Copyright (C) 2007 - 2009 Canonical Ltd. # Authors: Martin Pitt <martin.pitt@ubuntu.com> and Markus Korn <thekorn@gmx.de> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import tempfile, atexit, os.path, re, gzip, sys, email, time, shutil from io import BytesIO if sys.version_info.major == 2: from urllib2 import HTTPSHandler, Request, build_opener from httplib import HTTPSConnection from urllib import urlencode, urlopen (HTTPSHandler, Request, build_opener, HTTPSConnection, urlencode, urlopen) # pyflakes _python2 = True else: from urllib.request import HTTPSHandler, Request, build_opener, urlopen from urllib.parse import urlencode from http.client import HTTPSConnection _python2 = False try: from launchpadlib.errors import HTTPError from launchpadlib.launchpad import Launchpad Launchpad # pyflakes except ImportError: # if launchpadlib is not available, only client-side reporting will work Launchpad = None import apport.crashdb import apport default_credentials_path = os.path.expanduser('~/.cache/apport/launchpad.credentials') def filter_filename(attachments): for attachment in attachments: try: f = attachment.data.open() except HTTPError: apport.error('Broken attachment on bug, ignoring') continue name = f.filename if name.endswith('.txt') or name.endswith('.gz'): yield f def id_set(tasks): # same as set(int(i.bug.id) for i in tasks) but faster return set(int(i.self_link.split('/').pop()) for i in tasks) class CrashDatabase(apport.crashdb.CrashDatabase): '''Launchpad implementation of crash database interface.''' def __init__(self, auth, options): '''Initialize Launchpad crash database. You need to specify a launchpadlib-style credentials file to access launchpad. If you supply None, it will use default_credentials_path (~/.cache/apport/launchpad.credentials). Recognized options are: - distro: Name of the distribution in Launchpad - project: Name of the project in Launchpad (Note that exactly one of "distro" or "project" must be given.) - launchpad_instance: If set, this uses the given launchpad instance instead of production (optional). This can be overriden or set by $APPORT_LAUNCHPAD_INSTANCE environment. - cache_dir: Path to a permanent cache directory; by default it uses a temporary one. (optional). This can be overridden or set by $APPORT_LAUNCHPAD_CACHE environment. - escalation_subscription: This subscribes the given person or team to a bug once it gets the 10th duplicate. - escalation_tag: This adds the given tag to a bug once it gets more than 10 duplicates. - initial_subscriber: The Launchpad user which gets subscribed to newly filed bugs (default: "apport"). It should be a bot user which the crash-digger instance runs as, as this will get to see all bug details immediately. - triaging_team: The Launchpad user/team which gets subscribed after updating a crash report bug by the retracer (default: "ubuntu-crashes-universe") - architecture: If set, this sets and watches out for needs-*-retrace tags of this architecture. This is useful when being used with apport-retrace and crash-digger to process crash reports of foreign architectures. Defaults to system architecture. ''' if os.getenv('APPORT_LAUNCHPAD_INSTANCE'): options['launchpad_instance'] = os.getenv( 'APPORT_LAUNCHPAD_INSTANCE') if not auth: lp_instance = options.get('launchpad_instance') if lp_instance: auth = default_credentials_path + '.' + lp_instance.split('://', 1)[-1] else: auth = default_credentials_path apport.crashdb.CrashDatabase.__init__(self, auth, options) self.distro = options.get('distro') if self.distro: assert 'project' not in options, 'Must not set both "project" and "distro" option' else: assert 'project' in options, 'Need to have either "project" or "distro" option' if 'architecture' in options: self.arch_tag = 'need-%s-retrace' % options['architecture'] else: self.arch_tag = 'need-%s-retrace' % apport.packaging.get_system_architecture() self.options = options self.auth = auth assert self.auth self.__launchpad = None self.__lp_distro = None self.__lpcache = os.getenv('APPORT_LAUNCHPAD_CACHE', options.get('cache_dir')) if not self.__lpcache: # use a temporary dir self.__lpcache = tempfile.mkdtemp(prefix='launchpadlib.cache.') atexit.register(shutil.rmtree, self.__lpcache, ignore_errors=True) @property def launchpad(self): '''Return Launchpad instance.''' if self.__launchpad: return self.__launchpad if Launchpad is None: sys.stderr.write('ERROR: The launchpadlib Python %s module is not installed. This functionality is not available.\n' % sys.version[0]) sys.exit(1) if self.options.get('launchpad_instance'): launchpad_instance = self.options.get('launchpad_instance') else: launchpad_instance = 'production' auth_dir = os.path.dirname(self.auth) if auth_dir and not os.path.isdir(auth_dir): os.makedirs(auth_dir) try: self.__launchpad = Launchpad.login_with('apport-collect', launchpad_instance, launchpadlib_dir=self.__lpcache, allow_access_levels=['WRITE_PRIVATE'], credentials_file=self.auth, version='1.0') except Exception as e: if hasattr(e, 'content'): msg = e.content else: msg = str(e) apport.error('connecting to Launchpad failed: %s\nYou can reset the credentials by removing the file "%s"', msg, self.auth) sys.exit(99) # transient error return self.__launchpad def _get_distro_tasks(self, tasks): if not self.distro: raise StopIteration for t in tasks: if t.bug_target_name.lower() == self.distro or \ re.match('^.+\(%s.*\)$' % self.distro, t.bug_target_name.lower()): yield t @property def lp_distro(self): if self.__lp_distro is None: if self.distro: self.__lp_distro = self.launchpad.distributions[self.distro] elif 'project' in self.options: self.__lp_distro = self.launchpad.projects[self.options['project']] else: raise SystemError('distro or project needs to be specified in crashdb options') return self.__lp_distro def upload(self, report, progress_callback=None): '''Upload given problem report return a handle for it. This should happen noninteractively. If the implementation supports it, and a function progress_callback is passed, that is called repeatedly with two arguments: the number of bytes already sent, and the total number of bytes to send. This can be used to provide a proper upload progress indication on frontends. ''' assert self.accepts(report) blob_file = self._generate_upload_blob(report) ticket = upload_blob(blob_file, progress_callback, hostname=self.get_hostname()) blob_file.close() assert ticket return ticket def get_hostname(self): '''Return the hostname for the Launchpad instance.''' launchpad_instance = self.options.get('launchpad_instance') if launchpad_instance: if launchpad_instance == 'staging': hostname = 'staging.launchpad.net' else: hostname = 'launchpad.dev' else: hostname = 'launchpad.net' return hostname def get_comment_url(self, report, handle): '''Return an URL that should be opened after report has been uploaded and upload() returned handle. Should return None if no URL should be opened (anonymous filing without user comments); in that case this function should do whichever interactive steps it wants to perform.''' args = {} title = report.get('Title', report.standard_title()) if title: # always use UTF-8 encoding, urlencode() blows up otherwise in # python 2.7 if not isinstance(title, bytes): title = title.encode('UTF-8') args['field.title'] = title hostname = self.get_hostname() project = self.options.get('project') if not project: if 'SourcePackage' in report: return 'https://bugs.%s/%s/+source/%s/+filebug/%s?%s' % ( hostname, self.distro, report['SourcePackage'], handle, urlencode(args)) else: return 'https://bugs.%s/%s/+filebug/%s?%s' % ( hostname, self.distro, handle, urlencode(args)) else: return 'https://bugs.%s/%s/+filebug/%s?%s' % ( hostname, project, handle, urlencode(args)) def get_id_url(self, report, id): '''Return URL for a given report ID. The report is passed in case building the URL needs additional information from it, such as the SourcePackage name. Return None if URL is not available or cannot be determined. ''' return 'https://bugs.launchpad.net/bugs/' + str(id) def download(self, id): '''Download the problem report from given ID and return a Report.''' report = apport.Report() b = self.launchpad.bugs[id] # parse out fields from summary m = re.search(r'(ProblemType:.*)$', b.description, re.S) if not m: m = re.search(r'^--- \r?$[\r\n]*(.*)', b.description, re.M | re.S) assert m, 'bug description must contain standard apport format data' description = m.group(1).encode('UTF-8').replace(b'\xc2\xa0', b' ').replace(b'\r\n', b'\n') if b'\n\n' in description: # this often happens, remove all empty lines between top and # 'Uname' if b'Uname:' in description: # this will take care of bugs like LP #315728 where stuff # is added after the apport data (part1, part2) = description.split(b'Uname:', 1) description = part1.replace(b'\n\n', b'\n') + b'Uname:' \ + part2.split(b'\n\n', 1)[0] else: # just parse out the Apport block; e. g. LP #269539 description = description.split(b'\n\n', 1)[0] report.load(BytesIO(description)) if 'Date' not in report: # We had not submitted this field for a while, claiming it # redundant. But it is indeed required for up-to-the-minute # comparison with log files, etc. For backwards compatibility with # those reported bugs, read the creation date try: report['Date'] = b.date_created.ctime() except AttributeError: # support older wadllib API which returned strings report['Date'] = b.date_created if 'ProblemType' not in report: if 'apport-bug' in b.tags: report['ProblemType'] = 'Bug' elif 'apport-crash' in b.tags: report['ProblemType'] = 'Crash' elif 'apport-kernelcrash' in b.tags: report['ProblemType'] = 'KernelCrash' elif 'apport-package' in b.tags: report['ProblemType'] = 'Package' else: raise ValueError('cannot determine ProblemType from tags: ' + str(b.tags)) report['Tags'] = ' '.join(b.tags) if 'Title' in report: report['OriginalTitle'] = report['Title'] report['Title'] = b.title for attachment in filter_filename(b.attachments): key, ext = os.path.splitext(attachment.filename) # ignore attachments with invalid keys try: report[key] = '' except: continue if ext == '.txt': report[key] = attachment.read() try: report[key] = report[key].decode('UTF-8') except UnicodeDecodeError: pass elif ext == '.gz': try: report[key] = gzip.GzipFile(fileobj=attachment).read() except IOError as e: # some attachments are only called .gz, but are # uncompressed (LP #574360) if 'Not a gzip' not in str(e): raise attachment.seek(0) report[key] = attachment.read() else: raise Exception('Unknown attachment type: ' + attachment.filename) return report def update(self, id, report, comment, change_description=False, attachment_comment=None, key_filter=None): '''Update the given report ID with all data from report. This creates a text comment with the "short" data (see ProblemReport.write_mime()), and creates attachments for all the bulk/binary data. If change_description is True, and the crash db implementation supports it, the short data will be put into the description instead (like in a new bug). comment will be added to the "short" data. If attachment_comment is given, it will be added to the attachment uploads. If key_filter is a list or set, then only those keys will be added. ''' bug = self.launchpad.bugs[id] if key_filter: skip_keys = set(report.keys()) - set(key_filter) else: skip_keys = None # we want to reuse the knowledge of write_mime() with all its different input # types and output formatting; however, we have to dissect the mime ourselves, # since we can't just upload it as a blob mime = tempfile.TemporaryFile() report.write_mime(mime, skip_keys=skip_keys) mime.flush() mime.seek(0) if _python2: msg = email.message_from_file(mime) else: msg = email.message_from_binary_file(mime) msg_iter = msg.walk() # first part is the multipart container part = _python2 and msg_iter.next() or msg_iter.__next__() assert part.is_multipart() # second part should be an inline text/plain attachments with all short # fields part = _python2 and msg_iter.next() or msg_iter.__next__() assert not part.is_multipart() assert part.get_content_type() == 'text/plain' if not key_filter: # when we update a complete report, we are updating an existing bug # with apport-collect x = bug.tags[:] # LP#254901 workaround x.append('apport-collected') # add any tags (like the release) to the bug if 'Tags' in report: x += self._filter_tag_names(report['Tags']).split() bug.tags = x bug.lp_save() bug = self.launchpad.bugs[id] # fresh bug object, LP#336866 workaround # short text data text = part.get_payload(decode=True).decode('UTF-8', 'replace') if change_description: bug.description = bug.description + '\n--- \n' + text bug.lp_save() else: bug.newMessage(content=text, subject=comment) # other parts are the attachments: for part in msg_iter: # print ' attachment: %s...' % part.get_filename() bug.addAttachment(comment=attachment_comment or '', description=part.get_filename(), content_type=None, data=part.get_payload(decode=True), filename=part.get_filename(), is_patch=False) mime.close() def update_traces(self, id, report, comment=''): '''Update the given report ID for retracing results. This updates Stacktrace, ThreadStacktrace, StacktraceTop, and StacktraceSource. You can also supply an additional comment. ''' apport.crashdb.CrashDatabase.update_traces(self, id, report, comment) bug = self.launchpad.bugs[id] # ensure it's assigned to a package if 'SourcePackage' in report: for task in bug.bug_tasks: if task.target.resource_type_link.endswith('#distribution'): task.target = self.lp_distro.getSourcePackage(name=report['SourcePackage']) task.lp_save() bug = self.launchpad.bugs[id] break # remove core dump if stack trace is usable if report.has_useful_stacktrace(): for a in bug.attachments: if a.title == 'CoreDump.gz': try: a.removeFromBug() except HTTPError: pass # LP#249950 workaround try: task = self._get_distro_tasks(bug.bug_tasks) if _python2: task = task.next() else: task = task.__next__() if task.importance == 'Undecided': task.importance = 'Medium' task.lp_save() except StopIteration: pass # no distro tasks # update bug title with retraced function name fn = report.stacktrace_top_function() if fn: m = re.match('^(.*crashed with SIG.* in )([^( ]+)(\(\).*$)', bug.title) if m and m.group(2) != fn: bug.title = m.group(1) + fn + m.group(3) try: bug.lp_save() except HTTPError: pass # LP#336866 workaround bug = self.launchpad.bugs[id] self._subscribe_triaging_team(bug, report) def get_distro_release(self, id): '''Get 'DistroRelease: <release>' from the given report ID and return it.''' bug = self.launchpad.bugs[id] m = re.search('DistroRelease: ([-a-zA-Z0-9.+/ ]+)', bug.description) if m: return m.group(1) raise ValueError('URL does not contain DistroRelease: field') def get_affected_packages(self, id): '''Return list of affected source packages for given ID.''' bug_target_re = re.compile( r'/%s/(?:(?P<suite>[^/]+)/)?\+source/(?P<source>[^/]+)$' % self.distro) bug = self.launchpad.bugs[id] result = [] for task in bug.bug_tasks: match = bug_target_re.search(task.target.self_link) if not match: continue if task.status in ('Invalid', "Won't Fix", 'Fix Released'): continue result.append(match.group('source')) return result def is_reporter(self, id): '''Check whether the user is the reporter of given ID.''' bug = self.launchpad.bugs[id] return bug.owner.name == self.launchpad.me.name def can_update(self, id): '''Check whether the user is eligible to update a report. A user should add additional information to an existing ID if (s)he is the reporter or subscribed, the bug is open, not a duplicate, etc. The exact policy and checks should be done according to the particular implementation. ''' bug = self.launchpad.bugs[id] if bug.duplicate_of: return False if bug.owner.name == self.launchpad.me.name: return True # check subscription me = self.launchpad.me.self_link for sub in bug.subscriptions.entries: if sub['person_link'] == me: return True return False def get_unretraced(self): '''Return an ID set of all crashes which have not been retraced yet and which happened on the current host architecture.''' try: bugs = self.lp_distro.searchTasks(tags=self.arch_tag, created_since='2011-08-01') return id_set(bugs) except Exception as e: apport.error('connecting to Launchpad failed: %s', str(e)) sys.exit(99) # transient error def get_dup_unchecked(self): '''Return an ID set of all crashes which have not been checked for being a duplicate. This is mainly useful for crashes of scripting languages such as Python, since they do not need to be retraced. It should not return bugs that are covered by get_unretraced().''' try: bugs = self.lp_distro.searchTasks(tags='need-duplicate-check', created_since='2011-08-01') return id_set(bugs) except Exception as e: apport.error('connecting to Launchpad failed: %s', str(e)) sys.exit(99) # transient error def get_unfixed(self): '''Return an ID set of all crashes which are not yet fixed. The list must not contain bugs which were rejected or duplicate. This function should make sure that the returned list is correct. If there are any errors with connecting to the crash database, it should raise an exception (preferably IOError).''' bugs = self.lp_distro.searchTasks(tags='apport-crash') return id_set(bugs) def _get_source_version(self, package): '''Return the version of given source package in the latest release of given distribution. If 'distro' is None, we will look for a launchpad project . ''' sources = self.lp_distro.main_archive.getPublishedSources( exact_match=True, source_name=package, distro_series=self.lp_distro.current_series ) # first element is the latest one return sources[0].source_package_version def get_fixed_version(self, id): '''Return the package version that fixes a given crash. Return None if the crash is not yet fixed, or an empty string if the crash is fixed, but it cannot be determined by which version. Return 'invalid' if the crash report got invalidated, such as closed a duplicate or rejected. This function should make sure that the returned result is correct. If there are any errors with connecting to the crash database, it should raise an exception (preferably IOError). ''' # do not do version tracking yet; for that, we need to get the current # distrorelease and the current package version in that distrorelease # (or, of course, proper version tracking in Launchpad itself) try: b = self.launchpad.bugs[id] except KeyError: return 'invalid' if b.duplicate_of: return 'invalid' tasks = list(b.bug_tasks) # just fetch it once if self.distro: distro_identifier = '(%s)' % self.distro.lower() fixed_tasks = list(filter(lambda task: task.status == 'Fix Released' and distro_identifier in task.bug_target_display_name.lower(), tasks)) if not fixed_tasks: fixed_distro = list(filter(lambda task: task.status == 'Fix Released' and task.bug_target_name.lower() == self.distro.lower(), tasks)) if fixed_distro: # fixed in distro inself (without source package) return '' if len(fixed_tasks) > 1: apport.warning('There is more than one task fixed in %s %s, using first one to determine fixed version', self.distro, id) return '' if fixed_tasks: task = fixed_tasks.pop() try: return self._get_source_version(task.bug_target_display_name.split()[0]) except IndexError: # source does not exist any more return 'invalid' else: # check if there only invalid ones invalid_tasks = list(filter(lambda task: task.status in ('Invalid', "Won't Fix", 'Expired') and distro_identifier in task.bug_target_display_name.lower(), tasks)) if invalid_tasks: non_invalid_tasks = list(filter( lambda task: task.status not in ('Invalid', "Won't Fix", 'Expired') and distro_identifier in task.bug_target_display_name.lower(), tasks)) if not non_invalid_tasks: return 'invalid' else: fixed_tasks = list(filter(lambda task: task.status == 'Fix Released', tasks)) if fixed_tasks: # TODO: look for current series return '' # check if there any invalid ones if list(filter(lambda task: task.status == 'Invalid', tasks)): return 'invalid' return None def duplicate_of(self, id): '''Return master ID for a duplicate bug. If the bug is not a duplicate, return None. ''' b = self.launchpad.bugs[id].duplicate_of if b: return b.id else: return None def close_duplicate(self, report, id, master_id): '''Mark a crash id as duplicate of given master ID. If master is None, id gets un-duplicated. ''' bug = self.launchpad.bugs[id] if master_id: assert id != master_id, 'cannot mark bug %s as a duplicate of itself' % str(id) # check whether the master itself is a dup master = self.launchpad.bugs[master_id] if master.duplicate_of: master = master.duplicate_of master_id = master.id if master.id == id: # this happens if the bug was manually duped to a newer one apport.warning('Bug %i was manually marked as a dupe of newer bug %i, not closing as duplicate', id, master_id) return for a in bug.attachments: if a.title in ('CoreDump.gz', 'Stacktrace.txt', 'ThreadStacktrace.txt', 'ProcMaps.txt', 'ProcStatus.txt', 'Registers.txt', 'Disassembly.txt'): try: a.removeFromBug() except HTTPError: pass # LP#249950 workaround bug = self.launchpad.bugs[id] # fresh bug object, LP#336866 workaround bug.newMessage(content='Thank you for taking the time to report this crash and helping \ to make this software better. This particular crash has already been reported and \ is a duplicate of bug #%i, so is being marked as such. Please look at the \ other bug report to see if there is any missing information that you can \ provide, or to see if there is a workaround for the bug. Additionally, any \ further discussion regarding the bug should occur in the other report. \ Please continue to report any other bugs you may find.' % master_id, subject='This bug is a duplicate') bug = self.launchpad.bugs[id] # refresh, LP#336866 workaround if bug.private: bug.private = False # set duplicate last, since we cannot modify already dup'ed bugs if not bug.duplicate_of: bug.duplicate_of = master # cache tags of master bug report instead of performing multiple # queries master_tags = master.tags if len(master.duplicates) == 10: if 'escalation_tag' in self.options and self.options['escalation_tag'] not in master_tags and self.options.get('escalated_tag', ' invalid ') not in master_tags: master.tags = master_tags + [self.options['escalation_tag']] # LP#254901 workaround master.lp_save() if 'escalation_subscription' in self.options and self.options.get('escalated_tag', ' invalid ') not in master_tags: p = self.launchpad.people[self.options['escalation_subscription']] master.subscribe(person=p) # requesting updated stack trace? if report.has_useful_stacktrace() and ('apport-request-retrace' in master_tags or 'apport-failed-retrace' in master_tags): self.update(master_id, report, 'Updated stack trace from duplicate bug %i' % id, key_filter=['Stacktrace', 'ThreadStacktrace', 'Package', 'Dependencies', 'ProcMaps', 'ProcCmdline']) master = self.launchpad.bugs[master_id] x = master.tags[:] # LP#254901 workaround try: x.remove('apport-failed-retrace') except ValueError: pass try: x.remove('apport-request-retrace') except ValueError: pass master.tags = x try: master.lp_save() except HTTPError: pass # LP#336866 workaround # white list of tags to copy from duplicates bugs to the master tags_to_copy = ['bugpattern-needed'] for series in self.lp_distro.series: if series.status not in ['Active Development', 'Current Stable Release', 'Supported', 'Pre-release Freeze']: continue tags_to_copy.append(series.name) # copy tags over from the duplicate bug to the master bug dupe_tags = set(bug.tags) # reload master tags as they may have changed master_tags = master.tags missing_tags = dupe_tags.difference(master_tags) for tag in missing_tags: if tag in tags_to_copy: master_tags.append(tag) master.tags = master_tags master.lp_save() else: if bug.duplicate_of: bug.duplicate_of = None if bug._dirty_attributes: # LP#336866 workaround bug.lp_save() def mark_regression(self, id, master): '''Mark a crash id as reintroducing an earlier crash which is already marked as fixed (having ID 'master').''' bug = self.launchpad.bugs[id] bug.newMessage(content='This crash has the same stack trace characteristics as bug #%i. \ However, the latter was already fixed in an earlier package version than the \ one in this report. This might be a regression or because the problem is \ in a dependent package.' % master, subject='Possible regression detected') bug = self.launchpad.bugs[id] # fresh bug object, LP#336866 workaround bug.tags = bug.tags + ['regression-retracer'] # LP#254901 workaround bug.lp_save() def mark_retraced(self, id): '''Mark crash id as retraced.''' bug = self.launchpad.bugs[id] if self.arch_tag in bug.tags: x = bug.tags[:] # LP#254901 workaround x.remove(self.arch_tag) bug.tags = x try: bug.lp_save() except HTTPError: pass # LP#336866 workaround def mark_retrace_failed(self, id, invalid_msg=None): '''Mark crash id as 'failed to retrace'.''' bug = self.launchpad.bugs[id] if invalid_msg: try: task = self._get_distro_tasks(bug.bug_tasks) if _python2: task = task.next() else: task = task.__next__() except StopIteration: # no distro task, just use the first one task = bug.bug_tasks[0] task.status = 'Invalid' task.lp_save() bug.newMessage(content=invalid_msg, subject='Crash report cannot be processed') for a in bug.attachments: if a.title == 'CoreDump.gz': try: a.removeFromBug() except HTTPError: pass # LP#249950 workaround else: if 'apport-failed-retrace' not in bug.tags: bug.tags = bug.tags + ['apport-failed-retrace'] # LP#254901 workaround bug.lp_save() def _mark_dup_checked(self, id, report): '''Mark crash id as checked for being a duplicate.''' bug = self.launchpad.bugs[id] # if we have a distro task without a package, fix it if 'SourcePackage' in report: for task in bug.bug_tasks: if task.target.resource_type_link.endswith('#distribution'): task.target = self.lp_distro.getSourcePackage( name=report['SourcePackage']) try: task.lp_save() bug = self.launchpad.bugs[id] except HTTPError: # might fail if there is already another Ubuntu package task pass break if 'need-duplicate-check' in bug.tags: x = bug.tags[:] # LP#254901 workaround x.remove('need-duplicate-check') bug.tags = x bug.lp_save() if 'Traceback' in report: for task in bug.bug_tasks: if '#distribution' in task.target.resource_type_link: if task.importance == 'Undecided': task.importance = 'Medium' task.lp_save() self._subscribe_triaging_team(bug, report) def known(self, report): '''Check if the crash db already knows about the crash signature. Check if the report has a DuplicateSignature, crash_signature(), or StacktraceAddressSignature, and ask the database whether the problem is already known. If so, return an URL where the user can check the status or subscribe (if available), or just return True if the report is known but there is no public URL. In that case the report will not be uploaded (i. e. upload() will not be called). Return None if the report does not have any signature or the crash database does not support checking for duplicates on the client side. The default implementation uses a text file format generated by duplicate_db_publish() at an URL specified by the "dupdb_url" option. Subclasses are free to override this with a custom implementation, such as a real database lookup. ''' # we override the method here to check if the user actually has access # to the bug, and if the bug requests more retraces; in either case we # should file it. url = apport.crashdb.CrashDatabase.known(self, report) if not url: return url # record the fact that it is a duplicate, for triagers report['DuplicateOf'] = url try: f = urlopen(url + '/+text') except IOError: # if we are offline, or LP is down, upload will fail anyway, so we # can just as well avoid the upload return url line = f.readline() if not line.startswith(b'bug:'): # presumably a 404 etc. page, which happens for private bugs return True # check tags for line in f: if line.startswith(b'tags:'): if b'apport-failed-retrace' in line or b'apport-request-retrace' in line: return None else: break # stop at the first task, tags are in the first block if not line.strip(): break return url def _subscribe_triaging_team(self, bug, report): '''Subscribe the right triaging team to the bug.''' # FIXME: this entire function is an ugly Ubuntu specific hack until LP # gets a real crash db; see https://wiki.ubuntu.com/CrashReporting if 'DistroRelease' in report and report['DistroRelease'].split()[0] != 'Ubuntu': return # only Ubuntu bugs are filed private # use a url hack here, it is faster person = '%s~%s' % (self.launchpad._root_uri, self.options.get('triaging_team', 'ubuntu-crashes-universe')) bug.subscribe(person=person) def _generate_upload_blob(self, report): '''Generate a multipart/MIME temporary file for uploading. You have to close the returned file object after you are done with it. ''' # set reprocessing tags hdr = {} hdr['Tags'] = 'apport-%s' % report['ProblemType'].lower() a = report.get('PackageArchitecture') if not a or a == 'all': a = report.get('Architecture') if a: hdr['Tags'] += ' ' + a if 'Tags' in report: hdr['Tags'] += ' ' + self._filter_tag_names(report['Tags']) # privacy/retracing for distro reports # FIXME: ugly hack until LP has a real crash db if 'DistroRelease' in report: if a and ('VmCore' in report or 'CoreDump' in report or 'LaunchpadPrivate' in report): hdr['Private'] = 'yes' hdr['Subscribers'] = report.get('LaunchpadSubscribe', self.options.get('initial_subscriber', 'apport')) hdr['Tags'] += ' need-%s-retrace' % a elif 'Traceback' in report: hdr['Private'] = 'yes' hdr['Subscribers'] = 'apport' hdr['Tags'] += ' need-duplicate-check' if 'DuplicateSignature' in report and 'need-duplicate-check' not in hdr['Tags']: hdr['Tags'] += ' need-duplicate-check' # if we have checkbox submission key, link it to the bug; keep text # reference until the link is shown in Launchpad's UI if 'CheckboxSubmission' in report: hdr['HWDB-Submission'] = report['CheckboxSubmission'] # order in which keys should appear in the temporary file order = ['ProblemType', 'DistroRelease', 'Package', 'Regression', 'Reproducible', 'TestedUpstream', 'ProcVersionSignature', 'Uname', 'NonfreeKernelModules'] # write MIME/Multipart version into temporary file mime = tempfile.TemporaryFile() report.write_mime(mime, extra_headers=hdr, skip_keys=['Tags', 'LaunchpadPrivate', 'LaunchpadSubscribe'], priority_fields=order) mime.flush() mime.seek(0) return mime @classmethod def _filter_tag_names(klass, tags): '''Replace characters from tags which are not palatable to Launchpad''' res = '' for ch in tags.lower().encode('ASCII', errors='ignore'): if ch in b'abcdefghijklmnopqrstuvwxyz0123456789 ' or (len(res) > 0 and ch in b'+-.'): if _python2: res += ch else: res += chr(ch) else: res += '.' return res # # Launchpad storeblob API (should go into launchpadlib, see LP #315358) # _https_upload_callback = None # # This progress code is based on KodakLoader by Jason Hildebrand # <jason@opensky.ca>. See http://www.opensky.ca/~jdhildeb/software/kodakloader/ # for details. class HTTPSProgressConnection(HTTPSConnection): '''Implement a HTTPSConnection with an optional callback function for upload progress.''' def send(self, data): global _https_upload_callback # if callback has not been set, call the old method if not _https_upload_callback: HTTPSConnection.send(self, data) return sent = 0 total = len(data) chunksize = 1024 while sent < total: _https_upload_callback(sent, total) t1 = time.time() HTTPSConnection.send(self, data[sent:(sent + chunksize)]) sent += chunksize t2 = time.time() # adjust chunksize so that it takes between .5 and 2 # seconds to send a chunk if chunksize > 1024: if t2 - t1 < .5: chunksize <<= 1 elif t2 - t1 > 2: chunksize >>= 1 class HTTPSProgressHandler(HTTPSHandler): def https_open(self, req): return self.do_open(HTTPSProgressConnection, req) def upload_blob(blob, progress_callback=None, hostname='launchpad.net'): '''Upload blob (file-like object) to Launchpad. progress_callback can be set to a function(sent, total) which is regularly called with the number of bytes already sent and total number of bytes to send. It is called every 0.5 to 2 seconds (dynamically adapted to upload bandwidth). Return None on error, or the ticket number on success. By default this uses the production Launchpad hostname. Set hostname to 'launchpad.dev' or 'staging.launchpad.net' to use another instance for testing. ''' ticket = None url = 'https://%s/+storeblob' % hostname global _https_upload_callback _https_upload_callback = progress_callback # build the form-data multipart/MIME request data = email.mime.multipart.MIMEMultipart() submit = email.mime.text.MIMEText('1') submit.add_header('Content-Disposition', 'form-data; name="FORM_SUBMIT"') data.attach(submit) form_blob = email.mime.base.MIMEBase('application', 'octet-stream') form_blob.add_header('Content-Disposition', 'form-data; name="field.blob"; filename="x"') form_blob.set_payload(blob.read().decode('ascii')) data.attach(form_blob) data_flat = BytesIO() if sys.version_info.major == 2: gen = email.generator.Generator(data_flat, mangle_from_=False) else: gen = email.generator.BytesGenerator(data_flat, mangle_from_=False) gen.flatten(data) # do the request; we need to explicitly set the content type here, as it # defaults to x-www-form-urlencoded req = Request(url, data_flat.getvalue()) req.add_header('Content-Type', 'multipart/form-data; boundary=' + data.get_boundary()) opener = build_opener(HTTPSProgressHandler) result = opener.open(req) ticket = result.info().get('X-Launchpad-Blob-Token') assert ticket return ticket # # Unit tests # if __name__ == '__main__': import unittest, subprocess from unittest.mock import patch crashdb = None _segv_report = None _python_report = None _uncommon_description_report = None class _T(unittest.TestCase): # this assumes that a source package 'coreutils' exists and builds a # binary package 'coreutils' test_package = 'coreutils' test_srcpackage = 'coreutils' # # Generic tests, should work for all CrashDB implementations # def setUp(self): global crashdb if not crashdb: crashdb = self._get_instance() self.crashdb = crashdb # create a local reference report so that we can compare # DistroRelease, Architecture, etc. self.ref_report = apport.Report() self.ref_report.add_os_info() self.ref_report.add_user_info() self.ref_report['SourcePackage'] = 'coreutils' # Objects tests rely on. self._create_project('langpack-o-matic') def _create_project(self, name): '''Create a project using launchpadlib to be used by tests.''' project = self.crashdb.launchpad.projects[name] if not project: self.crashdb.launchpad.projects.new_project( description=name + 'description', display_name=name, name=name, summary=name + 'summary', title=name + 'title') @property def hostname(self): '''Get the Launchpad hostname for the given crashdb.''' return self.crashdb.get_hostname() def get_segv_report(self, force_fresh=False): '''Generate SEGV crash report. This is only done once, subsequent calls will return the already existing ID, unless force_fresh is True. Return the ID. ''' global _segv_report if not force_fresh and _segv_report is not None: return _segv_report r = self._generate_sigsegv_report() r.add_package_info(self.test_package) r.add_os_info() r.add_gdb_info() r.add_user_info() self.assertEqual(r.standard_title(), 'crash crashed with SIGSEGV in f()') # add some binary gibberish which isn't UTF-8 r['ShortGibberish'] = ' "]\xb6"\n' r['LongGibberish'] = 'a\nb\nc\nd\ne\n\xff\xff\xff\n\f' # create a bug for the report bug_target = self._get_bug_target(self.crashdb, r) self.assertTrue(bug_target) id = self._file_bug(bug_target, r) self.assertTrue(id > 0) sys.stderr.write('(Created SEGV report: https://%s/bugs/%i) ' % (self.hostname, id)) if not force_fresh: _segv_report = id return id def get_python_report(self): '''Generate Python crash report. Return the ID. ''' global _python_report if _python_report is not None: return _python_report r = apport.Report('Crash') r['ExecutablePath'] = '/bin/foo' r['Traceback'] = '''Traceback (most recent call last): File "/bin/foo", line 67, in fuzz print(weird) NameError: global name 'weird' is not defined''' r['Tags'] = 'boogus pybogus' r.add_package_info(self.test_package) r.add_os_info() r.add_user_info() self.assertEqual(r.standard_title(), "foo crashed with NameError in fuzz(): global name 'weird' is not defined") bug_target = self._get_bug_target(self.crashdb, r) self.assertTrue(bug_target) id = self._file_bug(bug_target, r) self.assertTrue(id > 0) sys.stderr.write('(Created Python report: https://%s/bugs/%i) ' % (self.hostname, id)) _python_report = id return id def get_uncommon_description_report(self, force_fresh=False): '''File a bug report with an uncommon description. This is only done once, subsequent calls will return the already existing ID, unless force_fresh is True. Example taken from real LP bug 269539. It contains only ProblemType/Architecture/DistroRelease in the description, and has free-form description text after the Apport data. Return the ID. ''' global _uncommon_description_report if not force_fresh and _uncommon_description_report is not None: return _uncommon_description_report desc = '''problem ProblemType: Package Architecture: amd64 DistroRelease: Ubuntu 8.10 more text and more ''' bug = self.crashdb.launchpad.bugs.createBug( title='mixed description bug', description=desc, target=self.crashdb.lp_distro) sys.stderr.write('(Created uncommon description: https://%s/bugs/%i) ' % (self.hostname, bug.id)) if not force_fresh: _uncommon_description_report = bug.id return bug.id def test_1_download(self): '''download()''' r = self.crashdb.download(self.get_segv_report()) self.assertEqual(r['ProblemType'], 'Crash') self.assertEqual(r['Title'], 'crash crashed with SIGSEGV in f()') self.assertEqual(r['DistroRelease'], self.ref_report['DistroRelease']) self.assertEqual(r['Architecture'], self.ref_report['Architecture']) self.assertEqual(r['Uname'], self.ref_report['Uname']) self.assertEqual(r.get('NonfreeKernelModules'), self.ref_report.get('NonfreeKernelModules')) self.assertEqual(r.get('UserGroups'), self.ref_report.get('UserGroups')) tags = set(r['Tags'].split()) self.assertEqual(tags, set([self.crashdb.arch_tag, 'apport-crash', apport.packaging.get_system_architecture()])) self.assertEqual(r['Signal'], '11') self.assertTrue(r['ExecutablePath'].endswith('/crash')) self.assertEqual(r['SourcePackage'], self.test_srcpackage) self.assertTrue(r['Package'].startswith(self.test_package + ' ')) self.assertIn('f (x=42)', r['Stacktrace']) self.assertIn('f (x=42)', r['StacktraceTop']) self.assertIn('f (x=42)', r['ThreadStacktrace']) self.assertGreater(len(r['CoreDump']), 1000) self.assertIn('Dependencies', r) self.assertIn('Disassembly', r) self.assertIn('Registers', r) # check tags r = self.crashdb.download(self.get_python_report()) tags = set(r['Tags'].split()) self.assertEqual(tags, set(['apport-crash', 'boogus', 'pybogus', 'need-duplicate-check', apport.packaging.get_system_architecture()])) def test_2_update_traces(self): '''update_traces()''' r = self.crashdb.download(self.get_segv_report()) self.assertIn('CoreDump', r) self.assertIn('Dependencies', r) self.assertIn('Disassembly', r) self.assertIn('Registers', r) self.assertIn('Stacktrace', r) self.assertIn('ThreadStacktrace', r) self.assertEqual(r['Title'], 'crash crashed with SIGSEGV in f()') # updating with a useless stack trace retains core dump r['StacktraceTop'] = '?? ()' r['Stacktrace'] = 'long\ntrace' r['ThreadStacktrace'] = 'thread\neven longer\ntrace' r['FooBar'] = 'bogus' self.crashdb.update_traces(self.get_segv_report(), r, 'I can has a better retrace?') r = self.crashdb.download(self.get_segv_report()) self.assertIn('CoreDump', r) self.assertIn('Dependencies', r) self.assertIn('Disassembly', r) self.assertIn('Registers', r) self.assertIn('Stacktrace', r) # TODO: ascertain that it's the updated one self.assertIn('ThreadStacktrace', r) self.assertNotIn('FooBar', r) self.assertEqual(r['Title'], 'crash crashed with SIGSEGV in f()') tags = self.crashdb.launchpad.bugs[self.get_segv_report()].tags self.assertIn('apport-crash', tags) self.assertNotIn('apport-collected', tags) # updating with a useful stack trace removes core dump r['StacktraceTop'] = 'read () from /lib/libc.6.so\nfoo (i=1) from /usr/lib/libfoo.so' r['Stacktrace'] = 'long\ntrace' r['ThreadStacktrace'] = 'thread\neven longer\ntrace' self.crashdb.update_traces(self.get_segv_report(), r, 'good retrace!') r = self.crashdb.download(self.get_segv_report()) self.assertNotIn('CoreDump', r) self.assertIn('Dependencies', r) self.assertIn('Disassembly', r) self.assertIn('Registers', r) self.assertIn('Stacktrace', r) self.assertIn('ThreadStacktrace', r) self.assertNotIn('FooBar', r) # as previous title had standard form, the top function gets # updated self.assertEqual(r['Title'], 'crash crashed with SIGSEGV in read()') # respects title amendments bug = self.crashdb.launchpad.bugs[self.get_segv_report()] bug.title = 'crash crashed with SIGSEGV in f() on exit' try: bug.lp_save() except HTTPError: pass # LP#336866 workaround r['StacktraceTop'] = 'read () from /lib/libc.6.so\nfoo (i=1) from /usr/lib/libfoo.so' self.crashdb.update_traces(self.get_segv_report(), r, 'good retrace with title amendment') r = self.crashdb.download(self.get_segv_report()) self.assertEqual(r['Title'], 'crash crashed with SIGSEGV in read() on exit') # does not destroy custom titles bug = self.crashdb.launchpad.bugs[self.get_segv_report()] bug.title = 'crash is crashy' try: bug.lp_save() except HTTPError: pass # LP#336866 workaround r['StacktraceTop'] = 'read () from /lib/libc.6.so\nfoo (i=1) from /usr/lib/libfoo.so' self.crashdb.update_traces(self.get_segv_report(), r, 'good retrace with custom title') r = self.crashdb.download(self.get_segv_report()) self.assertEqual(r['Title'], 'crash is crashy') # test various situations which caused crashes r['Stacktrace'] = '' # empty file r['ThreadStacktrace'] = '"]\xb6"\n' # not interpretable as UTF-8, LP #353805 r['StacktraceSource'] = 'a\nb\nc\nd\ne\n\xff\xff\xff\n\f' self.crashdb.update_traces(self.get_segv_report(), r, 'tests') def test_get_comment_url(self): '''get_comment_url() for non-ASCII titles''' # UTF-8 bytestring, works in both python 2.7 and 3 title = b'1\xc3\xa4\xe2\x99\xa52' # distro, UTF-8 bytestring r = apport.Report('Bug') r['Title'] = title url = self.crashdb.get_comment_url(r, 42) self.assertTrue(url.endswith('/ubuntu/+filebug/42?field.title=1%C3%A4%E2%99%A52')) # distro, unicode r['Title'] = title.decode('UTF-8') url = self.crashdb.get_comment_url(r, 42) self.assertTrue(url.endswith('/ubuntu/+filebug/42?field.title=1%C3%A4%E2%99%A52')) # package, unicode r['SourcePackage'] = 'coreutils' url = self.crashdb.get_comment_url(r, 42) self.assertTrue(url.endswith('/ubuntu/+source/coreutils/+filebug/42?field.title=1%C3%A4%E2%99%A52')) def test_update_description(self): '''update() with changing description''' bug_target = self.crashdb.lp_distro.getSourcePackage(name='bash') bug = self.crashdb.launchpad.bugs.createBug( description='test description for test bug.', target=bug_target, title='testbug') id = bug.id self.assertTrue(id > 0) sys.stderr.write('(https://%s/bugs/%i) ' % (self.hostname, id)) r = apport.Report('Bug') r['OneLiner'] = b'bogus\xe2\x86\x92'.decode('UTF-8') r['StacktraceTop'] = 'f()\ng()\nh(1)' r['ShortGoo'] = 'lineone\nlinetwo' r['DpkgTerminalLog'] = 'one\ntwo\nthree\nfour\nfive\nsix' r['VarLogDistupgradeBinGoo'] = b'\x01' * 1024 self.crashdb.update(id, r, 'NotMe', change_description=True) r = self.crashdb.download(id) self.assertEqual(r['OneLiner'], b'bogus\xe2\x86\x92'.decode('UTF-8')) self.assertEqual(r['ShortGoo'], 'lineone\nlinetwo') self.assertEqual(r['DpkgTerminalLog'], 'one\ntwo\nthree\nfour\nfive\nsix') self.assertEqual(r['VarLogDistupgradeBinGoo'], b'\x01' * 1024) self.assertEqual(self.crashdb.launchpad.bugs[id].tags, ['apport-collected']) def test_update_comment(self): '''update() with appending comment''' bug_target = self.crashdb.lp_distro.getSourcePackage(name='bash') # we need to fake an apport description separator here, since we # want to be lazy and use download() for checking the result bug = self.crashdb.launchpad.bugs.createBug( description='Pr0blem\n\n--- \nProblemType: Bug', target=bug_target, title='testbug') id = bug.id self.assertTrue(id > 0) sys.stderr.write('(https://%s/bugs/%i) ' % (self.hostname, id)) r = apport.Report('Bug') r['OneLiner'] = 'bogus→' r['StacktraceTop'] = 'f()\ng()\nh(1)' r['ShortGoo'] = 'lineone\nlinetwo' r['DpkgTerminalLog'] = 'one\ntwo\nthree\nfour\nfive\nsix' r['VarLogDistupgradeBinGoo'] = '\x01' * 1024 self.crashdb.update(id, r, 'meow', change_description=False) r = self.crashdb.download(id) self.assertNotIn('OneLiner', r) self.assertNotIn('ShortGoo', r) self.assertEqual(r['ProblemType'], 'Bug') self.assertEqual(r['DpkgTerminalLog'], 'one\ntwo\nthree\nfour\nfive\nsix') self.assertEqual(r['VarLogDistupgradeBinGoo'], '\x01' * 1024) self.assertEqual(self.crashdb.launchpad.bugs[id].tags, ['apport-collected']) def test_update_filter(self): '''update() with a key filter''' bug_target = self.crashdb.lp_distro.getSourcePackage(name='bash') bug = self.crashdb.launchpad.bugs.createBug( description='test description for test bug', target=bug_target, title='testbug') id = bug.id self.assertTrue(id > 0) sys.stderr.write('(https://%s/bugs/%i) ' % (self.hostname, id)) r = apport.Report('Bug') r['OneLiner'] = 'bogus→' r['StacktraceTop'] = 'f()\ng()\nh(1)' r['ShortGoo'] = 'lineone\nlinetwo' r['DpkgTerminalLog'] = 'one\ntwo\nthree\nfour\nfive\nsix' r['VarLogDistupgradeBinGoo'] = '\x01' * 1024 self.crashdb.update(id, r, 'NotMe', change_description=True, key_filter=['ProblemType', 'ShortGoo', 'DpkgTerminalLog']) r = self.crashdb.download(id) self.assertNotIn('OneLiner', r) self.assertEqual(r['ShortGoo'], 'lineone\nlinetwo') self.assertEqual(r['ProblemType'], 'Bug') self.assertEqual(r['DpkgTerminalLog'], 'one\ntwo\nthree\nfour\nfive\nsix') self.assertNotIn('VarLogDistupgradeBinGoo', r) self.assertEqual(self.crashdb.launchpad.bugs[id].tags, []) def test_get_distro_release(self): '''get_distro_release()''' self.assertEqual(self.crashdb.get_distro_release(self.get_segv_report()), self.ref_report['DistroRelease']) def test_get_affected_packages(self): '''get_affected_packages()''' self.assertEqual(self.crashdb.get_affected_packages(self.get_segv_report()), [self.ref_report['SourcePackage']]) def test_is_reporter(self): '''is_reporter()''' self.assertTrue(self.crashdb.is_reporter(self.get_segv_report())) self.assertFalse(self.crashdb.is_reporter(1)) def test_can_update(self): '''can_update()''' self.assertTrue(self.crashdb.can_update(self.get_segv_report())) self.assertFalse(self.crashdb.can_update(1)) def test_duplicates(self): '''duplicate handling''' # initially we have no dups self.assertEqual(self.crashdb.duplicate_of(self.get_segv_report()), None) self.assertEqual(self.crashdb.get_fixed_version(self.get_segv_report()), None) segv_id = self.get_segv_report() known_test_id = self.get_uncommon_description_report() known_test_id2 = self.get_uncommon_description_report(force_fresh=True) # dupe our segv_report and check that it worked; then undupe it r = self.crashdb.download(segv_id) self.crashdb.close_duplicate(r, segv_id, known_test_id) self.assertEqual(self.crashdb.duplicate_of(segv_id), known_test_id) # this should be a no-op self.crashdb.close_duplicate(r, segv_id, known_test_id) self.assertEqual(self.crashdb.duplicate_of(segv_id), known_test_id) self.assertEqual(self.crashdb.get_fixed_version(segv_id), 'invalid') self.crashdb.close_duplicate(r, segv_id, None) self.assertEqual(self.crashdb.duplicate_of(segv_id), None) self.assertEqual(self.crashdb.get_fixed_version(segv_id), None) # this should have removed attachments; note that Stacktrace is # short, and thus inline r = self.crashdb.download(self.get_segv_report()) self.assertNotIn('CoreDump', r) self.assertNotIn('Disassembly', r) self.assertNotIn('ProcMaps', r) self.assertNotIn('ProcStatus', r) self.assertNotIn('Registers', r) self.assertNotIn('ThreadStacktrace', r) # now try duplicating to a duplicate bug; this should automatically # transition to the master bug self.crashdb.close_duplicate(apport.Report(), known_test_id, known_test_id2) self.crashdb.close_duplicate(r, segv_id, known_test_id) self.assertEqual(self.crashdb.duplicate_of(segv_id), known_test_id2) self.crashdb.close_duplicate(apport.Report(), known_test_id, None) self.crashdb.close_duplicate(apport.Report(), known_test_id2, None) self.crashdb.close_duplicate(r, segv_id, None) # this should be a no-op self.crashdb.close_duplicate(apport.Report(), known_test_id, None) self.assertEqual(self.crashdb.duplicate_of(known_test_id), None) self.crashdb.mark_regression(segv_id, known_test_id) self._verify_marked_regression(segv_id) def test_marking_segv(self): '''processing status markings for signal crashes''' # mark_retraced() unretraced_before = self.crashdb.get_unretraced() self.assertIn(self.get_segv_report(), unretraced_before) self.assertNotIn(self.get_python_report(), unretraced_before) self.crashdb.mark_retraced(self.get_segv_report()) unretraced_after = self.crashdb.get_unretraced() self.assertNotIn(self.get_segv_report(), unretraced_after) self.assertEqual(unretraced_before, unretraced_after.union(set([self.get_segv_report()]))) self.assertEqual(self.crashdb.get_fixed_version(self.get_segv_report()), None) # mark_retrace_failed() self._mark_needs_retrace(self.get_segv_report()) self.crashdb.mark_retraced(self.get_segv_report()) self.crashdb.mark_retrace_failed(self.get_segv_report()) unretraced_after = self.crashdb.get_unretraced() self.assertNotIn(self.get_segv_report(), unretraced_after) self.assertEqual(unretraced_before, unretraced_after.union(set([self.get_segv_report()]))) self.assertEqual(self.crashdb.get_fixed_version(self.get_segv_report()), None) # mark_retrace_failed() of invalid bug self._mark_needs_retrace(self.get_segv_report()) self.crashdb.mark_retraced(self.get_segv_report()) self.crashdb.mark_retrace_failed(self.get_segv_report(), "I don't like you") unretraced_after = self.crashdb.get_unretraced() self.assertNotIn(self.get_segv_report(), unretraced_after) self.assertEqual(unretraced_before, unretraced_after.union(set([self.get_segv_report()]))) self.assertEqual(self.crashdb.get_fixed_version(self.get_segv_report()), 'invalid') def test_marking_project(self): '''processing status markings for a project CrashDB''' # create a distro bug distro_bug = self.crashdb.launchpad.bugs.createBug( description='foo', tags=self.crashdb.arch_tag, target=self.crashdb.lp_distro, title='ubuntu distro retrace bug') # print('distro bug: https://staging.launchpad.net/bugs/%i' % distro_bug.id) # create a project crash DB and a bug launchpad_instance = os.environ.get('APPORT_LAUNCHPAD_INSTANCE') or 'staging' project_db = CrashDatabase( os.environ.get('LP_CREDENTIALS'), {'project': 'langpack-o-matic', 'launchpad_instance': launchpad_instance}) project_bug = project_db.launchpad.bugs.createBug( description='bar', tags=project_db.arch_tag, target=project_db.lp_distro, title='project retrace bug') # print('project bug: https://staging.launchpad.net/bugs/%i' % project_bug.id) # on project_db, we recognize the project bug and can mark it unretraced_before = project_db.get_unretraced() self.assertIn(project_bug.id, unretraced_before) self.assertNotIn(distro_bug.id, unretraced_before) project_db.mark_retraced(project_bug.id) unretraced_after = project_db.get_unretraced() self.assertNotIn(project_bug.id, unretraced_after) self.assertEqual(unretraced_before, unretraced_after.union(set([project_bug.id]))) self.assertEqual(self.crashdb.get_fixed_version(project_bug.id), None) def test_marking_foreign_arch(self): '''processing status markings for a project CrashDB''' # create a DB for fake arch launchpad_instance = os.environ.get('APPORT_LAUNCHPAD_INSTANCE') or 'staging' fakearch_db = CrashDatabase( os.environ.get('LP_CREDENTIALS'), {'distro': 'ubuntu', 'launchpad_instance': launchpad_instance, 'architecture': 'fakearch'}) fakearch_unretraced_before = fakearch_db.get_unretraced() systemarch_unretraced_before = self.crashdb.get_unretraced() # create a bug with a fake architecture bug = self.crashdb.launchpad.bugs.createBug( description='foo', tags=['need-fakearch-retrace'], target=self.crashdb.lp_distro, title='ubuntu distro retrace bug for fakearch') print('fake arch bug: https://staging.launchpad.net/bugs/%i' % bug.id) fakearch_unretraced_after = fakearch_db.get_unretraced() systemarch_unretraced_after = self.crashdb.get_unretraced() self.assertEqual(systemarch_unretraced_before, systemarch_unretraced_after) self.assertEqual(fakearch_unretraced_after, fakearch_unretraced_before.union(set([bug.id]))) def test_marking_python(self): '''processing status markings for interpreter crashes''' unchecked_before = self.crashdb.get_dup_unchecked() self.assertIn(self.get_python_report(), unchecked_before) self.assertNotIn(self.get_segv_report(), unchecked_before) self.crashdb._mark_dup_checked(self.get_python_report(), self.ref_report) unchecked_after = self.crashdb.get_dup_unchecked() self.assertNotIn(self.get_python_report(), unchecked_after) self.assertEqual(unchecked_before, unchecked_after.union(set([self.get_python_report()]))) self.assertEqual(self.crashdb.get_fixed_version(self.get_python_report()), None) def test_update_traces_invalid(self): '''updating an invalid crash This simulates a race condition where a crash being processed gets invalidated by marking it as a duplicate. ''' id = self.get_segv_report(force_fresh=True) r = self.crashdb.download(id) self.crashdb.close_duplicate(r, id, self.get_segv_report()) # updating with a useful stack trace removes core dump r['StacktraceTop'] = 'read () from /lib/libc.6.so\nfoo (i=1) from /usr/lib/libfoo.so' r['Stacktrace'] = 'long\ntrace' r['ThreadStacktrace'] = 'thread\neven longer\ntrace' self.crashdb.update_traces(id, r, 'good retrace!') r = self.crashdb.download(id) self.assertNotIn('CoreDump', r) @patch.object(CrashDatabase, '_get_source_version') def test_get_fixed_version(self, *args): '''get_fixed_version() for fixed bugs Other cases are already checked in test_marking_segv() (invalid bugs) and test_duplicates (duplicate bugs) for efficiency. ''' # staging.launchpad.net often does not have Quantal, so mock-patch # it to a known value CrashDatabase._get_source_version.return_value = '3.14' self._mark_report_fixed(self.get_segv_report()) fixed_ver = self.crashdb.get_fixed_version(self.get_segv_report()) self.assertEqual(fixed_ver, '3.14') self._mark_report_new(self.get_segv_report()) self.assertEqual(self.crashdb.get_fixed_version(self.get_segv_report()), None) # # Launchpad specific implementation and tests # @classmethod def _get_instance(klass): '''Create a CrashDB instance''' launchpad_instance = os.environ.get('APPORT_LAUNCHPAD_INSTANCE') or 'staging' return CrashDatabase(os.environ.get('LP_CREDENTIALS'), {'distro': 'ubuntu', 'launchpad_instance': launchpad_instance}) def _get_bug_target(self, db, report): '''Return the bug_target for this report.''' project = db.options.get('project') if 'SourcePackage' in report: return db.lp_distro.getSourcePackage(name=report['SourcePackage']) elif project: return db.launchpad.projects[project] else: return self.lp_distro def _file_bug(self, bug_target, report, description=None): '''File a bug report for a report. Return the bug ID. ''' # unfortunately staging's +storeblob API hardly ever works, so we # must avoid using it. Fake it by manually doing the comments and # attachments that +filebug would ordinarily do itself when given a # blob handle. if description is None: description = 'some description' mime = self.crashdb._generate_upload_blob(report) if _python2: msg = email.message_from_file(mime) else: msg = email.message_from_binary_file(mime) mime.close() msg_iter = msg.walk() # first one is the multipart container header = _python2 and msg_iter.next() or msg_iter.__next__() assert header.is_multipart() # second part should be an inline text/plain attachments with all short # fields part = _python2 and msg_iter.next() or msg_iter.__next__() assert not part.is_multipart() assert part.get_content_type() == 'text/plain' description += '\n\n' + part.get_payload(decode=True).decode('UTF-8', 'replace') # create the bug from header and description data bug = self.crashdb.launchpad.bugs.createBug( description=description, # temporarily disabled to work around SSLHandshakeError on # private attachments # private=(header['Private'] == 'yes'), tags=header['Tags'].split(), target=bug_target, title=report.get('Title', report.standard_title())) # nwo add the attachments for part in msg_iter: assert not part.is_multipart() bug.addAttachment(comment='', description=part.get_filename(), content_type=None, data=part.get_payload(decode=True), filename=part.get_filename(), is_patch=False) for subscriber in header['Subscribers'].split(): sub = self.crashdb.launchpad.people[subscriber] if sub: bug.subscribe(person=sub) return bug.id def _mark_needs_retrace(self, id): '''Mark a report ID as needing retrace.''' bug = self.crashdb.launchpad.bugs[id] if self.crashdb.arch_tag not in bug.tags: bug.tags = bug.tags + [self.crashdb.arch_tag] bug.lp_save() def _mark_needs_dupcheck(self, id): '''Mark a report ID as needing duplicate check.''' bug = self.crashdb.launchpad.bugs[id] if 'need-duplicate-check' not in bug.tags: bug.tags = bug.tags + ['need-duplicate-check'] bug.lp_save() def _mark_report_fixed(self, id): '''Close a report ID as "fixed".''' bug = self.crashdb.launchpad.bugs[id] tasks = list(bug.bug_tasks) assert len(tasks) == 1 t = tasks[0] t.status = 'Fix Released' t.lp_save() def _mark_report_new(self, id): '''Reopen a report ID as "new".''' bug = self.crashdb.launchpad.bugs[id] tasks = list(bug.bug_tasks) assert len(tasks) == 1 t = tasks[0] t.status = 'New' t.lp_save() def _verify_marked_regression(self, id): '''Verify that report ID is marked as regression.''' bug = self.crashdb.launchpad.bugs[id] self.assertIn('regression-retracer', bug.tags) def test_project(self): '''reporting crashes against a project instead of a distro''' launchpad_instance = os.environ.get('APPORT_LAUNCHPAD_INSTANCE') or 'staging' # crash database for langpack-o-matic project (this does not have # packages in any distro) crashdb = CrashDatabase(os.environ.get('LP_CREDENTIALS'), {'project': 'langpack-o-matic', 'launchpad_instance': launchpad_instance}) self.assertEqual(crashdb.distro, None) # create Python crash report r = apport.Report('Crash') r['ExecutablePath'] = '/bin/foo' r['Traceback'] = '''Traceback (most recent call last): File "/bin/foo", line 67, in fuzz print(weird) NameError: global name 'weird' is not defined''' r.add_os_info() r.add_user_info() self.assertEqual(r.standard_title(), "foo crashed with NameError in fuzz(): global name 'weird' is not defined") # file it bug_target = self._get_bug_target(crashdb, r) self.assertEqual(bug_target.name, 'langpack-o-matic') id = self._file_bug(bug_target, r) self.assertTrue(id > 0) sys.stderr.write('(https://%s/bugs/%i) ' % (self.hostname, id)) # update r = crashdb.download(id) r['StacktraceTop'] = 'read () from /lib/libc.6.so\nfoo (i=1) from /usr/lib/libfoo.so' r['Stacktrace'] = 'long\ntrace' r['ThreadStacktrace'] = 'thread\neven longer\ntrace' crashdb.update_traces(id, r, 'good retrace!') r = crashdb.download(id) # test fixed version self.assertEqual(crashdb.get_fixed_version(id), None) crashdb.close_duplicate(r, id, self.get_uncommon_description_report()) self.assertEqual(crashdb.duplicate_of(id), self.get_uncommon_description_report()) self.assertEqual(crashdb.get_fixed_version(id), 'invalid') crashdb.close_duplicate(r, id, None) self.assertEqual(crashdb.duplicate_of(id), None) self.assertEqual(crashdb.get_fixed_version(id), None) def test_download_robustness(self): '''download() of uncommon description formats''' # only ProblemType/Architecture/DistroRelease in description r = self.crashdb.download(self.get_uncommon_description_report()) self.assertEqual(r['ProblemType'], 'Package') self.assertEqual(r['Architecture'], 'amd64') self.assertTrue(r['DistroRelease'].startswith('Ubuntu ')) def test_escalation(self): '''Escalating bugs with more than 10 duplicates''' launchpad_instance = os.environ.get('APPORT_LAUNCHPAD_INSTANCE') or 'staging' db = CrashDatabase(os.environ.get('LP_CREDENTIALS'), {'distro': 'ubuntu', 'launchpad_instance': launchpad_instance, 'escalation_tag': 'omgkittens', 'escalation_subscription': 'apport-hackers'}) count = 0 p = db.launchpad.people[db.options['escalation_subscription']].self_link # needs to have 13 consecutive valid bugs without dupes first_dup = 10070 try: for b in range(first_dup, first_dup + 13): count += 1 sys.stderr.write('%i ' % b) db.close_duplicate(apport.Report(), b, self.get_segv_report()) b = db.launchpad.bugs[self.get_segv_report()] has_escalation_tag = db.options['escalation_tag'] in b.tags has_escalation_subscription = any([s.person_link == p for s in b.subscriptions]) if count <= 10: self.assertFalse(has_escalation_tag) self.assertFalse(has_escalation_subscription) else: self.assertTrue(has_escalation_tag) self.assertTrue(has_escalation_subscription) finally: for b in range(first_dup, first_dup + count): sys.stderr.write('R%i ' % b) db.close_duplicate(apport.Report(), b, None) sys.stderr.write('\n') def test_marking_python_task_mangle(self): '''source package task fixup for marking interpreter crashes''' self._mark_needs_dupcheck(self.get_python_report()) unchecked_before = self.crashdb.get_dup_unchecked() self.assertIn(self.get_python_report(), unchecked_before) # add an upstream task, and remove the package name from the # package task; _mark_dup_checked is supposed to restore the # package name b = self.crashdb.launchpad.bugs[self.get_python_report()] if b.private: b.private = False b.lp_save() t = b.bug_tasks[0] t.target = self.crashdb.launchpad.distributions['ubuntu'] t.lp_save() b.addTask(target=self.crashdb.launchpad.projects['coreutils']) r = self.crashdb.download(self.get_python_report()) self.crashdb._mark_dup_checked(self.get_python_report(), r) unchecked_after = self.crashdb.get_dup_unchecked() self.assertNotIn(self.get_python_report(), unchecked_after) self.assertEqual(unchecked_before, unchecked_after.union(set([self.get_python_report()]))) # upstream task should be unmodified b = self.crashdb.launchpad.bugs[self.get_python_report()] self.assertEqual(b.bug_tasks[0].bug_target_name, 'coreutils') self.assertEqual(b.bug_tasks[0].status, 'New') self.assertEqual(b.bug_tasks[0].importance, 'Undecided') # package-less distro task should have package name fixed self.assertEqual(b.bug_tasks[1].bug_target_name, 'coreutils (Ubuntu)') self.assertEqual(b.bug_tasks[1].status, 'New') self.assertEqual(b.bug_tasks[1].importance, 'Medium') # should not confuse get_fixed_version() self.assertEqual(self.crashdb.get_fixed_version(self.get_python_report()), None) @classmethod def _generate_sigsegv_report(klass, signal='11'): '''Create a test executable which will die with a SIGSEGV, generate a core dump for it, create a problem report with those two arguments (ExecutablePath and CoreDump) and call add_gdb_info(). Return the apport.report.Report. ''' workdir = None orig_cwd = os.getcwd() pr = apport.report.Report() try: workdir = tempfile.mkdtemp() atexit.register(shutil.rmtree, workdir) os.chdir(workdir) # create a test executable with open('crash.c', 'w') as fd: fd.write(''' int f(x) { int* p = 0; *p = x; return x+1; } int main() { return f(42); } ''') assert subprocess.call(['gcc', '-g', 'crash.c', '-o', 'crash']) == 0 assert os.path.exists('crash') # call it through gdb and dump core subprocess.call(['gdb', '--batch', '--ex', 'run', '--ex', 'generate-core-file core', './crash'], stdout=subprocess.PIPE) assert os.path.exists('core') subprocess.check_call(['sync']) assert subprocess.call(['readelf', '-n', 'core'], stdout=subprocess.PIPE) == 0 pr['ExecutablePath'] = os.path.join(workdir, 'crash') pr['CoreDump'] = (os.path.join(workdir, 'core'),) pr['Signal'] = signal pr.add_gdb_info() finally: os.chdir(orig_cwd) return pr unittest.main() �����������������������������������������������������������������������������������������apport-2.20.1/apport/crashdb_impl/memory.py���������������������������������������������������������0000644�0000000�0000000�00000024226�12677230222�017056� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'''Simple in-memory CrashDatabase implementation, mainly useful for testing.''' # Copyright (C) 2007 - 2009 Canonical Ltd. # Author: Martin Pitt <martin.pitt@ubuntu.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import apport.crashdb import apport class CrashDatabase(apport.crashdb.CrashDatabase): '''Simple implementation of crash database interface which keeps everything in memory. This is mainly useful for testing and debugging.''' def __init__(self, auth_file, options): '''Initialize crash database connection. This class does not support bug patterns and authentication.''' apport.crashdb.CrashDatabase.__init__(self, auth_file, options) self.reports = [] # list of dictionaries with keys: report, fixed_version, dup_of, comment self.unretraced = set() self.dup_unchecked = set() if 'dummy_data' in options: self.add_dummy_data() def upload(self, report, progress_callback=None): '''Store the report and return a handle number (starting from 0). This does not support (nor need) progress callbacks. ''' assert self.accepts(report) self.reports.append({'report': report, 'fixed_version': None, 'dup_of': None, 'comment': ''}) id = len(self.reports) - 1 if 'Traceback' in report: self.dup_unchecked.add(id) else: self.unretraced.add(id) return id def get_comment_url(self, report, handle): '''Return http://<sourcepackage>.bugs.example.com/<handle> for package bugs or http://bugs.example.com/<handle> for reports without a SourcePackage.''' if 'SourcePackage' in report: return 'http://%s.bugs.example.com/%i' % (report['SourcePackage'], handle) else: return 'http://bugs.example.com/%i' % handle def get_id_url(self, report, id): '''Return URL for a given report ID. The report is passed in case building the URL needs additional information from it, such as the SourcePackage name. Return None if URL is not available or cannot be determined. ''' return self.get_comment_url(report, id) def download(self, id): '''Download the problem report from given ID and return a Report.''' return self.reports[id]['report'] def get_affected_packages(self, id): '''Return list of affected source packages for given ID.''' return [self.reports[id]['report']['SourcePackage']] def is_reporter(self, id): '''Check whether the user is the reporter of given ID.''' return True def can_update(self, id): '''Check whether the user is eligible to update a report. A user should add additional information to an existing ID if (s)he is the reporter or subscribed, the bug is open, not a duplicate, etc. The exact policy and checks should be done according to the particular implementation. ''' return self.is_reporter(id) def update(self, id, report, comment, change_description=False, attachment_comment=None, key_filter=None): '''Update the given report ID with all data from report. This creates a text comment with the "short" data (see ProblemReport.write_mime()), and creates attachments for all the bulk/binary data. If change_description is True, and the crash db implementation supports it, the short data will be put into the description instead (like in a new bug). comment will be added to the "short" data. If attachment_comment is given, it will be added to the attachment uploads. If key_filter is a list or set, then only those keys will be added. ''' r = self.reports[id] r['comment'] = comment if key_filter: for f in key_filter: if f in report: r['report'][f] = report[f] else: r['report'].update(report) def get_distro_release(self, id): '''Get 'DistroRelease: <release>' from the given report ID and return it.''' return self.reports[id]['report']['DistroRelease'] def get_unfixed(self): '''Return an ID set of all crashes which are not yet fixed. The list must not contain bugs which were rejected or duplicate. This function should make sure that the returned list is correct. If there are any errors with connecting to the crash database, it should raise an exception (preferably IOError).''' result = set() for i in range(len(self.reports)): if self.reports[i]['dup_of'] is None and self.reports[i]['fixed_version'] is None: result.add(i) return result def get_fixed_version(self, id): '''Return the package version that fixes a given crash. Return None if the crash is not yet fixed, or an empty string if the crash is fixed, but it cannot be determined by which version. Return 'invalid' if the crash report got invalidated, such as closed a duplicate or rejected. This function should make sure that the returned result is correct. If there are any errors with connecting to the crash database, it should raise an exception (preferably IOError).''' try: if self.reports[id]['dup_of'] is not None: return 'invalid' return self.reports[id]['fixed_version'] except IndexError: return 'invalid' def duplicate_of(self, id): '''Return master ID for a duplicate bug. If the bug is not a duplicate, return None. ''' return self.reports[id]['dup_of'] def close_duplicate(self, report, id, master): '''Mark a crash id as duplicate of given master ID. If master is None, id gets un-duplicated. ''' self.reports[id]['dup_of'] = master def mark_regression(self, id, master): '''Mark a crash id as reintroducing an earlier crash which is already marked as fixed (having ID 'master').''' assert self.reports[master]['fixed_version'] is not None self.reports[id]['comment'] = 'regression, already fixed in #%i' % master def _mark_dup_checked(self, id, report): '''Mark crash id as checked for being a duplicate.''' try: self.dup_unchecked.remove(id) except KeyError: pass # happens when trying to check for dup twice def mark_retraced(self, id): '''Mark crash id as retraced.''' self.unretraced.remove(id) def get_unretraced(self): '''Return an ID set of all crashes which have not been retraced yet and which happened on the current host architecture.''' return self.unretraced def get_dup_unchecked(self): '''Return an ID set of all crashes which have not been checked for being a duplicate. This is mainly useful for crashes of scripting languages such as Python, since they do not need to be retraced. It should not return bugs that are covered by get_unretraced().''' return self.dup_unchecked def latest_id(self): '''Return the ID of the most recently filed report.''' return len(self.reports) - 1 def add_dummy_data(self): '''Add some dummy crash reports. This is mostly useful for test suites.''' # signal crash with source package and complete stack trace r = apport.Report() r['Package'] = 'libfoo1 1.2-3' r['SourcePackage'] = 'foo' r['DistroRelease'] = 'FooLinux Pi/2' r['Signal'] = '11' r['ExecutablePath'] = '/bin/crash' r['StacktraceTop'] = '''foo_bar (x=1) at crash.c:28 d01 (x=1) at crash.c:29 raise () from /lib/libpthread.so.0 <signal handler called> __frob (x=1) at crash.c:30''' self.upload(r) # duplicate of above crash (slightly different arguments and # package version) r = apport.Report() r['Package'] = 'libfoo1 1.2-4' r['SourcePackage'] = 'foo' r['DistroRelease'] = 'Testux 1.0' r['Signal'] = '11' r['ExecutablePath'] = '/bin/crash' r['StacktraceTop'] = '''foo_bar (x=2) at crash.c:28 d01 (x=3) at crash.c:29 raise () from /lib/libpthread.so.0 <signal handler called> __frob (x=4) at crash.c:30''' self.upload(r) # unrelated signal crash r = apport.Report() r['Package'] = 'bar 42-4' r['SourcePackage'] = 'bar' r['DistroRelease'] = 'Testux 1.0' r['Signal'] = '11' r['ExecutablePath'] = '/usr/bin/broken' r['StacktraceTop'] = '''h (p=0x0) at crash.c:25 g (x=1, y=42) at crash.c:26 f (x=1) at crash.c:27 e (x=1) at crash.c:28 d (x=1) at crash.c:29''' self.upload(r) # Python crash r = apport.Report() r['Package'] = 'python-goo 3epsilon1' r['SourcePackage'] = 'pygoo' r['DistroRelease'] = 'Testux 2.2' r['ExecutablePath'] = '/usr/bin/pygoo' r['Traceback'] = '''Traceback (most recent call last): File "test.py", line 7, in <module> print(_f(5)) File "test.py", line 5, in _f return g_foo00(x+1) File "test.py", line 2, in g_foo00 return x/0 ZeroDivisionError: integer division or modulo by zero''' self.upload(r) # Python crash reoccurs in a later version (used for regression detection) r = apport.Report() r['Package'] = 'python-goo 5' r['SourcePackage'] = 'pygoo' r['DistroRelease'] = 'Testux 2.2' r['ExecutablePath'] = '/usr/bin/pygoo' r['Traceback'] = '''Traceback (most recent call last): File "test.py", line 7, in <module> print(_f(5)) File "test.py", line 5, in _f return g_foo00(x+1) File "test.py", line 2, in g_foo00 return x/0 ZeroDivisionError: integer division or modulo by zero''' self.upload(r) ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/backends/packaging-apt-dpkg.py��������������������������������������������������������0000644�0000000�0000000�00000171545�12677230222�017024� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'''apport.PackageInfo class implementation for python-apt and dpkg. This is used on Debian and derivatives such as Ubuntu. ''' # Copyright (C) 2007 - 2011 Canonical Ltd. # Author: Martin Pitt <martin.pitt@ubuntu.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import subprocess, os, glob, stat, sys, tempfile, shutil, time import hashlib import json from contextlib import closing import warnings warnings.filterwarnings('ignore', 'apt API not stable yet', FutureWarning) import apt try: import cPickle as pickle from urllib import urlopen, quote, unquote (pickle, urlopen, quote, unquote) # pyflakes URLError = IOError HTTPError = IOError except ImportError: # python 3 from urllib.error import URLError, HTTPError from urllib.request import urlopen from urllib.parse import quote, unquote import pickle import apport from apport.packaging import PackageInfo class __AptDpkgPackageInfo(PackageInfo): '''Concrete apport.PackageInfo class implementation for python-apt and dpkg, as found on Debian and derivatives such as Ubuntu.''' def __init__(self): self._apt_cache = None self._sandbox_apt_cache = None self._contents_dir = None self._mirror = None self._virtual_mapping_obj = None self._launchpad_base = 'https://api.launchpad.net/devel' self._archive_url = self._launchpad_base + '/%s/main_archive' self._ppa_archive_url = self._launchpad_base + '/~%(user)s/+archive/%(distro)s/%(ppaname)s' def __del__(self): try: if self._contents_dir: shutil.rmtree(self._contents_dir) except AttributeError: pass def _virtual_mapping(self, configdir): if self._virtual_mapping_obj is not None: return self._virtual_mapping_obj mapping_file = os.path.join(configdir, 'virtual_mapping.pickle') if os.path.exists(mapping_file): with open(mapping_file, 'rb') as fp: self._virtual_mapping_obj = pickle.load(fp) else: self._virtual_mapping_obj = {} return self._virtual_mapping_obj def _save_virtual_mapping(self, configdir): mapping_file = os.path.join(configdir, 'virtual_mapping.pickle') if self._virtual_mapping_obj is not None: with open(mapping_file, 'wb') as fp: pickle.dump(self._virtual_mapping_obj, fp) def _cache(self): '''Return apt.Cache() (initialized lazily).''' self._sandbox_apt_cache = None if not self._apt_cache: try: # avoid spewage on stdout progress = apt.progress.base.OpProgress() self._apt_cache = apt.Cache(progress, rootdir='/') except AttributeError: # older python-apt versions do not yet have above argument self._apt_cache = apt.Cache(rootdir='/') return self._apt_cache def _sandbox_cache(self, aptroot, apt_sources, fetchProgress, distro_name, release_codename, origins): '''Build apt sandbox and return apt.Cache(rootdir=) (initialized lazily). Clear the package selection on subsequent calls. ''' self._apt_cache = None if not self._sandbox_apt_cache: self._build_apt_sandbox(aptroot, apt_sources, distro_name, release_codename, origins) rootdir = os.path.abspath(aptroot) self._sandbox_apt_cache = apt.Cache(rootdir=rootdir) try: # We don't need to update this multiple times. self._sandbox_apt_cache.update(fetchProgress) except apt.cache.FetchFailedException as e: raise SystemError(str(e)) self._sandbox_apt_cache.open() else: self._sandbox_apt_cache.clear() return self._sandbox_apt_cache def _apt_pkg(self, package): '''Return apt.Cache()[package] (initialized lazily). Throw a ValueError if the package does not exist. ''' try: return self._cache()[package] except KeyError: raise ValueError('package %s does not exist' % package) def get_version(self, package): '''Return the installed version of a package.''' pkg = self._apt_pkg(package) inst = pkg.installed if not inst: raise ValueError('package %s does not exist' % package) return inst.version def get_available_version(self, package): '''Return the latest available version of a package.''' return self._apt_pkg(package).candidate.version def get_dependencies(self, package): '''Return a list of packages a package depends on.''' cur_ver = self._apt_pkg(package)._pkg.current_ver if not cur_ver: # happens with virtual packages return [] return [d[0].target_pkg.name for d in cur_ver.depends_list.get('Depends', []) + cur_ver.depends_list.get('PreDepends', []) + cur_ver.depends_list.get('Recommends', [])] def get_source(self, package): '''Return the source package name for a package.''' if self._apt_pkg(package).installed: return self._apt_pkg(package).installed.source_name elif self._apt_pkg(package).candidate: return self._apt_pkg(package).candidate.source_name else: raise ValueError('package %s does not exist' % package) def get_package_origin(self, package): '''Return package origin. Return the repository name from which a package was installed, or None if it cannot be determined. Throw ValueError if package is not installed. ''' pkg = self._apt_pkg(package).installed if not pkg: raise ValueError('package is not installed') for origin in pkg.origins: if origin.origin: return origin.origin return None def is_distro_package(self, package): '''Check if a package is a genuine distro package. Return True for a native distro package, False if it comes from a third-party source. ''' pkg = self._apt_pkg(package) # some PPA packages have installed version None, see LP#252734 if pkg.installed and pkg.installed.version is None: return False distro_name = self.get_os_version()[0] if pkg.candidate and pkg.candidate.origins: # might be None for o in pkg.candidate.origins: if o.origin == distro_name: return True return False def is_native_origin_package(self, package): '''Check if a package originated from a native location Return True for a package which came from an origin which is listed in native-origins.d, False if it comes from a third-party source. ''' pkg = self._apt_pkg(package) # some PPA packages have installed version None, see LP#252734 if pkg.installed and pkg.installed.version is None: return False native_origins = [] for f in glob.glob('/etc/apport/native-origins.d/*'): try: with open(f) as fd: for line in fd: line = line.strip() if line: native_origins.append(line) except IOError: pass if pkg.candidate and pkg.candidate.origins: # might be None for o in pkg.candidate.origins: if o.origin in native_origins: return True return False def get_lp_binary_package(self, distro_id, package, version, arch): package = quote(package) version = quote(version) ma = self.json_request(self._archive_url % distro_id) if not ma: return (None, None) ma_link = ma['self_link'] pb_url = ma_link + ('/?ws.op=getPublishedBinaries&binary_name=%s&version=%s&exact_match=true' % (package, version)) bpub_url = '' try: pbs = self.json_request(pb_url, entries=True) if not pbs: return (None, None) for pb in pbs: if pb['architecture_specific'] == 'false': bpub_url = pb['self_link'] break else: if pb['distro_arch_series_link'].endswith(arch): bpub_url = pb['self_link'] break except IndexError: return (None, None) if not bpub_url: return (None, None) bf_urls = bpub_url + '?ws.op=binaryFileUrls&include_meta=true' bfs = self.json_request(bf_urls) if not bfs: return (None, None) for bf in bfs: # return the first binary file url since there being more than one # is theoretical return (unquote(bf['url']), bf['sha1']) def json_request(self, url, entries=False): '''Open, read and parse the json of a url Set entries to True when the json data returned by Launchpad has a dictionary with an entries key which contains the data desired. ''' try: response = urlopen(url) if response.getcode() >= 400: raise HTTPError('%u' % response.getcode()) except (URLError, HTTPError): apport.warning('cannot connect to: %s' % unquote(url)) return None try: content = response.read() except IOError: apport.warning('failure reading data at: %s' % unquote(url)) return None if isinstance(content, bytes): content = content.decode('utf-8') if entries: return json.loads(content)['entries'] else: return json.loads(content) def get_lp_source_package(self, distro_id, package, version): package = quote(package) version = quote(version) ma = self.json_request(self._archive_url % distro_id) if not ma: return None ma_link = ma['self_link'] ps_url = ma_link + ('/?ws.op=getPublishedSources&exact_match=true&source_name=%s&version=%s' % (package, version)) # use the first entry as they are sorted chronologically try: ps = self.json_request(ps_url, entries=True)[0]['self_link'] except IndexError: return None if not ps: return None sf_urls = ps + '?ws.op=sourceFileUrls' sfus = self.json_request(sf_urls) if not sfus: return None source_files = [] for sfu in sfus: if sys.version_info.major == 2 and isinstance(sfu, unicode): sfu = sfu.encode('utf-8') sfu = unquote(sfu) source_files.append(sfu) return source_files def get_architecture(self, package): '''Return the architecture of a package. This might differ on multiarch architectures (e. g. an i386 Firefox package on a x86_64 system)''' if self._apt_pkg(package).installed: return self._apt_pkg(package).installed.architecture or 'unknown' elif self._apt_pkg(package).candidate: return self._apt_pkg(package).candidate.architecture or 'unknown' else: raise ValueError('package %s does not exist' % package) def get_files(self, package): '''Return list of files shipped by a package.''' list = self._call_dpkg(['-L', package]) if list is None: return None return [f for f in list.splitlines() if not f.startswith('diverted')] def get_modified_files(self, package): '''Return list of all modified files of a package.''' # get the maximum mtime of package files that we consider unmodified listfile = '/var/lib/dpkg/info/%s:%s.list' % (package, self.get_system_architecture()) if not os.path.exists(listfile): listfile = '/var/lib/dpkg/info/%s.list' % package try: s = os.stat(listfile) if not stat.S_ISREG(s.st_mode): raise OSError max_time = max(s.st_mtime, s.st_ctime) except OSError: return [] # create a list of files with a newer timestamp for md5sum'ing sums = b'' sumfile = '/var/lib/dpkg/info/%s:%s.md5sums' % (package, self.get_system_architecture()) if not os.path.exists(sumfile): sumfile = '/var/lib/dpkg/info/%s.md5sums' % package if not os.path.exists(sumfile): # some packages do not ship md5sums return [] with open(sumfile, 'rb') as fd: for line in fd: try: # ignore lines with NUL bytes (happens, LP#96050) if b'\0' in line: apport.warning('%s contains NUL character, ignoring line', sumfile) continue words = line.split() if not words: apport.warning('%s contains empty line, ignoring line', sumfile) continue s = os.stat(('/' + words[-1].decode('UTF-8')).encode('UTF-8')) if max(s.st_mtime, s.st_ctime) <= max_time: continue except OSError: pass sums += line if sums: return self._check_files_md5(sums) else: return [] def get_modified_conffiles(self, package): '''Return modified configuration files of a package. Return a file name -> file contents map of all configuration files of package. Please note that apport.hookutils.attach_conffiles() is the official user-facing API for this, which will ask for confirmation and allows filtering. ''' dpkg = subprocess.Popen(['dpkg-query', '-W', '--showformat=${Conffiles}', package], stdout=subprocess.PIPE) out = dpkg.communicate()[0].decode() if dpkg.returncode != 0: return {} modified = {} for line in out.splitlines(): if not line: continue # just take the first two fields, to not stumble over obsolete # conffiles path, default_md5sum = line.strip().split()[:2] if os.path.exists(path): try: with open(path, 'rb') as fd: contents = fd.read() m = hashlib.md5() m.update(contents) calculated_md5sum = m.hexdigest() if calculated_md5sum != default_md5sum: modified[path] = contents except IOError as e: modified[path] = '[inaccessible: %s]' % str(e) else: modified[path] = '[deleted]' return modified def __fgrep_files(self, pattern, file_list): '''Call fgrep for a pattern on given file list and return the first matching file, or None if no file matches.''' match = None slice_size = 100 i = 0 while not match and i < len(file_list): p = subprocess.Popen(['fgrep', '-lxm', '1', '--', pattern] + file_list[i:(i + slice_size)], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) out = p.communicate()[0].decode('UTF-8') if p.returncode == 0: match = out i += slice_size return match def get_file_package(self, file, uninstalled=False, map_cachedir=None, release=None, arch=None): '''Return the package a file belongs to. Return None if the file is not shipped by any package. If uninstalled is True, this will also find files of uninstalled packages; this is very expensive, though, and needs network access and lots of CPU and I/O resources. In this case, map_cachedir can be set to an existing directory which will be used to permanently store the downloaded maps. If it is not set, a temporary directory will be used. Also, release and arch can be set to a foreign release/architecture instead of the one from the current system. ''' if uninstalled: return self._search_contents(file, map_cachedir, release, arch) # check if the file is a diversion dpkg = subprocess.Popen(['dpkg-divert', '--list', file], stdout=subprocess.PIPE, stderr=subprocess.PIPE) out = dpkg.communicate()[0].decode('UTF-8') if dpkg.returncode == 0 and out: pkg = out.split()[-1] if pkg != 'hardening-wrapper': return pkg fname = os.path.splitext(os.path.basename(file))[0].lower() all_lists = [] likely_lists = [] for f in glob.glob('/var/lib/dpkg/info/*.list'): p = os.path.splitext(os.path.basename(f))[0].lower().split(':')[0] if p in fname or fname in p: likely_lists.append(f) else: all_lists.append(f) # first check the likely packages match = self.__fgrep_files(file, likely_lists) if not match: match = self.__fgrep_files(file, all_lists) if match: return os.path.splitext(os.path.basename(match))[0].split(':')[0] return None @classmethod def get_system_architecture(klass): '''Return the architecture of the system, in the notation used by the particular distribution.''' dpkg = subprocess.Popen(['dpkg', '--print-architecture'], stdout=subprocess.PIPE) arch = dpkg.communicate()[0].decode().strip() assert dpkg.returncode == 0 assert arch return arch def get_library_paths(self): '''Return a list of default library search paths. The entries should be separated with a colon ':', like for $LD_LIBRARY_PATH. This needs to take any multiarch directories into account. ''' dpkg = subprocess.Popen(['dpkg-architecture', '-qDEB_HOST_MULTIARCH'], stdout=subprocess.PIPE) multiarch_triple = dpkg.communicate()[0].decode().strip() assert dpkg.returncode == 0 return '/lib/%s:/lib' % multiarch_triple def set_mirror(self, url): '''Explicitly set a distribution mirror URL for operations that need to fetch distribution files/packages from the network. By default, the mirror will be read from the system configuration files. ''' self._mirror = url # purge our contents dir cache try: if self._contents_dir: shutil.rmtree(self._contents_dir) self._contents_dir = None except AttributeError: pass def get_source_tree(self, srcpackage, dir, version=None, sandbox=None, apt_update=False): '''Download source package and unpack it into dir. This also has to care about applying patches etc., so that dir will eventually contain the actually compiled source. dir needs to exist and should be empty. If version is given, this particular version will be retrieved. Otherwise this will fetch the latest available version. If sandbox is given, it calls apt-get source in that sandbox, otherwise it uses the system apt configuration. If apt_update is True, it will call apt-get update before apt-get source. This is mostly necessary for freshly created sandboxes. Return the directory that contains the actual source root directory (which might be a subdirectory of dir). Return None if the source is not available. ''' # configure apt for sandbox env = os.environ.copy() if sandbox: f = tempfile.NamedTemporaryFile() f.write(('''Dir "%s"; Debug::NoLocking "true"; ''' % sandbox).encode()) f.flush() env['APT_CONFIG'] = f.name if apt_update: subprocess.call(['apt-get', '-qq', 'update'], env=env) # fetch source tree argv = ['apt-get', '-qq', '--assume-yes', 'source', srcpackage] if version: argv[-1] += '=' + version try: if subprocess.call(argv, cwd=dir, env=env) != 0: if not version: return None sf_urls = self.get_lp_source_package(self.get_distro_name(), srcpackage, version) if sf_urls: proxy = '' if apt.apt_pkg.config.find('Acquire::http::Proxy') != '': proxy = apt.apt_pkg.config.find('Acquire::http::Proxy') apt.apt_pkg.config.set('Acquire::http::Proxy', '') fetchProgress = apt.progress.base.AcquireProgress() fetcher = apt.apt_pkg.Acquire(fetchProgress) af_queue = [] for sf in sf_urls: af_queue.append(apt.apt_pkg.AcquireFile(fetcher, sf, destdir=dir)) result = fetcher.run() if result != fetcher.RESULT_CONTINUE: return None if proxy: apt.apt_pkg.config.set('Acquire::http::Proxy', proxy) for dsc in glob.glob(os.path.join(dir, '*.dsc')): subprocess.call(['dpkg-source', '-sn', '-x', dsc], stdout=subprocess.PIPE, cwd=dir) else: return None except OSError: return None # find top level directory root = None for d in glob.glob(os.path.join(dir, srcpackage + '-*')): if os.path.isdir(d): root = d assert root, 'could not determine source tree root directory' # apply patches on a best-effort basis try: subprocess.call('(debian/rules patch || debian/rules apply-patches ' '|| debian/rules apply-dpatches || ' 'debian/rules unpack || debian/rules patch-stamp || ' 'debian/rules setup) >/dev/null 2>&1', shell=True, cwd=root) except OSError: pass return root def get_kernel_package(self): '''Return the actual Linux kernel package name. This is used when the user reports a bug against the "linux" package. ''' # TODO: Ubuntu specific return 'linux-image-' + os.uname()[2] def _install_debug_kernel(self, report): '''Install kernel debug package Ideally this would be just another package but the kernel is special in various ways currently so we can not use the apt method. ''' installed = [] outdated = [] kver = report['Uname'].split()[1] arch = report['Architecture'] ver = report['Package'].split()[1] debug_pkgname = 'linux-image-debug-%s' % kver c = self._cache() if debug_pkgname in c and c[debug_pkgname].isInstalled: # print('kernel ddeb already installed') return (installed, outdated) target_dir = apt.apt_pkg.config.find_dir('Dir::Cache::archives') + '/partial' deb = '%s_%s_%s.ddeb' % (debug_pkgname, ver, arch) # FIXME: this package is currently not in Packages.gz url = 'http://ddebs.ubuntu.com/pool/main/l/linux/%s' % deb out = open(os.path.join(target_dir, deb), 'w') # urlretrieve does not return 404 in the headers so we use urlopen u = urlopen(url) if u.getcode() > 400: return ('', 'linux') while True: block = u.read(8 * 1024) if not block: break out.write(block) out.flush() out.close() ret = subprocess.call(['dpkg', '-i', os.path.join(target_dir, deb)]) if ret == 0: installed.append(deb.split('_')[0]) return (installed, outdated) def install_packages(self, rootdir, configdir, release, packages, verbose=False, cache_dir=None, permanent_rootdir=False, architecture=None, origins=None): '''Install packages into a sandbox (for apport-retrace). In order to work without any special permissions and without touching the running system, this should only download and unpack packages into the given root directory, not install them into the system. configdir points to a directory with by-release configuration files for the packaging system; this is completely dependent on the backend implementation, the only assumption is that this looks into configdir/release/, so that you can use retracing for multiple DistroReleases. As a special case, if configdir is None, it uses the current system configuration, and "release" is ignored. release is the value of the report's 'DistroRelease' field. packages is a list of ('packagename', 'version') tuples. If the version is None, it should install the most current available version. If cache_dir is given, then the downloaded packages will be stored there, to speed up subsequent retraces. If permanent_rootdir is True, then the sandbox created from the downloaded packages will be reused, to speed up subsequent retraces. If architecture is given, the sandbox will be created with packages of the given architecture (as specified in a report's "Architecture" field). If not given it defaults to the host system's architecture. If origins is given, the sandbox will be created with apt data sources for foreign origins. Return a string with outdated packages, or None if all packages were installed. If something is wrong with the environment (invalid configuration, package servers down, etc.), this should raise a SystemError with a meaningful error message. ''' if not architecture: architecture = self.get_system_architecture() if not configdir: apt_sources = '/etc/apt/sources.list' self.current_release_codename = self.get_distro_codename() else: # support architecture specific config, fall back to global config apt_sources = os.path.join(configdir, release, 'sources.list') if architecture != self.get_system_architecture(): arch_apt_sources = os.path.join(configdir, release, architecture, 'sources.list') if os.path.exists(arch_apt_sources): apt_sources = arch_apt_sources # set mirror for get_file_package() try: self.set_mirror(self._get_primary_mirror_from_apt_sources(apt_sources)) except SystemError as e: apport.warning('cannot determine mirror: %s' % str(e)) # set current release code name for _distro_release_to_codename with open(os.path.join(configdir, release, 'codename')) as f: self.current_release_codename = f.read().strip() if not os.path.exists(apt_sources): raise SystemError('%s does not exist' % apt_sources) # create apt sandbox if cache_dir: tmp_aptroot = False if configdir: aptroot = os.path.join(cache_dir, release, 'apt') else: aptroot = os.path.join(cache_dir, 'system', 'apt') if not os.path.isdir(aptroot): os.makedirs(aptroot) else: tmp_aptroot = True aptroot = tempfile.mkdtemp() apt.apt_pkg.config.set('APT::Architecture', architecture) apt.apt_pkg.config.set('Acquire::Languages', 'none') # directly connect to Launchpad when downloading deb files apt.apt_pkg.config.set('Acquire::http::Proxy::api.launchpad.net', 'direct') apt.apt_pkg.config.set('Acquire::http::Proxy::launchpad.net', 'direct') if verbose: fetchProgress = apt.progress.text.AcquireProgress() else: fetchProgress = apt.progress.base.AcquireProgress() if not tmp_aptroot: cache = self._sandbox_cache(aptroot, apt_sources, fetchProgress, self.get_distro_name(), self.current_release_codename, origins) else: self._build_apt_sandbox(aptroot, apt_sources, self.get_distro_name(), self.current_release_codename, origins) cache = apt.Cache(rootdir=os.path.abspath(aptroot)) try: cache.update(fetchProgress) except apt.cache.FetchFailedException as e: raise SystemError(str(e)) cache.open() archivedir = apt.apt_pkg.config.find_dir("Dir::Cache::archives") obsolete = '' src_records = apt.apt_pkg.SourceRecords() # read original package list pkg_list = os.path.join(rootdir, 'packages.txt') pkg_versions = {} if os.path.exists(pkg_list): with open(pkg_list) as f: for line in f: line = line.strip() if not line: continue (p, v) = line.split() pkg_versions[p] = v # mark packages for installation real_pkgs = set() lp_cache = {} fetcher = apt.apt_pkg.Acquire(fetchProgress) # need to keep AcquireFile references acquire_queue = [] for (pkg, ver) in packages: try: cache_pkg = cache[pkg] except KeyError: m = 'package %s does not exist, ignoring' % pkg.replace('%', '%%') obsolete += m + '\n' apport.warning(m) continue # try to select matching version try: if ver: cache_pkg.candidate = cache_pkg.versions[ver] except KeyError: (lp_url, sha1sum) = self.get_lp_binary_package(self.get_distro_name(), pkg, ver, architecture) if lp_url: acquire_queue.append(apt.apt_pkg.AcquireFile(fetcher, lp_url, hash="sha1:%s" % sha1sum, destdir=archivedir)) lp_cache[pkg] = ver else: obsolete += '%s version %s required, but %s is available\n' % (pkg, ver, cache_pkg.candidate.version) candidate = cache_pkg.candidate real_pkgs.add(pkg) if permanent_rootdir: virtual_mapping = self._virtual_mapping(aptroot) # Remember all the virtual packages that this package provides, # so that if we encounter that virtual package as a # Conflicts/Replaces later, we know to remove this package from # the cache. for p in candidate.provides: virtual_mapping.setdefault(p, set()).add(pkg) conflicts = [] if 'Conflicts' in candidate.record: conflicts += apt.apt_pkg.parse_depends(candidate.record['Conflicts']) if 'Replaces' in candidate.record: conflicts += apt.apt_pkg.parse_depends(candidate.record['Replaces']) for conflict in conflicts: # apt_pkg.parse_depends needs to handle the or operator, # but as policy states it is invalid to use that in # Replaces/Depends, we can safely choose the first value # here. conflict = conflict[0] if cache.is_virtual_package(conflict[0]): try: providers = virtual_mapping[conflict[0]] except KeyError: # We may not have seen the virtual package that # this conflicts with, so we can assume it's not # unpacked into the sandbox. continue for p in providers: debs = os.path.join(archivedir, '%s_*.deb' % p) for path in glob.glob(debs): ver = self._deb_version(path) if apt.apt_pkg.check_dep(ver, conflict[2], conflict[1]): os.unlink(path) try: del pkg_versions[p] except KeyError: pass del providers else: debs = os.path.join(archivedir, '%s_*.deb' % conflict[0]) for path in glob.glob(debs): ver = self._deb_version(path) if apt.apt_pkg.check_dep(ver, conflict[2], conflict[1]): os.unlink(path) try: del pkg_versions[conflict[0]] except KeyError: pass if candidate.architecture != 'all': try: dbg_pkg = pkg + '-dbg' dbg = cache[dbg_pkg] pkg_found = False # try to get the same version as pkg if ver: try: dbg.candidate = dbg.versions[ver] pkg_found = True except KeyError: (lp_url, sha1sum) = self.get_lp_binary_package(self.get_distro_name(), dbg_pkg, ver, architecture) if lp_url: acquire_queue.append(apt.apt_pkg.AcquireFile(fetcher, lp_url, hash="sha1:%s" % sha1sum, destdir=archivedir)) lp_cache[dbg_pkg] = ver pkg_found = True if not pkg_found: try: dbg.candidate = dbg.versions[candidate.version] except KeyError: obsolete += 'outdated -dbg package for %s: package version %s -dbg version %s\n' % ( pkg, ver, dbg.candidate.version) real_pkgs.add(dbg_pkg) except KeyError: # install all -dbg from the source package; lookup() just # works from the current list pointer, we always need to # start from the beginning src_records.restart() if src_records.lookup(candidate.source_name): # ignore transitional packages dbgs = [p for p in src_records.binaries if p.endswith('-dbg') and p in cache and 'transitional' not in cache[p].candidate.description] else: dbgs = [] if dbgs: for p in dbgs: # if the package has already been added to # real_pkgs don't search for it again if p in real_pkgs: continue pkg_found = False # prefer the version requested if ver: try: cache[p].candidate = cache[p].versions[ver] pkg_found = True except KeyError: (lp_url, sha1sum) = self.get_lp_binary_package(self.get_distro_name(), p, ver, architecture) if lp_url: acquire_queue.append(apt.apt_pkg.AcquireFile(fetcher, lp_url, hash="sha1:%s" % sha1sum, destdir=archivedir)) lp_cache[p] = ver pkg_found = True if not pkg_found: try: cache[p].candidate = cache[p].versions[candidate.version] except KeyError: # we don't really expect that, but it's possible that # other binaries have a different version pass real_pkgs.add(p) else: pkg_found = False dbgsym_pkg = pkg + '-dbgsym' try: dbgsym = cache[dbgsym_pkg] real_pkgs.add(dbgsym_pkg) # prefer the version requested if ver: try: dbgsym.candidate = dbgsym.versions[ver] pkg_found = True except KeyError: (lp_url, sha1sum) = self.get_lp_binary_package(self.get_distro_name(), dbgsym_pkg, ver, architecture) if lp_url: acquire_queue.append(apt.apt_pkg.AcquireFile(fetcher, lp_url, hash="sha1:%s" % sha1sum, destdir=archivedir)) lp_cache[dbgsym_pkg] = ver pkg_found = True if not pkg_found: try: dbgsym.candidate = dbgsym.versions[candidate.version] except KeyError: obsolete += 'outdated debug symbol package for %s: package version %s dbgsym version %s\n' % ( pkg, candidate.version, dbgsym.candidate.version) except KeyError: if ver: (lp_url, sha1sum) = self.get_lp_binary_package(self.get_distro_name(), dbgsym_pkg, ver, architecture) if lp_url: acquire_queue.append(apt.apt_pkg.AcquireFile(fetcher, lp_url, hash="sha1:%s" % sha1sum, destdir=archivedir)) lp_cache[dbgsym_pkg] = ver pkg_found = True if not pkg_found: obsolete += 'no debug symbol package found for %s\n' % pkg # unpack packages, weed out the ones that are already installed (for # permanent sandboxes) for p in real_pkgs.copy(): if ver: if pkg_versions.get(p) != ver: cache[p].mark_install(False, False) elif pkg_versions.get(p) != cache[p].candidate.version: cache[p].mark_install(False, False) else: real_pkgs.remove(p) else: if pkg_versions.get(p) != cache[p].candidate.version: cache[p].mark_install(False, False) else: real_pkgs.remove(p) last_written = time.time() # fetch packages try: cache.fetch_archives(fetcher=fetcher) except apt.cache.FetchFailedException as e: apport.error('Package download error, try again later: %s', str(e)) sys.exit(1) # transient error if verbose: print('Extracting downloaded debs...') for i in fetcher.items: if not permanent_rootdir or os.path.getctime(i.destfile) > last_written: out = subprocess.check_output(['dpkg-deb', '--show', i.destfile]).decode() (p, v) = out.strip().split() # don't extract the same version of the package if it is # already extracted if pkg_versions.get(p) == v: pass # don't extract the package if it is a different version than # the one we want to extract from Launchpad elif p in lp_cache and lp_cache[p] != v: pass else: subprocess.check_call(['dpkg', '-x', i.destfile, rootdir]) pkg_versions[p] = v pkg_name = os.path.basename(i.destfile).split('_', 1)[0] # because a package may exist multiple times in the fetcher it may # have already been removed if pkg_name in real_pkgs: real_pkgs.remove(pkg_name) # update package list pkgs = list(pkg_versions.keys()) pkgs.sort() with open(pkg_list, 'w') as f: for p in pkgs: f.write(p) f.write(' ') f.write(pkg_versions[p]) f.write('\n') if tmp_aptroot: shutil.rmtree(aptroot) # check bookkeeping that apt fetcher really got everything assert not real_pkgs, 'apt fetcher did not fetch these packages: ' \ + ' '.join(real_pkgs) if permanent_rootdir: self._save_virtual_mapping(aptroot) return obsolete def package_name_glob(self, nameglob): '''Return known package names which match given glob.''' return glob.fnmatch.filter(self._cache().keys(), nameglob) # # Internal helper methods # @classmethod def _call_dpkg(klass, args): '''Call dpkg with given arguments and return output, or return None on error.''' dpkg = subprocess.Popen(['dpkg'] + args, stdout=subprocess.PIPE, stderr=subprocess.PIPE) out = dpkg.communicate(input)[0].decode('UTF-8') if dpkg.returncode == 0: return out else: raise ValueError('package does not exist') def _check_files_md5(self, sumfile): '''Internal function for calling md5sum. This is separate from get_modified_files so that it is automatically testable. ''' if os.path.exists(sumfile): m = subprocess.Popen(['/usr/bin/md5sum', '-c', sumfile], stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd='/', env={}) out = m.communicate()[0].decode('UTF-8', errors='replace') else: assert type(sumfile) == bytes, 'md5sum list value must be a byte array' m = subprocess.Popen(['/usr/bin/md5sum', '-c'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd='/', env={}) out = m.communicate(sumfile)[0].decode('UTF-8', errors='replace') # if md5sum succeeded, don't bother parsing the output if m.returncode == 0: return [] mismatches = [] for l in out.splitlines(): if l.endswith('FAILED'): mismatches.append(l.rsplit(':', 1)[0]) return mismatches @classmethod def _get_primary_mirror_from_apt_sources(klass, apt_sources): '''Heuristically determine primary mirror from an apt sources.list''' with open(apt_sources) as f: for l in f: fields = l.split() if len(fields) >= 3 and fields[0] == 'deb': if fields[1].startswith('['): # options given, mirror is in third field mirror_idx = 2 else: mirror_idx = 1 if fields[mirror_idx].startswith('http://'): return fields[mirror_idx] else: raise SystemError('cannot determine default mirror: %s does not contain a valid deb line' % apt_sources) def _get_mirror(self): '''Return the distribution mirror URL. If it has not been set yet, it will be read from the system configuration.''' if not self._mirror: self._mirror = self._get_primary_mirror_from_apt_sources('/etc/apt/sources.list') return self._mirror def _distro_release_to_codename(self, release): '''Map a DistroRelease: field value to a release code name''' # if we called install_packages() with a configdir, we can read the # codename from there if hasattr(self, 'current_release_codename') and self.current_release_codename is not None: return self.current_release_codename raise NotImplementedError('Cannot map DistroRelease to a code name without install_packages()') def _search_contents(self, file, map_cachedir, release, arch): '''Internal function for searching file in Contents.gz.''' if map_cachedir: dir = map_cachedir else: if not self._contents_dir: self._contents_dir = tempfile.mkdtemp() dir = self._contents_dir if arch is None: arch = self.get_system_architecture() if release is None: release = self.get_distro_codename() else: release = self._distro_release_to_codename(release) for pocket in ['-updates', '-security', '-proposed', '']: map = os.path.join(dir, '%s%s-Contents-%s.gz' % (release, pocket, arch)) # check if map exists and is younger than a day; if not, we need to # refresh it try: st = os.stat(map) age = int(time.time() - st.st_mtime) except OSError: age = None if age is None or age >= 86400: url = '%s/dists/%s%s/Contents-%s.gz' % (self._get_mirror(), release, pocket, arch) if age: try: from httplib import HTTPConnection from urlparse import urlparse except ImportError: # python 3 from http.client import HTTPConnection from urllib.parse import urlparse from datetime import datetime # HTTPConnection requires server name e.g. # archive.ubuntu.com server = urlparse(url)[1] conn = HTTPConnection(server) conn.request("HEAD", urlparse(url)[2]) res = conn.getresponse() modified_str = res.getheader('last-modified', None) if modified_str: modified = datetime.strptime(modified_str, '%a, %d %b %Y %H:%M:%S %Z') update = (modified > datetime.fromtimestamp(st.st_mtime)) else: update = True else: update = True if update: try: src = urlopen(url) except IOError: # we ignore non-existing pockets, but we do crash if the # release pocket doesn't exist if pocket == '': raise else: continue with open(map, 'wb') as f: while True: data = src.read(1000000) if not data: break f.write(data) src.close() assert os.path.exists(map) if file.startswith('/'): file = file[1:] # zgrep is magnitudes faster than a 'gzip.open/split() loop' package = None zgrep = subprocess.Popen(['zgrep', '-m1', '^%s[[:space:]]' % file, map], stdout=subprocess.PIPE, stderr=subprocess.PIPE) out = zgrep.communicate()[0].decode('UTF-8') # we do not check the return code, since zgrep -m1 often errors out # with 'stdout: broken pipe' if out: package = out.split()[1].split(',')[0].split('/')[-1] if package: return package return None @classmethod def create_ppa_source_from_origin(klass, origin, distro, release_codename): '''For an origin from a Launchpad PPA create sources.list content. distro is the distribution for which content is being created e.g. ubuntu. release_codename is the codename of the release for which content is being created e.g. trusty. Return a string containing content suitable for writing to a sources.list file, or None if the origin is not a Launchpad PPA. ''' if origin.startswith("LP-PPA-"): components = origin.split("-")[2:] # If the PPA is unnamed, it will not appear in origin information # but is named ppa in Launchpad. try_ppa = True if len(components) == 1: components.append('ppa') try_ppa = False index = 1 while index < len(components): # For an origin we can't tell where the user name ends and the # PPA name starts, so split on each "-" until we find a PPA # that exists. user = str.join('-', components[:index]) ppa_name = str.join('-', components[index:]) try: with closing(urlopen(apport.packaging._ppa_archive_url % {'user': user, 'distro': distro, 'ppaname': ppa_name})) as response: response.read() # in Python 2 an error does not raise an exception if response.getcode() >= 400: raise HTTPError('%u' % response.getcode()) except (URLError, HTTPError): index += 1 if index == len(components): if try_ppa: components.append('ppa') try_ppa = False index = 2 else: user = None continue break if user and ppa_name: ppa_line = 'deb http://ppa.launchpad.net/%s/%s/%s %s main' % \ (user, ppa_name, distro, release_codename) debug_url = 'http://ppa.launchpad.net/%s/%s/%s/dists/%s/main/debug' % \ (user, ppa_name, distro, release_codename) try: with closing(urlopen(debug_url)) as response: response.read() # in Python 2 an error does not raise an exception if response.getcode() >= 400: raise HTTPError('%u' % response.getcode()) add_debug = ' main/debug' except (URLError, HTTPError): add_debug = '' return ppa_line + add_debug + '\ndeb-src' + ppa_line[3:] + '\n' return None @classmethod def _build_apt_sandbox(klass, apt_root, apt_sources, distro_name, release_codename, origins): # pre-create directories, to avoid apt.Cache() printing "creating..." # messages on stdout if not os.path.exists(os.path.join(apt_root, 'var', 'lib', 'apt')): os.makedirs(os.path.join(apt_root, 'var', 'lib', 'apt', 'lists', 'partial')) os.makedirs(os.path.join(apt_root, 'var', 'cache', 'apt', 'archives', 'partial')) os.makedirs(os.path.join(apt_root, 'var', 'lib', 'dpkg')) os.makedirs(os.path.join(apt_root, 'etc', 'apt', 'apt.conf.d')) os.makedirs(os.path.join(apt_root, 'etc', 'apt', 'preferences.d')) # install apt sources list_d = os.path.join(apt_root, 'etc', 'apt', 'sources.list.d') if os.path.exists(list_d): shutil.rmtree(list_d) if os.path.isdir(apt_sources + '.d'): shutil.copytree(apt_sources + '.d', list_d) else: os.makedirs(list_d) with open(apt_sources) as src: with open(os.path.join(apt_root, 'etc', 'apt', 'sources.list'), 'w') as dest: dest.write(src.read()) if origins: source_list_content = '' # map an origin to a Launchpad username and PPA name origin_data = {} for origin in origins: # apport's report format uses unknown for packages w/o an origin if origin == 'unknown': continue origin_path = None if os.path.isdir(apt_sources + '.d'): # check to see if there is a sources.list file for the origin, # if there isn't try using a sources.list file w/o LP-PPA- origin_path = os.path.join(apt_sources + '.d', origin + '.list') if not os.path.exists(origin_path) and 'LP-PPA' in origin: origin_path = os.path.join(apt_sources + '.d', origin.strip('LP-PPA-') + '.list') if not os.path.exists(origin_path): origin_path = None elif not os.path.exists(origin_path): origin_path = None if origin_path: with open(origin_path) as src_ext: source_list_content = src_ext.read() else: source_list_content = klass.create_ppa_source_from_origin(origin, distro_name, release_codename) if source_list_content: with open(os.path.join(apt_root, 'etc', 'apt', 'sources.list.d', origin + '.list'), 'a') as dest: dest.write(source_list_content) for line in source_list_content.splitlines(): if line.startswith('#'): continue if 'ppa.launchpad.net' not in line: continue user = line.split()[1].split('/')[3] ppa = line.split()[1].split('/')[4] origin_data[origin] = (user, ppa) else: apport.warning("Could not find or create source config for %s" % origin) # install apt keyrings; prefer the ones from the config dir, fall back # to system trusted_gpg = os.path.join(os.path.dirname(apt_sources), 'trusted.gpg') if os.path.exists(trusted_gpg): shutil.copy(trusted_gpg, os.path.join(apt_root, 'etc', 'apt')) elif os.path.exists('/etc/apt/trusted.gpg'): shutil.copy('/etc/apt/trusted.gpg', os.path.join(apt_root, 'etc', 'apt')) trusted_d = os.path.join(apt_root, 'etc', 'apt', 'trusted.gpg.d') if os.path.exists(trusted_d): shutil.rmtree(trusted_d) if os.path.exists(trusted_gpg + '.d'): shutil.copytree(trusted_gpg + '.d', trusted_d) elif os.path.exists('/etc/apt/trusted.gpg.d'): shutil.copytree('/etc/apt/trusted.gpg.d', trusted_d) else: os.makedirs(trusted_d) # install apt keyrings for PPAs if origins and source_list_content: for origin, (ppa_user, ppa_name) in origin_data.items(): ppa_archive_url = apport.packaging._ppa_archive_url % \ {'user': quote(ppa_user), 'distro': distro_name, 'ppaname': quote(ppa_name)} ppa_info = apport.packaging.json_request(ppa_archive_url) if not ppa_info: continue try: signing_key_fingerprint = ppa_info['signing_key_fingerprint'] except IndexError: apport.warning("Error: can't find signing_key_fingerprint at %s" % ppa_archive_url) continue argv = ['gpg', '--no-options', '--no-default-keyring', '--no-auto-check-trustdb', '--keyring', os.path.join(trusted_d, '%s.gpg' % origin), ] argv += ['--quiet', '--batch', '--keyserver', 'hkp://keyserver.ubuntu.com:80/', '--recv', signing_key_fingerprint] if subprocess.call(argv) != 0: apport.warning('Unable to import key for %s' % ppa_archive_url) pass @classmethod def _deb_version(klass, pkg): '''Return the version of a .deb file''' dpkg = subprocess.Popen(['dpkg-deb', '-f', pkg, 'Version'], stdout=subprocess.PIPE) out = dpkg.communicate(input)[0].decode('UTF-8').strip() assert dpkg.returncode == 0 assert out return out def compare_versions(self, ver1, ver2): '''Compare two package versions. Return -1 for ver < ver2, 0 for ver1 == ver2, and 1 for ver1 > ver2.''' return apt.apt_pkg.version_compare(ver1, ver2) _distro_codename = None def get_distro_codename(self): '''Get "lsb_release -sc", cache the result.''' if self._distro_codename is None: lsb_release = subprocess.Popen(['lsb_release', '-sc'], stdout=subprocess.PIPE) self._distro_codename = lsb_release.communicate()[0].decode('UTF-8').strip() assert lsb_release.returncode == 0 return self._distro_codename _distro_name = None def get_distro_name(self): '''Get osname from /etc/os-release, or if that doesn't exist, 'lsb_release -sir' output and cache the result.''' if self._distro_name is None: self._distro_name = self.get_os_version()[0].lower() if ' ' in self._distro_name: # concatenate distro name e.g. ubuntu-rtm self._distro_name = self._distro_name.replace(' ', '-') return self._distro_name impl = __AptDpkgPackageInfo() �����������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/backends/packaging_rpm.py�������������������������������������������������������������0000644�0000000�0000000�00000025331�12677230222�016164� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'''A partial apport.PackageInfo class implementation for RPM. Used as a base class for Fedora, RHEL, openSUSE, SUSE Linux, and many other distributions. ''' # Copyright (C) 2007 Red Hat Inc. # Copyright (C) 2008 Nikolay Derkach # Author: Will Woods <wwoods@redhat.com>, Nikolay Derkach <nderkach@gmail.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. # N.B. There's some distro-specific bits in here (e.g. is_distro_package()). # So this is actually an abstract base class (or a template, if you like) for # RPM-based distributions. # A proper implementation needs to (at least) set official_keylist to a list # of GPG keyids used by official packages. You might have to extend # is_distro_package() as well, if you don't sign all your official packages # (cough cough Fedora rawhide cough) # It'd be convenient to use rpmUtils from yum, but I'm trying to keep this # class distro-agnostic. import rpm, hashlib, os, stat, subprocess class RPMPackageInfo: '''Partial apport.PackageInfo class implementation for RPM, as found in Fedora, RHEL, CentOS, etc.''' # Empty keylist. Should contain a list of key ids (8 lowercase hex digits). # e.g. official_keylist = ('30c9ecf8','4f2a6fd2','897da07a','1ac70ce6') official_keylist = () def __init__(self): self.ts = rpm.TransactionSet() # connect to the rpmdb self._mirror = None def get_version(self, package): '''Return the installed version of a package.''' hdr = self._get_header(package) if hdr is None: raise ValueError # Note - "version" here seems to refer to the full EVR, so.. if not hdr['e']: return hdr['v'] + '-' + hdr['r'] if not hdr['v'] or not hdr['r']: return None else: return hdr['e'] + ':' + hdr['v'] + '-' + hdr['r'] def get_available_version(self, package): '''Return the latest available version of a package.''' # used in report.py, which is used by the frontends raise NotImplementedError('method must be implemented by distro-specific RPMPackageInfo subclass') def get_dependencies(self, package): '''Return a list of packages a package depends on.''' hdr = self._get_header(package) # parse this package's Requires reqs = [] for r in hdr['requires']: if r.startswith('rpmlib') or r.startswith('uname('): continue # we've got rpmlib, thanks if r[0] == '/': # file requires req_heads = self._get_headers_by_tag('basenames', r) else: # other requires req_heads = self._get_headers_by_tag('provides', r) for rh in req_heads: rh_envra = self._make_envra_from_header(rh) if rh_envra not in reqs: reqs.append(rh_envra) return reqs def get_source(self, package): '''Return the source package name for a package.''' hdr = self._get_header(package) return hdr['sourcerpm'] def get_architecture(self, package): '''Return the architecture of a package. This might differ on multiarch architectures (e. g. an i386 Firefox package on a x86_64 system)''' # Yeah, this is kind of redundant, as package is ENVRA, but I want # to do this the right way (in case we change what 'package' is) hdr = self._get_header(package) return hdr['arch'] def get_files(self, package): '''Return list of files shipped by a package.''' hdr = self._get_header(package) files = [] for (f, mode) in zip(hdr['filenames'], hdr['filemodes']): if not stat.S_ISDIR(mode): files.append(f) return files def get_modified_files(self, package): '''Return list of all modified files of a package.''' hdr = self._get_header(package) files = hdr['filenames'] mtimes = hdr['filemtimes'] md5s = hdr['filemd5s'] modified = [] for i in xrange(len(files)): # Skip files we're not tracking md5s for if not md5s[i]: continue # Skip files we can't read if not os.access(files[i], os.R_OK): continue # Skip things that aren't real files s = os.stat(files[i]) if not stat.S_ISREG(s.st_mode): continue # Skip things that haven't been modified if mtimes[i] == s.st_mtime: continue # Oh boy, an actual possibly-modified file. Check the md5sum! if not self._checkmd5(files[i], md5s[i]): modified.append(files[i]) return modified def get_file_package(self, file, uninstalled=False, map_cachedir=None, release=None, arch=None): '''Return the package a file belongs to. Return None if the file is not shipped by any package. If uninstalled is True, this will also find files of uninstalled packages; this is very expensive, though, and needs network access and lots of CPU and I/O resources. In this case, map_cachedir can be set to an existing directory which will be used to permanently store the downloaded maps. If it is not set, a temporary directory will be used. Also, release and arch can be set to a foreign release/architecture instead of the one from the current system. ''' # The policy for handling files which belong to multiple packages depends on the distro raise NotImplementedError('method must be implemented by distro-specific RPMPackageInfo subclass') def get_system_architecture(self): '''Return the architecture of the system, in the notation used by the particular distribution.''' rpmarch = subprocess.Popen(['rpm', '--eval', '%_target_cpu'], stdout=subprocess.PIPE) arch = rpmarch.communicate()[0].strip() return arch def is_distro_package(self, package): '''Check if a package is a genuine distro package (True) or comes from a third-party source.''' # This is a list of official keys, set by the concrete subclass if not self.official_keylist: raise Exception('Subclass the RPM implementation for your distro!') hdr = self._get_header(package) if not hdr: return False # Check the GPG sig and key ID to see if this package was signed # with an official key. if hdr['siggpg']: # Package is signed keyid = hdr['siggpg'][13:17].encode('hex') if keyid in self.official_keylist: return True return False def set_mirror(self, url): '''Explicitly set a distribution mirror URL for operations that need to fetch distribution files/packages from the network. By default, the mirror will be read from the system configuration files.''' # FIXME C&P from apt-dpkg implementation, might move to subclass self._mirror = url def get_source_tree(self, srcpackage, dir, version=None): '''Download given source package and unpack it into dir (which should be empty). This also has to care about applying patches etc., so that dir will eventually contain the actually compiled source. If version is given, this particular version will be retrieved. Otherwise this will fetch the latest available version. Return the directory that contains the actual source root directory (which might be a subdirectory of dir). Return None if the source is not available.''' # Used only by apport-retrace. raise NotImplementedError('method must be implemented by distro-specific RPMPackageInfo subclass') def compare_versions(self, ver1, ver2): '''Compare two package versions. Return -1 for ver < ver2, 0 for ver1 == ver2, and 1 for ver1 > ver2.''' # Used by crashdb.py (i.e. the frontends) # I could duplicate stringToVersion/compareEVR from rpmUtils.misc, # but I hate duplicating code. So if you don't want to require rpmUtils # you can implement this function yourself. Probably you've got # equivalent code in whatever your distro uses instead of yum anyway. raise NotImplementedError('method must be implemented by distro-specific RPMPackageInfo subclass') def package_name_glob(self, glob): '''Return known package names which match given glob.''' raise NotImplementedError('TODO') # # Internal helper methods. These are only single-underscore, so you can use # use them in extending/overriding the methods above in your subclasses # def _get_headers_by_tag(self, tag, arg): '''Get a list of RPM headers by doing dbMatch on the given tag and argument.''' matches = self.ts.dbMatch(tag, arg) if matches.count() == 0: raise ValueError('Could not find package with %s: %s' % (tag, arg)) return [m for m in matches] def _get_header(self, envra): '''Get the RPM header that matches the given ENVRA.''' querystr = envra qlen = len(envra) while qlen > 0: mi = impl.ts.dbMatch('name', querystr) hdrs = [m for m in mi] if len(hdrs) > 0: # yay! we found something # Unless there's some rpmdb breakage, you should have one header # here. If you do manage to have two rpms with the same ENVRA, # who cares which one you get? h = hdrs[0] break # remove the last char of querystr and retry the search querystr = querystr[0:len(querystr) - 1] qlen = qlen - 1 if qlen == 0: raise ValueError('No headers found for this envra: %s' % envra) return h def _make_envra_from_header(self, h): '''Generate an ENVRA string from an rpm header''' nvra = "%s-%s-%s.%s" % (h['n'], h['v'], h['r'], h['arch']) if h['e']: envra = "%s:%s" % (h['e'], nvra) else: envra = nvra return envra def _checkmd5(self, filename, filemd5): '''Internal function to check a file's md5sum''' m = hashlib.md5() f = open(filename) data = f.read() f.close() m.update(data) return (filemd5 == m.hexdigest()) impl = RPMPackageInfo() �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/bin/apport-bug������������������������������������������������������������������������0000755�0000000�0000000�00000003565�12677230222�014021� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh -e # Determine the most appropriate Apport user interface (GTK/KDE/CLI) and file a # bug with it. # # Copyright (C) 2009 Canonical Ltd. # Author: Martin Pitt <martin.pitt@ubuntu.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. # locate path of a particular program find_program() { for p in /usr/local/bin /usr/bin /usr/local/share/apport /usr/share/apport; do if [ -x $p/$1 ]; then RET="$p/$1" return fi done unset RET } # determine which UIs are available, and where find_programs() { find_program "apport-cli" CLI="$RET" find_program "apport-gtk" GTK="$RET" find_program "apport-kde" KDE="$RET" } # # main # find_programs export APPORT_INVOKED_AS="$0" # check for X if [ -z "$DISPLAY" -a -z "$WAYLAND_DISPLAY" ]; then if [ -n "$CLI" ] ; then $CLI "$@" else echo "Neither \$DISPLAY nor \$WAYLAND_DISPLAY is set. You need apport-cli to make this program work." >&2 exit 1 fi # do we have a running Gnome/KDE session? elif pgrep -u `id -u` -x gnome-session >/dev/null && \ [ -n "$GTK" ]; then $GTK "$@" elif pgrep -u `id -u` -x ksmserver >/dev/null && \ [ -n "$KDE" ]; then $KDE "$@" # fall back to calling whichever is available elif [ -n "$GTK" ]; then $GTK "$@" elif [ -n "$KDE" ]; then $KDE "$@" elif [ -n "$CLI" ]; then if [ -z "$TERM" ] && [ -x "$XTERM" ]; then "$XTERM" -e "$CLI" "$@" else $CLI "$@" fi else echo "Neither apport-gtk, apport-kde, apport-cli, or whoopsie-upload-all are installed. Install either to make this program work." >&2 exit 1 fi �������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/bin/apport-cli������������������������������������������������������������������������0000755�0000000�0000000�00000030426�12677230222�014007� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/python3 '''Command line Apport user interface.''' # Copyright (C) 2007 - 2009 Canonical Ltd. # Author: Michael Hofmann <mh21@piware.de> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. # Web browser support: # w3m, lynx: do not work # elinks: works from __future__ import unicode_literals import os.path, os, sys, subprocess, re, errno import termios, tempfile from apport import unicode_gettext as _ import apport.ui class CLIDialog: '''Command line dialog wrapper.''' def __init__(self, heading, text): self.heading = '\n*** ' + heading + '\n' self.text = text self.keys = [] self.buttons = [] self.visible = False def raw_input_char(self, prompt): '''raw_input, but read only one character''' sys.stdout.write(prompt) sys.stdout.write(' ') sys.stdout.flush() file = sys.stdin.fileno() saved_attributes = termios.tcgetattr(file) attributes = termios.tcgetattr(file) attributes[3] = attributes[3] & ~(termios.ICANON) attributes[6][termios.VMIN] = 1 attributes[6][termios.VTIME] = 0 termios.tcsetattr(file, termios.TCSANOW, attributes) try: ch = str(sys.stdin.read(1)) finally: termios.tcsetattr(file, termios.TCSANOW, saved_attributes) sys.stdout.write('\n') return ch def show(self): self.visible = True print(self.heading) if self.text: print(self.text) def run(self, prompt=None): if not self.visible: self.show() sys.stdout.write('\n') try: # Only one button if len(self.keys) <= 1: self.raw_input_char(_('Press any key to continue...')) return 0 # Multiple choices while True: if prompt is not None: print(prompt) else: print(_('What would you like to do? Your options are:')) for index, button in enumerate(self.buttons): print(' %s: %s' % (self.keys[index], button)) response = self.raw_input_char(_('Please choose (%s):') % ('/'.join(self.keys))) try: return self.keys.index(response[0].upper()) + 1 except ValueError: pass except KeyboardInterrupt: sys.stdout.write('\n') sys.exit(1) def addbutton(self, button, hotkey=None): if hotkey: self.keys.append(hotkey) self.buttons.append(button) else: self.keys.append(re.search('&(.)', button).group(1).upper()) self.buttons.append(re.sub('&', '', button)) return len(self.keys) class CLIProgressDialog(CLIDialog): '''Command line progress dialog wrapper.''' def __init__(self, heading, text): CLIDialog.__init__(self, heading, text) self.progresscount = 0 def set(self, progress=None): self.progresscount = (self.progresscount + 1) % 5 if self.progresscount: return if progress is not None: sys.stdout.write('\r%u%%' % (progress * 100)) else: sys.stdout.write('.') sys.stdout.flush() class CLIUserInterface(apport.ui.UserInterface): '''Command line Apport user interface''' def __init__(self): apport.ui.UserInterface.__init__(self) self.in_update_view = False def _get_details(self): '''Build report string for display.''' details = '' max_show = 1000000 for key in sorted(self.report): # ignore internal keys if key.startswith('_'): continue details += '== %s =================================\n' % key # string value keylen = len(self.report[key]) if not hasattr(self.report[key], 'gzipvalue') and \ hasattr(self.report[key], 'isspace') and \ not self.report._is_binary(self.report[key]) and \ keylen < max_show: l = self.report[key] elif keylen >= max_show: l = _('(%i bytes)') % keylen else: l = _('(binary data)') if isinstance(l, bytes): l = l.decode('UTF-8', errors='ignore') details += l details += '\n\n' return details def ui_update_view(self): self.in_update_view = True report = self._get_details() try: p = subprocess.Popen(['/usr/bin/sensible-pager'], stdin=subprocess.PIPE) p.communicate(report.encode('UTF-8')) except IOError as e: # ignore broken pipe (premature quit) if e.errno == errno.EPIPE: pass else: raise self.in_update_view = False # # ui_* implementation of abstract UserInterface classes # def ui_present_report_details(self, allowed_to_report=True, modal_for=None): dialog = CLIDialog(_('Send problem report to the developers?'), _('After the problem report has been sent, please fill out the form in the\n' 'automatically opened web browser.')) complete = dialog.addbutton(_('&Send report (%s)') % self.format_filesize(self.get_complete_size())) if self.can_examine_locally(): examine = dialog.addbutton(_('&Examine locally')) else: examine = None view = dialog.addbutton(_('&View report')) save = dialog.addbutton(_('&Keep report file for sending later or copying to somewhere else')) ignore = dialog.addbutton(_('Cancel and &ignore future crashes of this program version')) dialog.addbutton(_('&Cancel')) while True: response = dialog.run() return_value = {'restart': False, 'blacklist': False, 'report': False, 'examine': False} if response == examine: return_value['examine'] = True return return_value elif response == complete: return_value['report'] = True elif response == ignore: return_value['blacklist'] = True elif response == view: self.collect_info() self.ui_update_view() continue elif response == save: # we do not already have a report file if we report a bug if not self.report_file: prefix = 'apport.' if 'Package' in self.report: prefix += self.report['Package'].split()[0] + '.' (fd, self.report_file) = tempfile.mkstemp(prefix=prefix, suffix='.apport') with os.fdopen(fd, 'wb') as f: self.report.write(f) print(_('Problem report file:') + ' ' + self.report_file) return return_value def ui_info_message(self, title, text): dialog = CLIDialog(title, text) dialog.addbutton(_('&Confirm')) dialog.run() def ui_error_message(self, title, text): dialog = CLIDialog(_('Error: %s') % title, text) dialog.addbutton(_('&Confirm')) dialog.run() def ui_start_info_collection_progress(self): self.progress = CLIProgressDialog( _('Collecting problem information'), _('The collected information can be sent to the developers to improve the\n' 'application. This might take a few minutes.')) self.progress.show() def ui_pulse_info_collection_progress(self): self.progress.set() def ui_stop_info_collection_progress(self): sys.stdout.write('\n') def ui_start_upload_progress(self): self.progress = CLIProgressDialog( _('Uploading problem information'), _('The collected information is being sent to the bug tracking system.\n' 'This might take a few minutes.')) self.progress.show() def ui_set_upload_progress(self, progress): self.progress.set(progress) def ui_stop_upload_progress(self): sys.stdout.write('\n') def ui_question_yesno(self, text): '''Show a yes/no question. Return True if the user selected "Yes", False if selected "No" or "None" on cancel/dialog closing. ''' dialog = CLIDialog(text, None) r_yes = dialog.addbutton('&Yes') r_no = dialog.addbutton('&No') r_cancel = dialog.addbutton(_('&Cancel')) result = dialog.run() if result == r_yes: return True if result == r_no: return False assert result == r_cancel return None def ui_question_choice(self, text, options, multiple): '''Show an question with predefined choices. options is a list of strings to present. If multiple is True, they should be check boxes, if multiple is False they should be radio buttons. Return list of selected option indexes, or None if the user cancelled. If multiple == False, the list will always have one element. ''' result = [] dialog = CLIDialog(text, None) if multiple: while True: dialog = CLIDialog(text, None) index = 0 choice_index_map = {} for option in options: if index not in result: choice_index_map[dialog.addbutton(option, str(index + 1))] = index index += 1 done = dialog.addbutton(_('&Done')) cancel = dialog.addbutton(_('&Cancel')) if result: cur = ', '.join([str(r + 1) for r in result]) else: cur = _('none') response = dialog.run(_('Selected: %s. Multiple choices:') % cur) if response == cancel: return None if response == done: break result.append(choice_index_map[response]) else: # single choice (radio button) dialog = CLIDialog(text, None) index = 1 for option in options: dialog.addbutton(option, str(index)) index += 1 cancel = dialog.addbutton(_('&Cancel')) response = dialog.run(_('Choices:')) if response == cancel: return None result.append(response - 1) return result def ui_question_file(self, text): '''Show a file selector dialog. Return path if the user selected a file, or None if cancelled. ''' print('\n*** ' + text) while True: sys.stdout.write(_('Path to file (Enter to cancel):')) sys.stdout.write(' ') f = sys.stdin.readline().strip() if not f: return None if not os.path.exists(f): print(_('File does not exist.')) elif os.path.isdir(f): print(_('This is a directory.')) else: return f def open_url(self, url): text = '%s\n\n %s\n\n%s' % ( _('To continue, you must visit the following URL:'), url, _('You can launch a browser now, or copy this URL into a browser on another computer.')) answer = self.ui_question_choice(text, [_('Launch a browser now')], False) if answer == [0]: apport.ui.UserInterface.open_url(self, url) def ui_run_terminal(self, command): # we are already running in a terminal, so this works by definition if not command: return True subprocess.call(command, shell=True) if __name__ == '__main__': app = CLIUserInterface() if not app.run_argv(): print(_('No pending crash reports. Try --help for more information.')) ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/bin/apport-collect��������������������������������������������������������������������0000755�0000000�0000000�00000000000�12677230222�016651� 2apport-bug������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/bin/apport-retrace��������������������������������������������������������������������0000755�0000000�0000000�00000037126�12677230222�014671� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/python3 # Use the coredump in a crash report to regenerate the stack traces. This is # helpful to get a trace with debug symbols. # # Copyright (c) 2006 - 2011 Canonical Ltd. # Author: Martin Pitt <martin.pitt@ubuntu.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import sys, os, os.path, subprocess, argparse, shutil, tempfile, re, zlib import tty, termios, gettext import apport, apport.fileutils, apport.sandboxutils from apport.crashdb import get_crashdb from apport import unicode_gettext as _ # # functions # log_timestamps = False def parse_args(): '''Parse command line options and return args namespace.''' argparser = argparse.ArgumentParser() actions = argparser.add_mutually_exclusive_group() actions.add_argument('-s', '--stdout', action='store_true', help=_('Do not put the new traces into the report, but write them to stdout.')) actions.add_argument('-g', '--gdb', action='store_true', help=_('Start an interactive gdb session with the report\'s core dump (-o ignored; does not rewrite report)')) actions.add_argument('-o', '--output', metavar='FILE', help=_('Write modified report to given file instead of changing the original report')) argparser.add_argument('-c', '--remove-core', action='store_true', help=_('Remove the core dump from the report after stack trace regeneration')) argparser.add_argument('-r', '--core-file', metavar='CORE', help=_('Override report\'s CoreFile')) argparser.add_argument('-x', '--executable', metavar='EXE', help=_('Override report\'s ExecutablePath')) argparser.add_argument('-m', '--procmaps', metavar='MAPS', help=_('Override report\'s ProcMaps')) argparser.add_argument('-R', '--rebuild-package-info', action='store_true', help=_('Rebuild report\'s Package information')) argparser.add_argument('-S', '--sandbox', metavar='CONFIG_DIR', help=_('Build a temporary sandbox and download/install the necessary packages and debug symbols in there; without this option it assumes that the necessary packages and debug symbols are already installed in the system. The argument points to the packaging system configuration base directory; if you specify "system", it will use the system configuration files, but will then only be able to retrace crashes that happened on the currently running release.')) argparser.add_argument('-v', '--verbose', action='store_true', help=_('Report download/install progress when installing packages into sandbox')) argparser.add_argument('--timestamps', action='store_true', help=_('Prepend timestamps to log messages, for batch operation')) argparser.add_argument('--dynamic-origins', action='store_true', help=_('Create and use third-party repositories from origins specified in reports')) argparser.add_argument('-C', '--cache', metavar='DIR', help=_('Cache directory for packages downloaded in the sandbox')) argparser.add_argument('--sandbox-dir', metavar='DIR', help=_('Directory for unpacked packages. Future runs will assume that any already downloaded package is also extracted to this sandbox.')) argparser.add_argument('-p', '--extra-package', action='append', default=[], help=_('Install an extra package into the sandbox (can be specified multiple times)')) argparser.add_argument('--auth', help=_('Path to a file with the crash database authentication information. This is used when specifying a crash ID to upload the retraced stack traces (only if neither -g, -o, nor -s are specified)')) argparser.add_argument('--confirm', action='store_true', help=_('Display retraced stack traces and ask for confirmation before sending them to the crash database.')) argparser.add_argument('--duplicate-db', metavar='PATH', help=_('Path to the duplicate sqlite database (default: no duplicate checking)')) argparser.add_argument('report', metavar='some.crash|NNNN', help='apport .crash file or the crash ID to process') args = argparser.parse_args() # catch invalid usage of -C without -S (cache is only used when making a # sandbox) if args.cache and not args.sandbox: argparser.error(_('You cannot use -C without -S. Stopping.')) if args.timestamps: global log_timestamps log_timestamps = True return args def getch(): '''Read a single character from stdin.''' fd = sys.stdin.fileno() old_settings = termios.tcgetattr(fd) try: tty.setraw(sys.stdin.fileno()) ch = sys.stdin.read(1) finally: termios.tcsetattr(fd, termios.TCSADRAIN, old_settings) return ch def confirm_traces(report): '''Display the retraced stack traces and ask the user whether or not to upload them to the crash database. Return True if the user agrees.''' print_traces(report) ch = None while ch not in ['y', 'n']: # translators: don't translate y/n, apport currently only checks for "y" print(_('OK to send these as attachments? [y/n]')) ch = getch().lower() return ch == 'y' def find_file_dir(name, dir, limit=None): '''Return a path list of all files with given name which are in or below dir. If limit is not None, the search will be stopped after finding the given number of hits.''' result = [] for root, dirs, files in os.walk(dir): if name in files: result.append(os.path.join(root, name)) if limit and len(result) >= limit: break return result def get_code(srcdir, filename, line, context=5): '''Find the given filename in the srcdir directory and return the code lines around the given line number.''' files = find_file_dir(filename, srcdir, 1) if not files: return ' [Error: %s was not found in source tree]\n' % filename result = '' lineno = 0 # make enough room for all line numbers format = ' %%%ii: %%s' % len(str(line + context)) with open(files[0], 'rb') as f: for l in f: l = l.decode('UTF8', errors='replace') lineno += 1 if lineno >= line - context and lineno <= line + context: result += format % (lineno, l) return result def gen_source_stacktrace(report, sandbox): '''Generate StacktraceSource. This is a version of Stacktrace with the surrounding code lines (where available) and with local variables removed. ''' if 'Stacktrace' not in report or 'SourcePackage' not in report: return workdir = tempfile.mkdtemp() try: try: version = report['Package'].split()[1] except (IndexError, KeyError): version = None srcdir = apport.packaging.get_source_tree(report['SourcePackage'], workdir, version, sandbox=sandbox) if not srcdir: return src_frame = re.compile('^#\d+\s.* at (.*):(\d+)$') other_frame = re.compile('^#\d+') result = '' for frame in report['Stacktrace'].splitlines(): m = src_frame.match(frame) if m: result += frame + '\n' + get_code(srcdir, os.path.basename(m.group(1)), int(m.group(2))) else: m = other_frame.search(frame) if m: result += frame + '\n' report['StacktraceSource'] = result finally: shutil.rmtree(workdir) pass def print_traces(report): '''Print stack traces from given report''' print('--- stack trace ---') print(report['Stacktrace']) if 'ThreadedStacktrace' in report: print('--- thread stack trace ---') print(report['ThreadStacktrace']) if 'StacktraceSource' in report: print('--- source code stack trace ---') print(report['StacktraceSource']) # # main # apport.memdbg('start') gettext.textdomain('apport') options = parse_args() crashdb = get_crashdb(options.auth) apport.memdbg('got crash DB') # load the report if os.path.exists(options.report): try: report = apport.Report() with open(options.report, 'rb') as f: report.load(f, binary='compressed') apport.memdbg('loaded report from file') except (MemoryError, TypeError, ValueError, IOError, zlib.error) as e: apport.fatal('Cannot open report file: %s', str(e)) elif options.report.isdigit(): # crash ID try: report = crashdb.download(int(options.report)) apport.memdbg('downloaded report from crash DB') except AssertionError as e: if 'apport format data' in str(e): apport.error('Broken report: %s', str(e)) sys.exit(0) else: raise except (MemoryError, TypeError, ValueError, IOError, SystemError, OverflowError, zlib.error) as e: # if we process the report automatically, and it is invalid, close it with # an informative message and exit cleanly to not break crash-digger if options.auth and not options.output and not options.stdout: apport.error('Broken report: %s, closing as invalid', str(e)) crashdb.mark_retrace_failed(options.report, '''Thank you for your report! However, processing it in order to get sufficient information for the developers failed, since the report is ill-formed. Perhaps the report data got modified? %s If you encounter the crash again, please file a new report. Thank you for your understanding, and sorry for the inconvenience! ''' % str(e)) sys.exit(0) else: raise crashid = options.report options.report = None else: apport.fatal('"%s" is neither an existing report file nor a crash ID', options.report) if options.core_file: with open(options.core_file, 'rb') as f: report['CoreDump'] = f.read() if options.executable: report['ExecutablePath'] = options.executable if options.procmaps: with open(options.procmaps, 'r') as f: report['ProcMaps'] = f.read() if options.rebuild_package_info and 'ExecutablePath' in report: report.add_package_info() apport.memdbg('processed extra options from command line') # sanity checks required_fields = set(['CoreDump', 'ExecutablePath', 'Package', 'DistroRelease']) if report['ProblemType'] == 'KernelCrash': if not set(['Package', 'VmCore']).issubset(set(report.keys())): apport.error('report file does not contain the required fields') sys.exit(0) apport.error('KernelCrash processing not implemented yet') sys.exit(0) elif not required_fields.issubset(set(report.keys())): apport.error('report file does not contain one of the required fields: ' + ' '.join(required_fields)) sys.exit(0) apport.memdbg('sanity checks passed') if options.sandbox: sandbox, cache, outdated_msg = apport.sandboxutils.make_sandbox( report, options.sandbox, options.cache, options.sandbox_dir, options.extra_package, options.verbose, log_timestamps, options.dynamic_origins) else: sandbox = None outdated_msg = None # interactive gdb session if options.gdb: gdb_cmd = report.gdb_command(sandbox) if options.verbose: # build a shell-style command cmd = '' for w in gdb_cmd: if cmd: cmd += ' ' if ' ' in w: cmd += "'" + w + "'" else: cmd += w apport.log('Calling gdb command: ' + cmd, log_timestamps) apport.memdbg('before calling gdb') subprocess.call(gdb_cmd) else: # regenerate gdb info apport.memdbg('before collecting gdb info') try: report.add_gdb_info(sandbox) except IOError as e: apport.fatal(str(e)) if options.sandbox == 'system': apt_root = os.path.join(cache, 'system', 'apt') elif options.sandbox: apt_root = os.path.join(cache, report['DistroRelease'], 'apt') else: apt_root = None gen_source_stacktrace(report, apt_root) report.add_kernel_crash_info() modified = False apport.memdbg('information collection done') if options.remove_core: del report['CoreDump'] modified = True if options.stdout: print_traces(report) else: if not options.gdb: modified = True if modified: if not options.report and not options.output: if not options.auth: apport.fatal('You need to specify --auth for uploading retraced results back to the crash database.') if not options.confirm or confirm_traces(report): # check for duplicates update_bug = True if options.duplicate_db: crashdb.init_duplicate_db(options.duplicate_db) res = crashdb.check_duplicate(int(crashid), report) if res: if res[1] is None: apport.log('Report is a duplicate of #%i (not fixed yet)' % res[0], log_timestamps) elif res[1] == '': apport.log('Report is a duplicate of #%i (fixed in latest version)' % res[0], log_timestamps) else: apport.log('Report is a duplicate of #%i (fixed in version %s)' % res, log_timestamps) update_bug = False else: apport.log('Duplicate check negative', log_timestamps) if update_bug: if 'Stacktrace' in report: crashdb.update_traces(crashid, report) apport.log('New attachments uploaded to crash database #' + crashid, log_timestamps) else: # this happens when gdb crashes apport.log('No stack trace, invalid report', log_timestamps) if not report.has_useful_stacktrace(): if outdated_msg: invalid_msg = '''Thank you for your report! However, processing it in order to get sufficient information for the developers failed (it does not generate a useful symbolic stack trace). This might be caused by some outdated packages which were installed on your system at the time of the report: %s Please upgrade your system to the latest package versions. If you still encounter the crash, please file a new report. Thank you for your understanding, and sorry for the inconvenience! ''' % outdated_msg apport.log('No crash signature and outdated packages, invalidating report', log_timestamps) crashdb.mark_retrace_failed(crashid, invalid_msg) else: apport.log('Report has no crash signature, so retrace is flawed', log_timestamps) crashdb.mark_retrace_failed(crashid) else: if options.output is None: out = open(options.report, 'wb') elif options.output == '-': if sys.version[0] < '3': out = sys.stdout else: out = sys.stdout.detach() else: out = open(options.output, 'wb') report.write(out) ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/bin/apport-unpack���������������������������������������������������������������������0000755�0000000�0000000�00000003470�12677230222�014520� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/python3 # Extract the fields of a problem report into separate files into a new or # empty directory. # # Copyright (c) 2006 Canonical Ltd. # Author: Martin Pitt <martin.pitt@ubuntu.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import sys, os, os.path, gettext from apport import unicode_gettext as _, fatal import problem_report def help(): print(_('Usage: %s <report> <target directory>') % sys.argv[0]) if sys.version[0] < '3': t_str = unicode else: t_str = str gettext.textdomain('apport') if len(sys.argv) >= 2 and sys.argv[1] == '--help': help() sys.exit(0) if len(sys.argv) != 3: help() sys.exit(1) report = sys.argv[1] dir = sys.argv[2] # ensure that the directory does not yet exist or is empty try: if os.path.isdir(dir): if os.listdir(dir): fatal(_('Destination directory exists and is not empty.')) else: os.mkdir(dir) except OSError as e: fatal(str(e)) bin_keys = [] pr = problem_report.ProblemReport() if report == '-': pr.load(sys.stdin, binary=False) else: try: with open(report, 'rb') as f: pr.load(f, binary=False) except IOError as e: fatal(str(e)) for k in pr: if pr[k] == '': bin_keys.append(k) continue with open(os.path.join(dir, k), 'wb') as f: if type(pr[k]) == t_str: f.write(pr[k].encode('UTF-8')) else: f.write(pr[k]) try: with open(report, 'rb') as f: pr.extract_keys(f, bin_keys, dir) except IOError as e: fatal(str(e)) ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/bin/apport-valgrind�������������������������������������������������������������������0000755�0000000�0000000�00000012541�12677230222�015044� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/python3 # Use the coredump in a crash report to regenerate the stack traces. This is # helpful to get a trace with debug symbols. # # Copyright (c) 2006 - 2013 Canonical Ltd. # Authors: Alex Chiang <alex.chiang@canonical.com> # Kyle Nitzsche <kyle.nitzsche@canonical.com> # Martin Pitt <martin.pitt@ubuntu.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import sys import os import os.path import subprocess import argparse import gettext import apport import apport.fileutils import apport.sandboxutils from apport import unicode_gettext as _ # # functions # def parse_options(): '''Parse command line options and return options.''' description = _("See man page for details.") parser = argparse.ArgumentParser(description=description) parser.add_argument( '-l', '--log', metavar='LOGFILE', default='valgrind.log', help=_('specify the log file name produced by valgrind')) parser.add_argument( '--sandbox-dir', metavar='SDIR', help=_('reuse a previously created sandbox dir (SDIR) or, if it does ' 'not exist, create it')) parser.add_argument( '--no-sandbox', action='store_true', help=_('do not create or reuse a sandbox directory for additional ' 'debug symbols but rely only on installed debug symbols.')) parser.add_argument( '-C', '--cache', metavar='DIR', help=_('reuse a previously created cache dir (CDIR) or, if it does ' 'not exist, create it')) parser.add_argument( '-v', '--verbose', action='store_true', help=_('report download/install progress when installing packages ' 'into sandbox')) parser.add_argument( 'exe', metavar='EXECUTABLE', help=_('the executable that is run under valgrind\'s memcheck tool ' ' for memory leak detection')) parser.add_argument( '-p', '--extra-package', metavar='PKG', action='append', default=[], help=_('Install an extra package into the sandbox (can be specified ' 'multiple times)')) opts = parser.parse_args() return opts def _exit_on_interrupt(): sys.exit(1) # # main # options = parse_options() try: apport.memdbg('start') apport.memdbg('Executable: ' + options.exe) apport.memdbg('Command arguments: ' + str(options)) gettext.textdomain('apport') # get and verify path to executable exepath = subprocess.Popen( ['which', options.exe], stdout=subprocess.PIPE).communicate()[0] exepath = bytes.decode(exepath) exepath = exepath.rstrip('\n') exepath = os.path.abspath(exepath) if not exepath: sys.stderr.write(_('Error: %s is not an executable. Stopping.') % options.exe) sys.stderr.write('\n') sys.exit(1) except (KeyboardInterrupt, SystemExit): sys.stderr.write("\nInterrupted during initialization\n") _exit_on_interrupt() try: if (not options.no_sandbox): # create report unless in no-sandbox mode report = apport.Report() report['ExecutablePath'] = exepath report.add_os_info() report.add_package_info() apport.memdbg('\nCreated report') except (KeyboardInterrupt, SystemExit): sys.stderr.write("\nInterrupted during report creation\n") _exit_on_interrupt() apport.memdbg('About to handle sandbox') cache = None try: # make the sandbox unless not wanted if not options.no_sandbox: sandbox, cache, outdated_msg = apport.sandboxutils.make_sandbox( report, "system", options.cache, options.sandbox_dir, options.extra_package, options.verbose) except (KeyboardInterrupt, SystemExit): sys.stderr.write("\nInterrupted while creating sandbox\n") _exit_on_interrupt() apport.memdbg('About to get path to sandbox') debugrootdir = None try: if not options.no_sandbox: # get path to sandbox if sandbox: # sandbox is only defined when an auto created dir in tmp is in use debugrootdir = os.path.abspath(sandbox) elif options.sandbox_dir: # this is used when --sandbox-dir is passed as arg debugrootdir = os.path.abspath(options.sandbox_dir) # display sandbox and cache dirs, if any if debugrootdir: print('Sandbox directory:', debugrootdir) if cache: print('Cache directory:', cache) # prep to run valgrind argv = ['valgrind'] argv += ['-v', '--tool=memcheck', '--leak-check=full', '--num-callers=40'] argv += ['--log-file=%s' % options.log] argv += ['--track-origins=yes'] if (not options.no_sandbox): argv += ['--extra-debuginfo-path=%s/usr/lib/debug/' % debugrootdir] argv += [exepath] apport.memdbg('before calling valgrind') except (KeyboardInterrupt, SystemExit): sys.stderr.write("\nInterrupted while preparing to create sandbox\n") _exit_on_interrupt() try: subprocess.call(argv) except (KeyboardInterrupt, SystemExit): sys.stderr.write("\nInterrupted while running valgrind\n") _exit_on_interrupt() apport.memdbg('information collection done') ���������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/bin/crash-digger����������������������������������������������������������������������0000755�0000000�0000000�00000020541�12677230222�014271� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/python3 # Copyright (C) 2007 - 2011 Canonical Ltd. # Author: Martin Pitt <martin.pitt@ubuntu.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import os, optparse, subprocess, sys, zlib, errno, shutil import apport from apport.crashdb import get_crashdb # # classes # class CrashDigger: def __init__(self, config_dir, auth_file, cache_dir, sandbox_dir, apport_retrace, verbose=False, dup_db=None, dupcheck_mode=False, publish_dir=None, crash_db=None): '''Initialize pools.''' self.retrace_pool = set() self.dupcheck_pool = set() self.config_dir = config_dir self.cache_dir = cache_dir self.sandbox_dir = sandbox_dir self.verbose = verbose self.auth_file = auth_file self.dup_db = dup_db self.dupcheck_mode = dupcheck_mode try: self.crashdb = get_crashdb(auth_file, name=crash_db) except KeyError: apport.error('Crash database %s does not exist', crash_db) sys.exit(1) self.apport_retrace = apport_retrace self.publish_dir = publish_dir if config_dir: self.releases = os.listdir(config_dir) self.releases.sort() apport.log('Available releases: %s' % str(self.releases), True) else: self.releases = None if self.dup_db: self.crashdb.init_duplicate_db(self.dup_db) # this verified DB integrity; make a backup now shutil.copy2(self.dup_db, self.dup_db + '.backup') def fill_pool(self): '''Query crash db for new IDs to process.''' if self.dupcheck_mode: self.dupcheck_pool.update(self.crashdb.get_dup_unchecked()) apport.log('fill_pool: dup check pool now: %s' % str(self.dupcheck_pool), True) else: self.retrace_pool.update(self.crashdb.get_unretraced()) apport.log('fill_pool: retrace pool now: %s' % str(self.retrace_pool), True) def retrace_next(self): '''Grab an ID from the retrace pool and retrace it.''' id = self.retrace_pool.pop() apport.log('retracing #%i (left in pool: %i)' % (id, len(self.retrace_pool)), True) try: rel = self.crashdb.get_distro_release(id) except ValueError: apport.log('could not determine release -- no DistroRelease field?', True) self.crashdb.mark_retraced(id) return if rel not in self.releases: apport.log('crash is release %s which does not have a config available, skipping' % rel, True) return argv = [self.apport_retrace, '-S', self.config_dir, '--auth', self.auth_file, '--timestamps'] if self.cache_dir: argv += ['--cache', self.cache_dir] if self.sandbox_dir: argv += ['--sandbox-dir', self.sandbox_dir] if self.dup_db: argv += ['--duplicate-db', self.dup_db] if self.verbose: argv.append('-v') argv.append(str(id)) result = subprocess.call(argv, stdout=sys.stdout, stderr=subprocess.STDOUT) if result != 0: apport.log('retracing #%i failed with status: %i' % (id, result), True) if result == 99: self.retrace_pool = set() apport.log('transient error reported; halting', True) return self.crashdb.mark_retraced(id) def dupcheck_next(self): '''Grab an ID from the dupcheck pool and process it.''' id = self.dupcheck_pool.pop() apport.log('checking #%i for duplicate (left in pool: %i)' % (id, len(self.dupcheck_pool)), True) try: report = self.crashdb.download(id) except (MemoryError, TypeError, ValueError, IOError, zlib.error) as e: apport.log('Cannot download report: ' + str(e), True) apport.error('Cannot download report %i: %s', id, str(e)) return res = self.crashdb.check_duplicate(id, report) if res: if res[1] is None: apport.log('Report is a duplicate of #%i (not fixed yet)' % res[0], True) elif res[1] == '': apport.log('Report is a duplicate of #%i (fixed in latest version)' % res[0], True) else: apport.log('Report is a duplicate of #%i (fixed in version %s)' % res, True) else: apport.log('Duplicate check negative', True) def run(self): '''Process the work pools until they are empty.''' self.fill_pool() while self.dupcheck_pool: self.dupcheck_next() while self.retrace_pool: self.retrace_next() if self.publish_dir: self.crashdb.duplicate_db_publish(self.publish_dir) # # functions # def parse_options(): '''Parse command line options and return (options, args) tuple.''' optparser = optparse.OptionParser('%prog [options]') optparser.add_option('-c', '--config-dir', metavar='DIR', help='Packaging system configuration base directory.') optparser.add_option('--sandbox-dir', metavar='DIR', help='Directory for unpacked packages. Future runs will assume that any already downloaded package is also extracted to this sandbox.') optparser.add_option('-C', '--cache', metavar='DIR', help='Cache directory for packages downloaded in the sandbox') optparser.add_option('-a', '--auth', dest='auth_file', help='Path to a file with the crash database authentication information.') optparser.add_option('-l', '--lock', dest='lockfile', help='Lock file; will be created and removed on successful exit, and ' 'program immediately aborts if it already exists') optparser.add_option('-d', '--duplicate-db', dest='dup_db', metavar='PATH', help='Path to the duplicate sqlite database (default: disabled)') optparser.add_option('--crash-db', metavar='NAME', help='Use a different crash database than the "default" in /etc/apport/crashdb.conf') optparser.add_option('-D', '--dupcheck', dest='dupcheck_mode', default=False, action='store_true', help='Only check duplicates for architecture independent crashes (like Python exceptions)') optparser.add_option('-v', '--verbose', action='store_true', default=False, help='Verbose operation (also passed to apport-retrace)') optparser.add_option('--apport-retrace', metavar='PATH', help='Path to apport-retrace script (default: directory of crash-digger or $PATH)') optparser.add_option('--publish-db', metavar='DIR', help='After processing all reports, publish duplicate database to given directory') (opts, args) = optparser.parse_args() if not opts.config_dir and not opts.dupcheck_mode: apport.fatal('Error: --config-dir or --dupcheck needs to be given') if not opts.auth_file: apport.fatal('Error: -a/--auth needs to be given') return (opts, args) # # main # opts, args = parse_options() # support running from tree, then fall back to $PATH if not opts.apport_retrace: opts.apport_retrace = os.path.join(os.path.dirname(sys.argv[0]), 'apport-retrace') if not os.access(opts.apport_retrace, os.X_OK): opts.apport_retrace = 'apport-retrace' if opts.lockfile: try: f = os.open(opts.lockfile, os.O_WRONLY | os.O_CREAT | os.O_EXCL, 0o666) os.write(f, ("%u\n" % os.getpid()).encode()) os.close(f) except OSError as e: if e.errno == errno.EEXIST: sys.exit(0) else: raise try: CrashDigger(opts.config_dir, opts.auth_file, opts.cache, opts.sandbox_dir, opts.apport_retrace, opts.verbose, opts.dup_db, opts.dupcheck_mode, opts.publish_db, opts.crash_db).run() except SystemExit as exit: if exit.code == 99: pass # fall through lock cleanup else: raise if opts.lockfile: os.unlink(opts.lockfile) ���������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/bin/dupdb-admin�����������������������������������������������������������������������0000755�0000000�0000000�00000005450�12677230222�014120� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/python3 # CLI for maintaining the duplicate database # # Copyright (c) 2007 - 2012 Canonical Ltd. # Author: Martin Pitt <martin.pitt@ubuntu.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import optparse, sys, os.path import apport.crashdb_impl.memory import apport def command_dump(crashdb, opts, args): '''Print out all entries.''' for (sig, (id, version, lastchange)) in crashdb._duplicate_db_dump(True).items(): sys.stdout.write('%7i: %s ' % (id, sig)) if version == '': sys.stdout.write('[fixed] ') elif version: sys.stdout.write('[fixed in: %s] ' % version) else: sys.stdout.write('[open] ') print('last change: %s' % str(lastchange)) def command_changeid(crashdb, opts, args): '''Change the master ID of a crash.''' if len(args) != 2: apport.fatal('changeid needs exactly two arguments (use --help for a short help)') (oldid, newid) = args crashdb.duplicate_db_change_master_id(oldid, newid) def command_removeid(crashdb, opts, args): '''Remove a crash.''' if len(args) != 1: apport.fatal('removeid needs exactly one argument (use --help for a short help)') crashdb.duplicate_db_remove(args[0]) def command_publish(crashdb, opts, args): '''Publish crash database to a directory.''' if len(args) != 1: apport.fatal('publish needs exactly one argument (use --help for a short help)') crashdb.duplicate_db_publish(args[0]) # # main # # parse command line options optparser = optparse.OptionParser('''%prog [options] dump %prog [options] changeid <old ID> <new ID> %prog [options] removeid <ID> %prog [options] publish <path>''') optparser.add_option('-f', '--database-file', dest='db_file', metavar='PATH', default='apport_duplicates.db', help='Location of the database file') options, args = optparser.parse_args() if len(args) == 0: optparser.error('No command specified') if not os.path.exists(options.db_file): apport.fatal('file does not exist: %s', options.db_file) # pure DB operations don't need a real backend, and thus no crashdb.conf crashdb = apport.crashdb_impl.memory.CrashDatabase(None, {}) # if args[0] in (): # # these commands require a real DB # crashdb = get_crashdb(None, None, {}) # else: crashdb.init_duplicate_db(options.db_file) try: command = globals()['command_' + args.pop(0)] except KeyError: apport.fatal('unknown command (use --help for a short help)') command(crashdb, options, args) ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/data/apport���������������������������������������������������������������������������0000755�0000000�0000000�00000051401�12677230222�013377� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/python3 # Collect information about a crash and create a report in the directory # specified by apport.fileutils.report_dir. # See https://wiki.ubuntu.com/Apport for details. # # Copyright (c) 2006 - 2016 Canonical Ltd. # Author: Martin Pitt <martin.pitt@ubuntu.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import sys, os, os.path, subprocess, time, traceback, pwd, io import signal, inspect, grp, fcntl, socket, atexit, array import apport, apport.fileutils ################################################################# # # functions # ################################################################# def check_lock(): '''Abort if another instance of apport is already running. This avoids bringing down the system to its knees if there is a series of crashes.''' # create a lock file lockfile = os.path.join(apport.fileutils.report_dir, '.lock') try: fd = os.open(lockfile, os.O_WRONLY | os.O_CREAT | os.O_NOFOLLOW) except OSError as e: error_log('cannot create lock file (uid %i): %s' % (os.getuid(), str(e))) sys.exit(1) try: fcntl.lockf(fd, fcntl.LOCK_EX | fcntl.LOCK_NB) except IOError: error_log('another apport instance is already running, aborting') sys.exit(1) (pidstat, real_uid, real_gid, cwd) = (None, None, None, None) def get_pid_info(pid): '''Read /proc information about pid''' global pidstat, real_uid, real_gid, cwd # unhandled exceptions on missing or invalidly formatted files are okay # here -- we want to know in the log file pidstat = os.stat('/proc/%s/stat' % pid) # determine real UID of the target process; do *not* use the owner of # /proc/pid/stat, as that will be root for setuid or unreadable programs! # (this matters when suid_dumpable is enabled) with open('/proc/%s/status' % pid) as f: for line in f: if line.startswith('Uid:'): real_uid = int(line.split()[1]) elif line.startswith('Gid:'): real_gid = int(line.split()[1]) break assert real_uid is not None, 'failed to parse Uid' assert real_gid is not None, 'failed to parse Gid' cwd = os.readlink('/proc/' + pid + '/cwd') def drop_privileges(real_only=False): '''Change user and group to real_[ug]id Normally that irrevocably drops privileges to the real user/group of the target process. With real_only=True only the real IDs are changed, but the effective IDs remain. ''' if real_only: os.setregid(real_gid, -1) os.setreuid(real_uid, -1) else: os.setgid(real_gid) os.setuid(real_uid) assert os.getegid() == real_gid assert os.geteuid() == real_uid assert os.getgid() == real_gid assert os.getuid() == real_uid def init_error_log(): '''Open a suitable error log if sys.stderr is not a tty.''' if not os.isatty(2): log = os.environ.get('APPORT_LOG_FILE', '/var/log/apport.log') try: f = os.open(log, os.O_WRONLY | os.O_CREAT | os.O_APPEND, 0o600) try: admgid = grp.getgrnam('adm')[2] os.chown(log, -1, admgid) os.chmod(log, 0o640) except KeyError: pass # if group adm doesn't exist, just leave it as root except OSError: # on a permission error, don't touch stderr return os.dup2(f, 1) os.dup2(f, 2) sys.stderr = os.fdopen(2, 'wb') if sys.version_info.major >= 3: sys.stderr = io.TextIOWrapper(sys.stderr) sys.stdout = sys.stderr def error_log(msg): '''Output something to the error log.''' apport.error('apport (pid %s) %s: %s', os.getpid(), time.asctime(), msg) def _log_signal_handler(sgn, frame): '''Internal apport signal handler. Just log the signal handler and exit.''' # reset handler so that we do not get stuck in loops signal.signal(sgn, signal.SIG_IGN) try: error_log('Got signal %i, aborting; frame:' % sgn) for s in inspect.stack(): error_log(str(s)) except: pass sys.exit(1) def setup_signals(): '''Install a signal handler for all crash-like signals, so that apport is not called on itself when apport crashed.''' signal.signal(signal.SIGILL, _log_signal_handler) signal.signal(signal.SIGABRT, _log_signal_handler) signal.signal(signal.SIGFPE, _log_signal_handler) signal.signal(signal.SIGSEGV, _log_signal_handler) signal.signal(signal.SIGPIPE, _log_signal_handler) signal.signal(signal.SIGBUS, _log_signal_handler) def write_user_coredump(pid, cwd, limit, from_report=None): '''Write the core into the current directory if ulimit requests it.''' # three cases: # limit == 0: do not write anything # limit < 0: unlimited, write out everything # limit nonzero: crashed process' core size ulimit in bytes if limit == 0: return # don't write a core dump for suid/sgid/unreadable or otherwise # protected executables, in accordance with core(5) # (suid_dumpable==2 and core_pattern restrictions); when this happens, # /proc/pid/stat is owned by root (or the user suid'ed to), but we already # changed to the crashed process' real uid assert pidstat, 'pidstat not initialized' if pidstat.st_uid != os.getuid() or pidstat.st_gid != os.getgid(): error_log('disabling core dump for suid/sgid/unreadable executable') return core_path = os.path.join(cwd, 'core') try: with open('/proc/sys/kernel/core_uses_pid') as f: if f.read().strip() != '0': core_path += '.' + str(pid) core_file = os.open(core_path, os.O_WRONLY | os.O_CREAT | os.O_EXCL, 0o600) except (OSError, IOError): return error_log('writing core dump to %s (limit: %s)' % (core_path, str(limit))) written = 0 # Priming read if from_report: r = apport.Report() r.load(from_report) core_size = len(r['CoreDump']) if limit > 0 and core_size > limit: error_log('aborting core dump writing, size %i exceeds current limit' % core_size) os.close(core_file) os.unlink(core_path) return error_log('writing core dump %s of size %i' % (core_path, core_size)) os.write(core_file, r['CoreDump']) else: # read from stdin block = os.read(0, 1048576) while True: size = len(block) if size == 0: break written += size if limit > 0 and written > limit: error_log('aborting core dump writing, size exceeds current limit %i' % limit) os.close(core_file) os.unlink(core_path) return if os.write(core_file, block) != size: error_log('aborting core dump writing, could not write') os.close(core_file) os.unlink(core_path) return block = os.read(0, 1048576) os.close(core_file) return core_path def usable_ram(): '''Return how many bytes of RAM is currently available that can be allocated without causing major thrashing.''' # abuse our excellent RFC822 parser to parse /proc/meminfo r = apport.Report() with open('/proc/meminfo', 'rb') as f: r.load(f) memfree = int(r['MemFree'].split()[0]) cached = int(r['Cached'].split()[0]) writeback = int(r['Writeback'].split()[0]) return (memfree + cached - writeback) * 1024 def is_closing_session(pid, uid): '''Check if pid is in a closing user session. During that, crashes are common as the session D-BUS and X.org are going away, etc. These crash reports are mostly noise, so should be ignored. ''' with open('/proc/%s/environ' % pid, 'rb') as e: env = e.read().split(b'\0') for e in env: if e.startswith(b'DBUS_SESSION_BUS_ADDRESS='): dbus_addr = e.split(b'=', 1)[1].decode() break else: error_log('is_closing_session(): no DBUS_SESSION_BUS_ADDRESS in environment') return False orig_uid = os.geteuid() os.setresuid(-1, os.getuid(), -1) try: gdbus = subprocess.Popen(['/usr/bin/gdbus', 'call', '-e', '-d', 'org.gnome.SessionManager', '-o', '/org/gnome/SessionManager', '-m', 'org.gnome.SessionManager.IsSessionRunning'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, env={'DBUS_SESSION_BUS_ADDRESS': dbus_addr}) (out, err) = gdbus.communicate() if err: error_log('gdbus call error: ' + err.decode('UTF-8')) except OSError as e: error_log('gdbus call failed, cannot determine running session: ' + str(e)) return False finally: os.setresuid(-1, orig_uid, -1) error_log('debug: session gdbus call: ' + out.decode('UTF-8')) if out.startswith(b'(false,'): return True return False def is_systemd_watchdog_restart(signum, pid): '''Check if this is a restart by systemd's watchdog''' if signum != str(signal.SIGABRT) or not os.path.isdir('/run/systemd/system'): return False try: with open('/proc/%s/cgroup' % pid) as f: for line in f: if 'name=systemd:' in line: unit = line.split('/')[-1].strip() break else: return False journalctl = subprocess.Popen(['/bin/journalctl', '--output=cat', '--since=-5min', '--priority=warning', '--unit', unit], stdout=subprocess.PIPE) out = journalctl.communicate()[0] return b'Watchdog timeout' in out except (IOError, OSError) as e: error_log('cannot determine if this crash is from systemd watchdog: %s' % e) return False ################################################################# # # main # ################################################################# # systemd socket activation if 'LISTEN_FDS' in os.environ: try: from systemd.daemon import listen_fds except ImportError: error_log('Received a crash via apport-forward.socket, but systemd python module is not installed') sys.exit(0) # Extract and validate the fd fds = listen_fds() if len(fds) < 1: error_log('Invalid socket activation, no fd provided') sys.exit(1) # Open the socket sock = socket.fromfd(int(fds[0]), socket.AF_UNIX, socket.SOCK_STREAM) atexit.register(sock.shutdown, socket.SHUT_RDWR) # Replace stdin by the socket activation fd sys.stdin.close() fds = array.array('i') msg, ancdata, flags, addr = sock.recvmsg(4096, socket.CMSG_LEN(fds.itemsize)) for cmsg_level, cmsg_type, cmsg_data in ancdata: if (cmsg_level == socket.SOL_SOCKET and cmsg_type == socket.SCM_RIGHTS): fds.fromstring(cmsg_data[:len(cmsg_data) - (len(cmsg_data) % fds.itemsize)]) sys.stdin = os.fdopen(int(fds[0]), 'r') # Replace argv by the arguments received over the socket sys.argv = [sys.argv[0]] sys.argv += msg.decode().split() # Normal startup if len(sys.argv) not in (4, 5): try: print('Usage: %s <pid> <signal number> <core file ulimit> [global pid]' % sys.argv[0]) print('The core dump is read from stdin.') except IOError: # sys.stderr might not actually exist, expecially not when being called # from the kernel pass sys.exit(1) init_error_log() # Check if we received a valid global PID (kernel >= 3.12). If we do, # then compare it with the local PID. If they don't match, it's an # indication that the crash originated from another PID namespace. # Attempt to forward it to the container if len(sys.argv) == 5 and sys.argv[4].isdigit() and sys.argv[4] != sys.argv[1]: host_pid = int(sys.argv[4]) if not os.path.exists('/proc/%d/root/run/apport.socket' % host_pid): error_log('host pid %s crashed in a container without apport support' % sys.argv[4]) sys.exit(0) sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) try: sock.connect('/proc/%d/root/run/apport.socket' % host_pid) except: error_log('host pid %s crashed in a container with a broken apport' % sys.argv[4]) sys.exit(0) args = '%s %s %s' % (sys.argv[1], sys.argv[2], sys.argv[3]) try: sock.sendmsg([args.encode()], [(socket.SOL_SOCKET, socket.SCM_RIGHTS, array.array('i', [0]))]) sock.shutdown(socket.SHUT_RDWR) except socket.timeout: error_log('Container apport failed to process crash within 30s') sys.exit(0) check_lock() try: setup_signals() (pid, signum, core_ulimit) = sys.argv[1:4] get_pid_info(pid) # Partially drop privs to gain proper os.access() checks drop_privileges(True) error_log('called for pid %s, signal %s, core limit %s' % (pid, signum, core_ulimit)) try: core_ulimit = int(core_ulimit) except ValueError: error_log('core limit is invalid, disabling core files') core_ulimit = 0 # clamp core_ulimit to a sensible size, for -1 the kernel reports something # absurdly big if core_ulimit > 9223372036854775807: error_log('ignoring implausibly big core limit, treating as unlimited') core_ulimit = -1 # ignore SIGQUIT (it's usually deliberately generated by users) if signum == str(int(signal.SIGQUIT)): drop_privileges() write_user_coredump(pid, cwd, core_ulimit) sys.exit(0) # check if the executable was modified after the process started (e. g. # package got upgraded in between) exe_mtime = os.stat('/proc/%s/exe' % pid).st_mtime process_start = os.lstat('/proc/%s/cmdline' % pid).st_mtime if not os.path.exists(os.readlink('/proc/%s/exe' % pid)) or exe_mtime > process_start: error_log('executable was modified after program start, ignoring') sys.exit(0) info = apport.Report('Crash') info['Signal'] = signum core_size_limit = usable_ram() * 3 / 4 if sys.version_info.major < 3: info['CoreDump'] = (sys.stdin, True, core_size_limit, True) else: # read binary data from stdio info['CoreDump'] = (sys.stdin.detach(), True, core_size_limit, True) # We already need this here to figure out the ExecutableName (for scripts, # etc). info.add_proc_info(pid) if 'ExecutablePath' not in info: error_log('could not determine ExecutablePath, aborting') sys.exit(1) subject = info['ExecutablePath'].replace('/', '_') base = '%s.%s.%s.hanging' % (subject, str(pidstat.st_uid), pid) hanging = os.path.join(apport.fileutils.report_dir, base) if os.path.exists(hanging): if (os.stat('/proc/uptime').st_ctime < os.stat(hanging).st_mtime): info['ProblemType'] = 'Hang' os.unlink(hanging) if 'InterpreterPath' in info: error_log('script: %s, interpreted by %s (command line "%s")' % (info['ExecutablePath'], info['InterpreterPath'], info['ProcCmdline'])) else: error_log('executable: %s (command line "%s")' % (info['ExecutablePath'], info['ProcCmdline'])) # ignore non-package binaries (unless configured otherwise) if not apport.fileutils.likely_packaged(info['ExecutablePath']): if not apport.fileutils.get_config('main', 'unpackaged', False, bool=True): error_log('executable does not belong to a package, ignoring') # check if the user wants a core dump drop_privileges() write_user_coredump(pid, cwd, core_ulimit) sys.exit(0) # ignore SIGXCPU and SIGXFSZ since this indicates some external # influence changing soft RLIMIT values when running programs. if signum in [str(signal.SIGXCPU), str(signal.SIGXFSZ)]: error_log('Ignoring signal %s (caused by exceeding soft RLIMIT)' % signum) drop_privileges() write_user_coredump(pid, cwd, core_ulimit) sys.exit(0) # ignore blacklisted binaries if info.check_ignored(): error_log('executable version is blacklisted, ignoring') sys.exit(0) if is_closing_session(pid, pidstat.st_uid): error_log('happens for shutting down session, ignoring') sys.exit(0) # ignore systemd watchdog kills; most often they don't tell us the actual # reason (kernel hang, etc.), LP #1433320 if is_systemd_watchdog_restart(signum, pid): error_log('Ignoring systemd watchdog restart') sys.exit(0) crash_counter = 0 # Create crash report file descriptor for writing the report into # report_dir try: report = '%s/%s.%i.crash' % (apport.fileutils.report_dir, info['ExecutablePath'].replace('/', '_'), pidstat.st_uid) if os.path.exists(report): if apport.fileutils.seen_report(report): # do not flood the logs and the user with repeated crashes with open(report, 'rb') as f: crash_counter = apport.fileutils.get_recent_crashes(f) crash_counter += 1 if crash_counter > 1: drop_privileges() write_user_coredump(pid, cwd, core_ulimit) error_log('this executable already crashed %i times, ignoring' % crash_counter) sys.exit(0) # remove the old file, so that we can create the new one with # os.O_CREAT|os.O_EXCL os.unlink(report) else: error_log('apport: report %s already exists and unseen, doing nothing to avoid disk usage DoS' % report) drop_privileges() write_user_coredump(pid, cwd, core_ulimit) sys.exit(0) # we prefer having a file mode of 0 while writing; this doesn't work # for suid binaries as we completely drop privs and thus can't chmod # them later on if pidstat.st_uid != os.getuid(): mode = 0o640 else: mode = 0 reportfile = os.fdopen(os.open(report, os.O_RDWR | os.O_CREAT | os.O_EXCL, mode), 'w+b') assert reportfile.fileno() > sys.stderr.fileno() # Make sure the crash reporting daemon can read this report try: gid = pwd.getpwnam('whoopsie').pw_gid os.chown(report, pidstat.st_uid, gid) except (OSError, KeyError): os.chown(report, pidstat.st_uid, pidstat.st_gid) except (OSError, IOError) as e: error_log('Could not create report file: %s' % str(e)) sys.exit(1) # Totally drop privs before writing out the reportfile. drop_privileges() info.add_user_info() info.add_os_info() if crash_counter > 0: info['CrashCounter'] = '%i' % crash_counter try: info.write(reportfile) if reportfile != sys.stderr: # Ensure that the file gets written to disk in the event of an # Upstart crash. if info.get('ExecutablePath', '') == '/sbin/init': reportfile.flush() os.fsync(reportfile.fileno()) parent_directory = os.path.dirname(report) try: fd = os.open(parent_directory, os.O_RDONLY) os.fsync(fd) finally: os.close(fd) except IOError: if reportfile != sys.stderr: os.unlink(report) raise if 'CoreDump' not in info: error_log('core dump exceeded %i MiB, dropped from %s to avoid memory overflow' % (core_size_limit / 1048576, report)) if report and mode == 0: # for non-suid programs, make the report writable now, when it's # completely written os.chmod(report, 0o640) if reportfile != sys.stderr: error_log('wrote report %s' % report) # Check if the user wants a core file. We need to create that from the # written report, as we can only read stdin once and write_user_coredump() # might abort reading from stdin and remove the written core file when # core_ulimit is > 0 and smaller than the core size. reportfile.seek(0) write_user_coredump(pid, cwd, core_ulimit, from_report=reportfile) except (SystemExit, KeyboardInterrupt): raise except Exception as e: error_log('Unhandled exception:') traceback.print_exc() error_log('pid: %i, uid: %i, gid: %i, euid: %i, egid: %i' % ( os.getpid(), os.getuid(), os.getgid(), os.geteuid(), os.getegid())) error_log('environment: %s' % str(os.environ)) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/data/apport-checkreports��������������������������������������������������������������0000755�0000000�0000000�00000002365�12677230222�016076� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/python3 # Check if there are new reports for the invoking user. Exit with 0 if new # reports are available, or with 1 if not. # # Copyright (c) 2006 Canonical Ltd. # Author: Martin Pitt <martin.pitt@ubuntu.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import sys, optparse from apport.fileutils import get_new_reports, get_new_system_reports import apport # parse command line options optparser = optparse.OptionParser('%prog [options]') optparser.add_option('-s', '--system', default=False, action='store_true', help='Check for crash reports from system users.') options, args = optparser.parse_args() if options.system: reports = get_new_system_reports() else: reports = get_new_reports() if len(reports) > 0: for r in reports: print(r.split('.')[0].split('_')[-1]) if apport.packaging.enabled(): sys.exit(0) else: print('new reports but apport disabled') sys.exit(2) else: sys.exit(1) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/data/apportcheckresume����������������������������������������������������������������0000755�0000000�0000000�00000006206�12677230222�015621� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/python3 # Copyright (C) 2009 Canonical Ltd. # Author: Andy Whitcroft <apw@ubuntu.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import os import sys import datetime from apport import unicode_gettext as _ from apport.hookutils import attach_file_if_exists def main(argv=None): if argv is None: argv = sys.argv try: from apport.packaging_impl import impl as packaging if not packaging.enabled(): return -1 import apport.report pr = apport.report.Report(type='KernelOops') libdir = '/var/lib/pm-utils' flagfile = libdir + '/status' stresslog = libdir + '/stress.log' hanglog = libdir + '/resume-hang.log' pr.add_os_info() pr.add_proc_info() pr.add_user_info() pr.add_package(apport.packaging.get_kernel_package()) # grab the contents of the suspend/resume flag file attach_file_if_exists(pr, flagfile, 'Failure') # grab the contents of the suspend/hibernate log file attach_file_if_exists(pr, '/var/log/pm-suspend.log', 'SleepLog') # grab the contents of the suspend/resume stress test log if present. attach_file_if_exists(pr, stresslog, 'StressLog') # Ensure we are appropriately tagged. if 'Failure' in pr: pr['Tags'] = 'resume ' + pr['Failure'] # Record the failure mode. pr['Failure'] += '/resume' # If we had a late hang pull in the resume-hang logfile. Also # add an additional tag so we can pick these out. if os.path.exists(hanglog): attach_file_if_exists(pr, hanglog, 'ResumeHangLog') pr['Tags'] += ' resume-late-hang' # Generate a sensible report message. if pr.get('Failure') == 'suspend/resume': pr['Annotation'] = _('This occurred during a previous suspend, and prevented the system from resuming properly.') else: pr['Annotation'] = _('This occurred during a previous hibernation, and prevented the system from resuming properly.') # If we had a late hang make sure the dialog is clear that they may # not have noticed. Also update the bug title so we notice. if os.path.exists(hanglog): pr['Annotation'] += ' ' + _('The resume processing hung very near the end and will have appeared to have completed normally.') pr['Failure'] = 'late resume' if pr.check_ignored(): return 0 nowtime = datetime.datetime.now() pr_filename = '/var/crash/susres.%s.crash' % (str(nowtime).replace(' ', '_')) with os.fdopen(os.open(pr_filename, os.O_WRONLY | os.O_CREAT | os.O_EXCL, 0o640), 'wb') as report_file: pr.write(report_file) return 0 except: print('apportcheckresume failed') raise if __name__ == '__main__': sys.exit(main()) ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/data/dump_acpi_tables.py��������������������������������������������������������������0000755�0000000�0000000�00000002636�12677230222�016022� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/python3 import os, sys, stat def dump_acpi_table(filename, tablename, out): '''Dump a single ACPI table''' out.write('%s @ 0x00000000\n' % tablename) n = 0 f = open(filename, 'rb') hex_str = '' try: byte = f.read(1) while byte != b'': val = ord(byte) if (n & 15) == 0: hex_str = ' %4.4x: ' % n ascii_str = '' hex_str = hex_str + '%2.2x ' % val if (val < 32) or (val > 126): ascii_str = ascii_str + '.' else: ascii_str = ascii_str + chr(val) n = n + 1 if (n & 15) == 0: out.write('%s %s\n' % (hex_str, ascii_str)) byte = f.read(1) finally: for i in range(n & 15, 16): hex_str = hex_str + ' ' if (n & 15) != 15: out.write('%s %s\n' % (hex_str, ascii_str)) f.close() out.write('\n') def dump_acpi_tables(path, out): '''Dump ACPI tables''' tables = os.listdir(path) for tablename in tables: pathname = os.path.join(path, tablename) mode = os.stat(pathname).st_mode if stat.S_ISDIR(mode): dump_acpi_tables(pathname, out) else: dump_acpi_table(pathname, tablename, out) if os.path.isdir('/sys/firmware/acpi/tables'): dump_acpi_tables('/sys/firmware/acpi/tables', sys.stdout) ��������������������������������������������������������������������������������������������������apport-2.20.1/data/gcc_ice_hook���������������������������������������������������������������������0000755�0000000�0000000�00000002265�12677230222�014472� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/python3 # # Collect information about a gcc internal compiler exception (ICE). # # Copyright (c) 2007 Canonical Ltd. # Author: Martin Pitt <martin.pitt@ubuntu.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import sys import apport, apport.fileutils # parse command line arguments if len(sys.argv) != 3: print('Usage: %s <executable name> <gcc -E output file>' % sys.argv[0]) print('If "-" is specified as second argument, the preprocessed source is read from stdin.') sys.exit(1) (exename, sourcefile) = sys.argv[1:] # create report pr = apport.Report() pr['ExecutablePath'] = exename if sourcefile == '-': pr['PreprocessedSource'] = (sys.stdin, False) else: pr['PreprocessedSource'] = (sourcefile, False) # write report try: with apport.fileutils.make_report_file(pr) as f: pr.write(f) except (IOError, OSError) as e: apport.fatal('Cannot create report: ' + str(e)) �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/data/general-hooks/�������������������������������������������������������������������0000755�0000000�0000000�00000000000�12677230222�014701� 5����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/data/icons/���������������������������������������������������������������������������0000755�0000000�0000000�00000000000�12677230222�013256� 5����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/data/is-enabled�����������������������������������������������������������������������0000755�0000000�0000000�00000001240�12677230222�014071� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Check if apport reports are enabled. Exit with 0 if so, otherwise with 1. # # Copyright (c) 2011 Canonical Ltd. # Author: Martin Pitt <martin.pitt@ubuntu.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. set -e CONF=/etc/default/apport # defaults to enabled if not present [ -f $CONF ] || exit 0 ! grep -q '^[[:space:]]*enabled[[:space:]]*=[[:space:]]*0[[:space:]]*$' $CONF ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/data/iwlwifi_error_dump���������������������������������������������������������������0000755�0000000�0000000�00000003657�12677230222�016014� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/python3 # # Collect information about an iwlwifi firmware error dump. # # Copyright (c) 2014 Canonical Ltd. # Author: Seth Forshee <seth.forshee@canonical.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import os, sys, re import apport, apport.fileutils from apport.hookutils import command_output if len(sys.argv) != 2: sys.exit(1) phy = os.path.basename(sys.argv[1]) sysfs_path = '/sys/kernel/debug/ieee80211/' + phy + '/iwlwifi/iwlmvm/fw_error_dump' if not os.path.exists(sysfs_path): sys.exit(1) pr = apport.Report('KernelCrash') apport.add_package(apport.packaging.get_kernel_package()) pr['Title'] = 'iwlwifi firmware error' pr.add_os_info() # Get iwl firmware version and error code from dmesg dmesg = command_output(['dmesg']) regex = re.compile('^.*iwlwifi [0-9a-fA-F:]{10}\.[0-9a-fA-F]: Loaded firmware version: ([0-9\.]+).*\\n.*iwlwifi [0-9a-fA-F:]{10}\.[0-9a-fA-F]: (0x[0-9A-F]{8} \| [A-Z_]+)', re.MULTILINE) m = regex.findall(dmesg) if m: l = m[len(m) - 1] fw_version = l[0] error_code = l[1] pr['IwlFwVersion'] = fw_version pr['IwlErrorCode'] = error_code pr['DuplicateSignature'] = 'iwlwifi:' + fw_version + ':' + error_code pr['Title'] += ': ' + error_code # Get iwl firmware dump file from debugfs try: with open(sysfs_path, 'rb') as f: pr['IwlFwDump'] = f.read() # Firmware dump could contain sensitive information pr['LaunchpadPrivate'] = 'yes' pr['LaunchpadSubscribe'] = 'canonical-kernel-team' except IOError: pass try: with apport.fileutils.make_report_file(pr) as f: pr.write(f) except IOError as e: apport.fatal('Cannot create report: ' + str(e)) ���������������������������������������������������������������������������������apport-2.20.1/data/java_uncaught_exception����������������������������������������������������������0000755�0000000�0000000�00000005126�12677230222�016772� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/python3 '''Receive details from ApportUncaughtExceptionHandler. This generates and saves a problem report. ''' # Copyright 2010 Canonical Ltd. # Author: Matt Zimmerman <mdz@ubuntu.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import sys if sys.version_info.major < 3: from urlparse import urlparse urlparse # pyflakes else: from urllib.parse import urlparse def make_title(report): lines = report['StackTrace'].split('\n') message = lines[0].strip() stackframe = lines[1].strip() return '%s in %s' % (message, stackframe) def main(): from apport.packaging_impl import impl as packaging if not packaging.enabled(): return -1 # read from the JVM process a sequence of key, value delimited by null # bytes items = sys.stdin.read().split('\0') d = dict() while items: key = items.pop(0) if not items: break value = items.pop(0) d[key] = value # create report import apport.report import os report = apport.report.Report(type='Crash') # assume our parent is the JVM process report.pid = os.getppid() report.add_os_info() report.add_proc_info() # these aren't relevant because the crash was in bytecode del report['ProcMaps'] del report['ProcStatus'] report.add_user_info() # add in data which was fed to us from the JVM process for key, value in d.items(): report[key] = value # Add an ExecutablePath pointing to the file where the main class resides if 'MainClassUrl' in report: url = report['MainClassUrl'] scheme, netloc, path, params, query, fragment = urlparse(url) if scheme == 'jar': # path is then a URL to the jar file scheme, netloc, path, params, query, fragment = urlparse(path) if '!/' in path: path = path.split('!/', 1)[0] if scheme == 'file': report['ExecutablePath'] = path else: # Program at some non-file URL crashed. Give up. return report['Title'] = make_title(report) try: with apport.fileutils.make_report_file(report) as f: report.write(f) except (IOError, OSError) as e: apport.fatal('Cannot create report: ' + str(e)) if __name__ == '__main__': main() ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/data/kernel_crashdump�����������������������������������������������������������������0000755�0000000�0000000�00000005511�12677230222�015421� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/python3 # # Collect information about a kernel oops. # # Copyright (c) 2007 Canonical Ltd. # Author: Martin Pitt <martin.pitt@ubuntu.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import os, re, glob import apport, apport.fileutils pr = apport.Report('KernelCrash') package = apport.packaging.get_kernel_package() pr.add_package(package) pr.add_os_info() vmcore_path = os.path.join(apport.fileutils.report_dir, 'vmcore') # only accept plain files here, not symlinks; otherwise we might recursively # include the report, or similar DoS attacks if os.path.exists(vmcore_path + '.log'): try: log_fd = os.open(vmcore_path + '.log', os.O_RDONLY | os.O_NOFOLLOW) pr['VmCoreLog'] = (os.fdopen(log_fd, 'rb'),) os.unlink(vmcore_path + '.log') except OSError as e: apport.fatal('Cannot open vmcore log: ' + str(e)) if os.path.exists(vmcore_path): try: core_fd = os.open(vmcore_path, os.O_RDONLY | os.O_NOFOLLOW) pr['VmCore'] = (os.fdopen(core_fd, 'rb'),) with apport.fileutils.make_report_file(pr) as f: pr.write(f) except (IOError, OSError) as e: apport.fatal('Cannot create report: ' + str(e)) try: os.unlink(vmcore_path) except OSError: pass # huh, already gone? else: # check for kdump-tools generated dmesg in timestamped dir for dmesg_file in glob.glob(os.path.join(apport.fileutils.report_dir, '*', 'dmesg.*')): timedir = os.path.dirname(dmesg_file) timestamp = os.path.basename(timedir) if re.match('^[0-9]{12}$', timestamp): # we require the containing dir to be owned by root, to avoid users # creating a symlink to someplace else and disclosing data; we just # compare against euid here so that we can test this as non-root if os.lstat(timedir).st_uid != os.geteuid(): apport.fatal('%s has unsafe permissions, ignoring' % timedir) report_name = package + '-' + timestamp + '.crash' try: crash_report = os.path.join(apport.fileutils.report_dir, report_name) dmesg_fd = os.open(dmesg_file, os.O_RDONLY | os.O_NOFOLLOW) pr['VmCoreDmesg'] = (os.fdopen(dmesg_fd, 'rb'),) # TODO: Replace with open(..., 'xb') once we drop Python 2 support with os.fdopen(os.open(crash_report, os.O_WRONLY | os.O_CREAT | os.O_EXCL, 0o640), 'wb') as f: pr.write(f) except (IOError, OSError) as e: apport.fatal('Cannot create report: ' + str(e)) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/data/kernel_oops����������������������������������������������������������������������0000755�0000000�0000000�00000002321�12677230222�014407� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/python3 # # Collect information about a kernel oops. # # Copyright (c) 2008 Canonical Ltd. # Author: Matt Zimmerman <mdz@canonical.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import os import sys import apport.fileutils from apport import unicode_gettext as _ checksum = None if len(sys.argv) > 1: checksum = sys.argv[1] oops = sys.stdin.read() pr = apport.Report('KernelOops') pr['Failure'] = 'oops' pr['Tags'] = 'kernel-oops' pr['Annotation'] = _('Your system might become unstable ' 'now and might need to be restarted.') package = apport.packaging.get_kernel_package() pr.add_package(package) pr['SourcePackage'] = 'linux' pr['OopsText'] = oops u = os.uname() pr['Uname'] = '%s %s %s' % (u[0], u[2], u[4]) # write report try: with apport.fileutils.make_report_file(pr, uid=checksum) as f: pr.write(f) except (IOError, OSError) as e: apport.fatal('Cannot create report: ' + str(e)) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/data/package-hooks/�������������������������������������������������������������������0000755�0000000�0000000�00000000000�12677230222�014657� 5����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/data/package_hook���������������������������������������������������������������������0000755�0000000�0000000�00000004227�12677230222�014511� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/python3 # # Collect information about a package installation/upgrade failure. # # Copyright (c) 2007 - 2009 Canonical Ltd. # Author: Martin Pitt <martin.pitt@ubuntu.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import sys, optparse, os.path, os import apport, apport.fileutils def mkattrname(path): '''Convert a file path to a problem report attribute name.''' name = '' for dir in path.split(os.sep): if dir: name += ''.join([c for c in dir[0].upper() + dir[1:] if c.isalnum()]) return name # # main # # parse command line arguments optparser = optparse.OptionParser('%prog [options]') optparser.add_option('-p', '--package', help='Specify the package name which failed to upgrade (mandatory)') optparser.add_option('-l', '--log', action='append', dest='logs', help='Append given log file, or, if it is a directory, all files in it (can be specified multiple times)') optparser.add_option('-t', '--tags', help='Add the following tags to the bug report (comma separated)') options = optparser.parse_args()[0] if not options.package: apport.fatal('You need to specify a package name with --package') sys.exit(1) # create report pr = apport.Report('Package') pr.add_package(options.package) pr['SourcePackage'] = apport.packaging.get_source(options.package) pr['ErrorMessage'] = (sys.stdin, False) if options.tags: tags = options.tags.replace(',', '') pr['Tags'] = tags for l in (options.logs or []): if os.path.isfile(l): pr[mkattrname(l)] = (l,) elif os.path.isdir(l): for f in os.listdir(l): path = os.path.join(l, f) if os.path.isfile(path): pr[mkattrname(path)] = (path,) # write report try: with apport.fileutils.make_report_file(pr) as f: pr.write(f) except (IOError, OSError) as e: apport.fatal('Cannot create report: ' + str(e)) �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/data/recoverable_problem��������������������������������������������������������������0000755�0000000�0000000�00000004374�12677230222�016112� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/python3 '''Report an error that can be recovered from. This application should be called with its standard input pipe fed a nul-separated list of key-value pairs. ''' # Copyright (C) 2012 Canonical Ltd. # Author: Evan Dandrea <ev@ubuntu.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import apport.report import sys import os import argparse def main(): # Check parameters argparser = argparse.ArgumentParser('%(prog) [options]') argparser.add_argument('-p', '--pid', action='store', type=int, dest='optpid') args = argparser.parse_args() # Build the base report report = apport.report.Report('RecoverableProblem') # If we have a parameter pid, use that, otherwise look to our parent if args.optpid: report.pid = args.optpid else: report.pid = os.getppid() # Grab PID info right away, as we don't know how long it'll stick around try: report.add_proc_info(report.pid) except ValueError as e: # The process may have gone away before we could get to it. if str(e) == 'invalid process': return # Get the info on the bug items = sys.stdin.read().split('\0') if len(items) % 2 != 0: sys.stderr.write('Expect even number of fields in stdin, needs to have pairs of key and value.\n') sys.exit(1) while items: key = items.pop(0) if not items: break value = items.pop(0) report[key] = value # Put in the more general stuff report.add_os_info() report.add_user_info() ds = report.get('DuplicateSignature', '') exec_path = report.get('ExecutablePath', '') if exec_path and ds: report['DuplicateSignature'] = '%s:%s' % (exec_path, ds) # Write the final report try: with apport.fileutils.make_report_file(report) as f: report.write(f) except (IOError, OSError) as e: apport.fatal('Cannot create report: ' + str(e)) if __name__ == '__main__': main() ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/data/root_info_wrapper����������������������������������������������������������������0000755�0000000�0000000�00000000140�12677230222�015622� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # this wrapper just exists so that we can put a polkit .policy around it exec sh "$@" ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/data/spinner.gif����������������������������������������������������������������������0000644�0000000�0000000�00000026724�12677230222�014323� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������GIF89a � ��� !!!+++...111333444666777888999:::===>>>OOOhhhiiikkknnnuuuwwwyyy{{{~~~&&&///555???@@@BBBDDDEEEFFFHHHIIIKKKNNNRRRXXX___vvv """(((AAAGGGLLLTTTUUUVVVYYYZZZ[[[aaabbbppp'''))),,,JJJSSSWWW```dddeeegggmmmooo]]]fff|||$$$***PPPqqqsssttt###%%%---ccc222;;;CCC\\\<<<MMMQQQxxxlll 000^^^zzz}}}jjjrrr���������������������������! NETSCAPE2.0���!�b�,���� � ��aH"PG*1^\V &R�_I %^R#`_H8@ZZ  -a"3aM4NE a];=`aD4Q<(L54BJ)+ƅ_SP]UP̖ )#]4dp%z:#ć d(br!./J8J!;~@TJ,.#H*D %(-=fVH 1gH0Wrng/;x)7Qud %`$X>9 .9 ʥ^0C)y|( %)k̹ǵ��!���,���� � ���H*\ȰC`󰡊4h U\hE2ul /0W4#d\%vq‹9f-g Da)(L`=Drg!tat2 4TaNԠ!eE&+A-e .Px!-Ur rc܄QJ٣'"K @PD5k@j(!;~Ha% ڈ`DN *$rC#pPs@!p;l'aߘn5l(e `|>hQQaUPE`~$[44!!B[$uv (b�!���,���� � ���H*\ȰCJ@!"}I\8ɡ_B$*$` IS,|3˔|t S/W.IrTK(lqEMt QaDxA%:Ց's i 5h±SS ~.WB%-HJ42! 7vE P.@zQ墶! 0 6pQeȎR~eB0_;҈`DMN ZbaE€,P[I%5nL uNb`x]A@>hWLEv4v5!B[$wh(b�!��,���� � ���H*\ȰCK!h^᩸&4\8pK_Ff,+$xIVTd%L#Sni-^_Bj*\IL) j UNBaIW-yC @\O*& xcTJ_hcqXl85CB.An숲PH_|%Q)A{F#L\Ӏ09\FeȎ҅/niD%@0Q~N *ZA#Jt 0Bt'wHuqm;(7^Z`|>YPE4P}44!B[$vh(@�!���,���� � ���H*\ȰCM� !>jЊ15 aHJS:E` IFDI%LZhI@l8 [PbX=*AaY3( 2bezHE(HٲH0VRgQ1l�(ШC<ӥ-r!ǐB'4BӀp5D!өr#G/!".`,~ pK#* %C.>;1 ]$ +Z Ha5ZWA踡qEp]qKaZ "N8f�!���,���� � ���H*\ȰCH!䠨gp(dX@*ϜUtEFvQċI+ќ52 fk9$"m``sZ+"=ZaR&fZ& „b6U4XNҥW.5h|b2V<k FceG G,?~x1e&tiE_Qdr-防0 4(\RPxI \�B".&FT% \|ШĠA<;Qd}H0WZJ#kt^qC /;rI�zmaR9Dr\HGRDلma ( �!���,���� � ���H*\ȰC\V!/ ZT\MlLh%6MrȔKh#:дY\$#b-xJkiҐJP s,%DaXJK_Pp,@Ջ>"[q˒$ J)5I.]^Bx!%:tHj -Ri( 8fJM?Q"8#$G"^riZFT%n\|ШḠA8;UiH0Wtb^GLטǔ0Mwwxe%`xiAE8�C]F9r\H7RDą u($h"B�!��,���� � ���H*\ȰÃW<t v9׉ `0Y^p (`PpkC0Maǡb D \mO'f1#)%abx, 5 ) RH/[C,<"1G+ M2ni$f)H5إKC,D0D",¡Xl Ea8ap0hO@`QċB#XJհaZnlD@0Q|N *A#HfK^N &@!L<2F8X6y8ct0_$C[duh@ƅs AhEK81v P@�!���,���� � ���H*\ȰÇZJD_Nb-E`-<BŊ@-|%L#<*sHUMl۹.X@YzCBM\pРaCJ#Bc\%JP8d* #a(1K8eP 5f98 ^Ӟ@ҥ!"A6ѡHG%`CmaUf(ԳL2XW~682NE(<9^ ^EJ '&J/ 4\vlW I1kᑩ5_1%L^فc /;% !\DEatT@ rAT5hK8fvHP@�!���,���� � ���H*\ȰÇ~QLą=Lq1aT*J"PdUE *H(lF=TRF0]~SKs@4hؐ&4<ΜRDa$ 'Kt%)bZR| q) VIW .]f1IӄMt(8atpc 'ƬZ5I%:j! ɆTB';r!Ј5(ɲK LYΛFTjД\|ШĠDhuRdlWB.D'M|xe^U`|CpQ CT@ƅt~N| ($2�!���,���� � ���H*\ȰÇ^!E0TLeǯC#H`l%/CÝ`$L_}ْ-c%~A )acA$ upHSFVK \ O N[Hc tPv0  A,lCG{<ÍM' z!oC]t|ЛׯoA6hG"^� g:zw!*O7҈JqXL55&|U--Q'#MQR&,ƩKQSAECD](EMQm4MdA[,I($h@�!���,���� � ���H*\ȰÇr;TL=eKD.&xƗ0V^Q!8dh.xxG!4hؐ*N,$D+*}8v!XxШŠwtMʼnJEb (2F:tȻMݺPCi51.hy0hQv(Ea 0ejU.xrB[Q >0 !B}!r6*A0⒭E€RE%dx$iJj1 ^فc IǸIx~F9$H]QFNN ($�!���,���� � ���H*\ȰÇa ATL& GRe@/;>fˍS:F6G0(?�E ]%8#䣍)aZ%%iGIf * 5d'\*8"s@B&FPYE"} W' ;vqUs&Cₓ>Qi>#G/ xɓ tKߪniDw, Z'dmKzEYfUI34 ^فc 4au@]uDG75xK8fvHP@�!���,���� � ���H*\ȰÇJ!Z(&## r"=GSrh$`"JD<ژɪU/:4WFF<H"0=ZLCcC-=hxYPBDW^K\(Qea:MD w�IET(O2F =^6DaM8֓a9FϧOD Y[V\pK#*FU(D.>:)&WuϘ@\"H0W"KRWЪ<R<Fg%5>Q 3h=0&i`'yISu  !  EJDK$ ($�!���,���� � ���H*\ȰÇ#J$.BFteG_|dC*;r4 S0_Ԙ1C"mL dժ(aИ!FJH:z@"LH 2hFN,I-\EJ#*pFѡ܃LR#bL]tH we0W(abOř 1xQDToJ4ZZ^pF%"_#Ac.ZD`BfۻtHIIB`[WvXK4qb�<r \Q p} 5Qx!!Hfv8P@�!���,���� � ���H*\ȰÇ#J$Eɒ.BF` eG_|B%C+<t4!i0_Ԩ6ajU0M:0ҏa\HḊ[zШq BDD ӂ_@ [^H0E(R\C)0'a>Qx")#G ڣGԢ ENŊP* P$p"Q�sS7rQyxc'`<,["G!KDIC,.X:8–]\r0N5k7@RpnK(Ӂdf�!���,���� � ���H*\ȰÇ#J$Eɒ.!BF` eG_€r%:4I/GjHGS0YCJ&i $0ZQ-=hԈbIG!^"nq"/Qte/YlaE"n f *& H3!qJHO.2AQ1B*[.f~Ѳ3-&启 ipI"a . !HO ]Qr$dHb8MY \%ӷld@<l=%쒑(S� MK"eTT҅f�!���,���� � ���H*\ȰÇ#J$EI/A#IƁ^c/a` M̗#6pLLV GF &91-pK5dR8)PD>v!-[P.CG H]tЈ*~ ,?ZHncnE"EEX~Rv.\6҈JiS` R,eܨpC/LT3dy ]QW 40y 3fP1lRxx'pYpcvΗ,~aJ3,I0YW6Qb-+d@U,CtIG5dA*#/Kt($2�!���,���� � ���H*\ȰÇ#J$e/AcIƁ^c/ah M̗#t\)a!%L4@L4@-\A4jD1Ȥ !!nq"/S|eB0[]E"nn r#ǐ@ E!S[ F4*#Gqc_2܆[b Z"ro>)d" /ZdȖk(`L1,7xNb ^)\3sA\bJb9od8KJ9Q  \�G^S. P@�!���,���� � ���H*\ȰÇ#J$ȥI#/AcIƁ^c/al M̗#7xd)a!%L4@L4@-\A4jT-Ȥ !:)PX:Vʶ Qn-An@2aH(dʱP9>Qi * Q$,B.CvhRv.~0ȹ; j1$*D"m,;g0F RR;#@0za(sMxAX=y Ud!D:aadGi <*e"$Y#ݖ0W 0t%5dpLTX&7~$S6�AJ0Mf �!���,���� � ���H*\ȰÇ#J$ȥI#/AcIƁ^c/`h&aHr >@HƔ0LV GL &9D.qK5dR8)PD>v!-mFѡH\[ȱl.:BQ*s|F鑣؃\.~DPtA*qraX$0*PL^0[j&]^h>4^3S`A* #@)x%P՛q}TF1Fg90\J &I0:FYjI1:[e'tpGk},|t➄fC�!���,���� � ���H*\ȰÇ#J$ȥI#/AcIƁ^c/h&aHr @@HƔ0LV GQ &9D.%pK5dR8)PD>v!-mFѡH\\SaG(\r΄]VBDcB&' * IC*MRQmt1r\2hd *&ګǎhy+f H)Uê0>\ afLb傱 )x.I$ Zt$N%w}$=|bBw E AQJv �!��,���� � ���H*\ȰÇ#J$ȥI#/AcIƁ^c/h&aHr @@HƔ0LV GQ &9D.%pK5dR8)PD>v!-m2H\\m 88P䨎 ��` GwM6tZrՅT@u"&V\1b ,eP 2Jۃpa�ARS`\0: ɕ `-W>hKfFz Q8h')'rERxAL@Xv@_A<<X< ᠅v!A�!���,���� � ���H*\ȰÇ#J$ȥI#/AcIƁ^c/hŇ&aHr@@HƔ0LV GQ &9D.%pK5dR8)PD>lB0[ԾM1% B& ޥpn.aP0 =ϴ"2d 4fهFPbL(+M)J!ݰml EIA:g8XG^x8qI"*Eaaf/H>P<[e;)$c@SӇ4S' 4D)aA\(xvHP@�!���,���� � ���H*\ȰÇ#J$ȥI#/AcIƁ^c/hŇ&aHr@@HƔ0LV GQ &9D.%pK5dR8)PD>tB0[Ծ@< Ck&̰bBᒣ'2Y ]L7sTrGfU@]X$^d1&J<%A%]eبX|RE`L)A.Vy0Z(EbyS-B\C2KH/Fl(Nܭ"T"eXJ :qE) G AU@[Vh6�!���,���� � ���H*\ȰÇ#J$ȥI#/AcIƁ^c/hŇ&aHr@@l!)a!%L4@pgZ$ op)RZI B0B _@pK%M0m% 0x0B.An�0Pj D*p ғ Q쪙4LXyPIJoipw Vra݄5>\+܂`DɆb^T5P@mZ/U ԯ]l=*U7fLapKׅ `34JG_PKn_pQ R/!G*6p!A_HQŅv�!��,���� � ���H*\ȰÇ#J$ȥI#/AcIƁTc/R&aHr@@�)a!%L4@0�,# CiчB 4`8$L'LhafK[laDŽ\A%Y֡9pm%Hi"2e%2A LB./B.Cv�J&l~ "E: e%y fP wJA]a\"P']xb0o�C=1.}̋L2dGmVC]aX20G1qU0xVhF�!���,���� � ���H*\ȰÇ#J$ȥI#/AcIƁR e_vI 1X%}%:l 30YCJ&iDj"HRa娔A&5h^T ~C.P<ٹ ѻ4Ǚ9& JB,֨�a(KD%8.P$)ݡm&�re!FNUhC(p%&J A%afeW.dfs@!I<Y BG D1hRi 3Ɨ4LBغ*.pGmC]h<pGEC1XIhfP@�!���,���� � ���H*\ȰÇ#J$ȥI#/AcIƁO e_vI 1؛ȼ%:l2y0YCJ&iD#3j"HR\*lA&5hHCT ~C.QAٹ mԭط' J,ʕ0 KyPKM1RD27]A\�rea(PUhs)6$&JFA%am%(qs@!W.I!.*oL?9C'Z2f& 6K0re.=?pGUt!X9(VP@�!���,���� � ���H*\ȰÇ#J$x/&)F Op-&Qm缄�֢tLW֚%?|QȖy6P<rH ӄ(p:0@E$bԇ9xe 4xD)-LaR.Bݺ B.An찒P ZuKᒲ@:i,2-`?!BR5!!;\Ye+4 mʐ&=F91n 8jF0``L(1x)TNwƌJxa5$8 !CU$DG]`q\D`a$EUv�!��,���� � ���H*\ȰÇ#J$$*2QË@0ÓQLx2n� _v"%€�|Q_>@`NA0"  Q�aa0& 4@AԠ!#D%)Vh1e .T2 C0[�+l$&+  /.A A0>V C!Ҧ:V Trȕ_TBS 8c(n1JQ WNs@!h%7j'aߘRmVAhP B%5UEW`I4UJdPF,av 8P@�;��������������������������������������������apport-2.20.1/data/systemd/�������������������������������������������������������������������������0000755�0000000�0000000�00000000000�12677230222�013633� 5����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/data/unkillable_shutdown��������������������������������������������������������������0000755�0000000�0000000�00000006645�12677230222�016161� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/python3 # # Collect information about processes which are still running after sending # SIGTERM to them (which happens during computer shutdown in # /etc/init.d/sendsigs in Debian/Ubuntu) # # Copyright (c) 2010 Canonical Ltd. # Author: Martin Pitt <martin.pitt@ubuntu.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import os, os.path, sys, errno, optparse import apport, apport.fileutils, apport.hookutils def parse_argv(): '''Parse command line and return (options, args).''' optparser = optparse.OptionParser('%prog [options]') optparser.add_option('-o', '--omit', metavar='PID', action='append', default=[], dest='blacklist', help='Ignore a particular process ID (can be specified multiple times)') (opts, args) = optparser.parse_args() if len(args) != 0: optparser.error('This program does not take any non-option arguments. Please see --help.') sys.exit(1) return (opts, args) def orphaned_processes(blacklist): '''Yield an iterator of running process IDs. This excludes PIDs which do not have a valid /proc/pid/exe symlink (e. g. kernel processes), the PID of our own process, and everything that is contained in the blacklist argument. ''' my_pid = os.getpid() my_sid = os.getsid(0) for d in os.listdir('/proc'): try: pid = int(d) except ValueError: continue if pid == 1 or pid == my_pid or d in blacklist: apport.warning('ignoring: %s', d) continue try: sid = os.getsid(pid) except OSError: # os.getsid() can fail with "No such process" if the process died # in the meantime continue if sid == my_sid: apport.warning('ignoring same sid: %s', d) continue try: os.readlink(os.path.join('/proc', d, 'exe')) except OSError as e: if e.errno == errno.ENOENT: # kernel thread or similar, silently ignore continue apport.warning('Could not read information about pid %s: %s', d, str(e)) continue yield d def do_report(pid, blacklist): '''Create a report for a particular PID.''' r = apport.Report('Bug') try: r.add_proc_info(pid) except (ValueError, AssertionError): # happens if ExecutablePath doesn't exist (any more?), ignore return r['Tags'] = 'shutdown-hang' r['Title'] = 'does not terminate at computer shutdown' if 'ExecutablePath' in r: r['Title'] = os.path.basename(r['ExecutablePath']) + ' ' + r['Title'] r['Processes'] = apport.hookutils.command_output(['ps', 'aux']) r['InitctlList'] = apport.hookutils.command_output(['initctl', 'list']) if blacklist: r['OmitPids'] = ' '.join(blacklist) try: with apport.fileutils.make_report_file(r) as f: r.write(f) except (IOError, OSError) as e: apport.fatal('Cannot create report: ' + str(e)) # # main # (opts, args) = parse_argv() for p in orphaned_processes(opts.blacklist): do_report(p, opts.blacklist) �������������������������������������������������������������������������������������������apport-2.20.1/data/whoopsie-upload-all��������������������������������������������������������������0000755�0000000�0000000�00000012414�12677230222�015760� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/python3 # Process all pending crashes and mark them for whoopsie upload, but do not # upload them to any other crash database. Wait until whoopsie is done # uploading. # # Copyright (c) 2013 Canonical Ltd. # Author: Martin Pitt <martin.pitt@ubuntu.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import os import sys import time import subprocess import argparse import fcntl import apport.fileutils import apport def process_report(report): '''Collect information for a report and mark for whoopsie upload errors.ubuntu.com does not collect any hook data anyway, so we do not need to bother collecting it. Return path of upload stamp if report was successfully processed, or None otherwise. ''' upload_stamp = '%s.upload' % report.rsplit('.', 1)[0] if os.path.exists(upload_stamp): print('%s already marked for upload, skipping' % report) return upload_stamp report_stat = None r = apport.Report() # make sure we're actually on the hook to write this updated report # before we start doing expensive collection operations try: with open(report, 'rb') as f: try: fcntl.flock(f, fcntl.LOCK_EX | fcntl.LOCK_NB) except IOError: print('%s already being processed, skipping' % report) return None r.load(f, binary='compressed') report_stat = os.stat(report) except Exception as e: sys.stderr.write('ERROR: cannot load %s: %s\n' % (report, str(e))) return None if r.get('ProblemType', '') != 'Crash' and 'ExecutablePath' not in r: print(' skipping, not a crash') return None if 'Dependencies' in r: print('%s already has info collected' % report) else: print('Collecting info for %s...' % report) r.add_os_info() try: r.add_package_info() except (SystemError, ValueError) as e: sys.stderr.write('ERROR: cannot add package info on %s: %s\n' % (report, str(e))) return None # add information from package specific hooks try: r.add_hooks_info(None) except Exception as e: sys.stderr.write('WARNING: hook failed for processing %s: %s\n' % (report, str(e))) try: r.add_gdb_info() except (IOError, EOFError, OSError) as e: sys.stderr.write('ERROR: processing %s: %s\n' % (report, str(e))) if os.path.exists(report): os.unlink(report) return None # write updated report with open(report, 'ab') as f: os.chmod(report, 0) r.write(f, only_new=True) os.chmod(report, 0o640) # now tell whoopsie to upload the report print('Marking %s for whoopsie upload' % report) apport.fileutils.mark_report_upload(report) assert os.path.exists(upload_stamp) os.chown(upload_stamp, report_stat.st_uid, report_stat.st_gid) return upload_stamp def collect_info(): '''Collect information for all reports Return set of all generated upload stamps. ''' if os.geteuid() != 0: sys.stderr.write('WARNING: Not running as root, cannot process reports' ' which are not owned by uid %i\n' % os.getuid()) stamps = set() reports = apport.fileutils.get_all_reports() for r in reports: res = process_report(r) if res: stamps.add(res) return stamps def wait_uploaded(stamps, timeout): '''Wait until all reports were uploaded. Times out after a given number of seconds. Return True if all reports were uploaded, False if there are some missing. ''' print('Waiting for whoopsie to upload reports (timeout: %i s)' % timeout) while timeout >= 0: # determine missing stamps missing = '' for stamp in stamps: uploaded = stamp + 'ed' if os.path.exists(stamp) and not os.path.exists(uploaded): missing += uploaded + ' ' if not missing: return True print(' missing (remaining: %i s): %s' % (timeout, missing)) time.sleep(10) timeout -= 10 return False # # main # parser = argparse.ArgumentParser(description='Noninteractively upload all ' 'Apport crash reports to errors.ubuntu.com') parser.add_argument('-t', '--timeout', default=0, type=int, help='seconds to wait for whoopsie to upload the reports (default: do not wait)') opts = parser.parse_args() # parse args # verify that whoopsie is running if subprocess.call(['pidof', 'whoopsie'], stdout=subprocess.PIPE) != 0: sys.stderr.write('ERROR: whoopsie is not running\n') sys.exit(1) stamps = collect_info() # print('stamps:', stamps) if stamps: if opts.timeout > 0: if not wait_uploaded(stamps, opts.timeout): sys.exit(2) print('All reports uploaded successfully') else: print('All reports processed') ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/data/general-hooks/generic.py���������������������������������������������������������0000644�0000000�0000000�00000010061�12677230222�016665� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'''Attach generally useful information, not specific to any package.''' # Copyright (C) 2009 Canonical Ltd. # Authors: Matt Zimmerman <mdz@canonical.com> # Martin Pitt <martin.pitt@ubuntu.com> # Brian Murray <brian@ubuntu.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import os, re import apport.hookutils, apport.fileutils def add_info(report, ui): nm = apport.hookutils.nonfree_kernel_modules() if nm: report['NonfreeKernelModules'] = ' '.join(nm) # check for low space mounts = {'/': 'system', '/var': '/var', '/tmp': '/tmp'} home = os.getenv('HOME') if home: mounts[home] = 'home' treshold = 50 for mount in mounts: st = os.statvfs(mount) free_mb = st.f_bavail * st.f_frsize / 1000000 if free_mb < treshold: report['UnreportableReason'] = 'Your %s partition has less than \ %s MB of free space available, which leads to problems using applications \ and installing updates. Please free some space.' % (mounts[mount], free_mb) # important glib errors/assertions (which should not have private data) if 'ExecutablePath' in report: path = report['ExecutablePath'] gtk_like = (apport.fileutils.links_with_shared_library(path, 'libgtk') or apport.fileutils.links_with_shared_library(path, 'libgtk-3') or apport.fileutils.links_with_shared_library(path, 'libX11')) if gtk_like and apport.hookutils.in_session_of_problem(report): xsession_errors = apport.hookutils.xsession_errors() if xsession_errors: report['XsessionErrors'] = xsession_errors # using local libraries? if 'ProcMaps' in report: local_libs = set() for lib in re.finditer(r'\s(/[^ ]+\.so[.0-9]*)$', report['ProcMaps'], re.M): if not apport.fileutils.likely_packaged(lib.group(1)): local_libs.add(lib.group(1)) if ui and local_libs: if not ui.yesno('''The crashed program seems to use third-party or local libraries: %s It is highly recommended to check if the problem persists without those first. Do you want to continue the report process anyway? ''' % '\n'.join(local_libs)): raise StopIteration report['LocalLibraries'] = ' '.join(local_libs) report['Tags'] = (report.get('Tags', '') + ' local-libs').strip() # using third-party packages? if '[origin:' in report.get('Package', '') or '[origin:' in report.get('Dependencies', ''): report['Tags'] = (report.get('Tags', '') + ' third-party-packages').strip() # using ecryptfs? if os.path.exists(os.path.expanduser('~/.ecryptfs/wrapped-passphrase')): report['EcryptfsInUse'] = 'Yes' # filter out crashes on missing GLX (LP#327673) in_gl = '/usr/lib/libGL.so' in (report.get('StacktraceTop') or '\n').splitlines()[0] if in_gl and 'Loading extension GLX' not in apport.hookutils.read_file('/var/log/Xorg.0.log'): report['UnreportableReason'] = 'The X.org server does not support the GLX extension, which the crashed program expected to use.' # filter out package install failures due to a segfault if 'Segmentation fault' in report.get('ErrorMessage', '') \ and report['ProblemType'] == 'Package': report['UnreportableReason'] = 'The package installation resulted in a segmentation fault which is better reported as a crash report rather than a package install failure.' # log warnings/errors if os.path.exists('/run/systemd/system'): report['JournalErrors'] = apport.hookutils.command_output( ['journalctl', '-b', '--priority=warning', '--lines=1000']) if __name__ == '__main__': r = {} add_info(r, None) for k in r: print('%s: %s' % (k, r[k])) �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/data/general-hooks/parse_segv.py������������������������������������������������������0000644�0000000�0000000�00000034467�12677230222�017427� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/python3 # Examine the crash files saved by apport to attempt to determine the cause # of a segfault. Currently very very simplistic, and only finds commonly # understood situations for x86/x86_64. # # Copyright 2009-2010 Canonical, Ltd. # Author: Kees Cook <kees@ubuntu.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import sys, re, logging, io class ParseSegv(object): def __init__(self, registers, disassembly, maps, debug=False): if debug: if sys.version > '3': logging.basicConfig(level=logging.DEBUG, stream=io.TextIOWrapper(sys.stderr, encoding='UTF-8')) else: logging.basicConfig(level=logging.DEBUG, stream=sys.stderr) self.regs = self.parse_regs(registers) self.sp = None for reg in ['rsp', 'esp']: if reg in self.regs: self.sp = self.regs[reg] self.line, self.pc, self.insn, self.src, self.dest = \ self.parse_disassembly(disassembly) self.stack_vma = None self.maps = self.parse_maps(maps) def find_vma(self, addr): for vma in self.maps: if addr >= vma['start'] and addr < vma['end']: return vma return None def parse_maps(self, maps_str): maps = [] for line in maps_str.splitlines(): items = line.strip().split() try: span, perms, bits, dev = items[0:4] except: raise ValueError('Cannot parse maps line: %s' % (line.strip())) if len(items) == 5: name = None else: name = items[5] start, end = [int(x, 16) for x in span.split('-')] if name == '[stack]': self.stack_vma = len(maps) maps.append({'start': start, 'end': end, 'perms': perms, 'name': name}) logging.debug('start: %s, end: %s, perms: %s, name: %s', start, end, perms, name) return maps def parse_regs(self, reg_str): regs = dict() for line in reg_str.splitlines(): reg, hexvalue = line.split()[0:2] regs[reg] = int(hexvalue, 16) logging.debug('%s:0x%08x', reg, regs[reg]) return regs def parse_disassembly(self, disassembly): if not self.regs: raise ValueError('Registers not loaded yet!?') lines = disassembly.splitlines() # Throw away possible 'Dump' gdb report line if len(lines) > 0 and lines[0].startswith('Dump'): lines.pop(0) if len(lines) < 1: raise ValueError('Failed to load empty disassembly') line = lines[0].strip() # Drop GDB 7.1's leading $pc mark if line.startswith('=>'): line = line[2:].strip() logging.debug(line) pc_str = line.split()[0] if pc_str.startswith('0x'): pc = int(pc_str.split(':')[0], 16) else: # Could not identify this instruction line raise ValueError('Could not parse PC "%s" from disassembly line: %s' % (pc_str, line)) logging.debug('pc: 0x%08x', pc) full_insn_str = line.split(':', 1)[1].strip() # Handle invalid memory if 'Cannot access memory at address' in full_insn_str or (full_insn_str == '' and len(lines) == 1): return line, pc, None, None, None # Handle wrapped lines if full_insn_str == '' and lines[1].startswith(' '): line = line + ' ' + lines[1].strip() full_insn_str = line.split(':', 1)[1].strip() insn_parts = full_insn_str.split() # Drop call target names "call 0xb7a805af <_Unwind_Find_FDE@plt+111>" if insn_parts[-1].endswith('>') and insn_parts[-1].startswith('<'): insn_parts.pop(-1) # Attempt to find arguments args_str = '' if len(insn_parts) > 1: args_str = insn_parts.pop(-1) # Assume remainder is the insn itself insn = ' '.join(insn_parts) logging.debug('insn: %s', insn) args = [] src = None dest = None if args_str == '': # Could not find insn args args = None else: logging.debug('args: "%s"', args_str) for m in re.finditer('([^,\(]*(\(:?[^\)]+\))*)', args_str): if len(m.group(0)): args.append(m.group(0)) if len(args) > 0: src = args[0] logging.debug('src: %s', src) if len(args) > 1: dest = args[1] logging.debug('dest: %s', dest) # Set up possible implicit memory destinations (stack actions) if insn in ['push', 'pop', 'pushl', 'popl', 'call', 'callq', 'ret', 'retq']: for reg in ['rsp', 'esp']: if reg in self.regs: dest = '(%%%s)' % (reg) break return line, pc, insn, src, dest def validate_vma(self, perm, addr, name): perm_name = {'x': ['executable', 'executing'], 'r': ['readable', 'reading'], 'w': ['writable', 'writing']} vma = self.find_vma(addr) if vma is None: alarmist = 'unknown' if addr < 65536: alarmist = 'NULL' return False, '%s (0x%08x) not located in a known VMA region (needed %s region)!' % (name, addr, perm_name[perm][0]), '%s %s VMA' % (perm_name[perm][1], alarmist) elif perm not in vma['perms']: alarmist = '' if perm == 'x': if 'w' in vma['perms']: alarmist = 'writable ' else: alarmist = 'non-writable ' short = '%s %sVMA %s' % (perm_name[perm][1], alarmist, vma['name']) return False, '%s (0x%08x) in non-%s VMA region: 0x%08x-0x%08x %s %s' % (name, addr, perm_name[perm][0], vma['start'], vma['end'], vma['perms'], vma['name']), short else: return True, '%s (0x%08x) ok' % (name, addr), '%s ok' % (perm_name[perm][1]) def register_value(self, reg): reg_orig = reg # print reg mask = 0 if reg.startswith('%'): # print('%s -> %s' % (reg, reg[1:])) reg = reg[1:] if reg in self.regs: # print('got %s (%d & %d == %d)' % (reg, self.regs[reg], mask, self.regs[reg] & ~mask)) return self.regs[reg] if len(reg) == 2 and reg.endswith('l'): mask |= 0xff00 # print('%s -> %sx' % (reg, reg[0])) reg = '%sx' % reg[0] if reg in self.regs: # print('got %s (%d & %d == %d)' % (reg, self.regs[reg], mask, self.regs[reg] & ~mask)) return self.regs[reg] & ~mask if len(reg) == 2 and reg.endswith('x'): mask |= 0xffff0000 # print('%s -> e%s' % (reg, reg)) reg = 'e%s' % reg if reg in self.regs: # print('got %s (%d & %d == %d)' % (reg, self.regs[reg], mask, self.regs[reg] & ~mask)) return self.regs[reg] & ~mask if len(reg) == 3 and reg.startswith('e'): mask |= 0xffffffff00000000 # print('%s -> r%s' % (reg, reg[1:])) reg = 'r%s' % reg[1:] if reg in self.regs: # print('got %s (%d & %d == %d)' % (reg, self.regs[reg], mask, self.regs[reg] & ~mask)) return self.regs[reg] & ~mask raise ValueError("Could not resolve register '%s'" % (reg_orig)) def calculate_arg(self, arg): # Check for and pre-remove segment offset segment = 0 if arg.startswith('%') and ':' in arg: parts = arg.split(':', 1) segment = self.regs[parts[0][1:]] arg = parts[1] # Handle standard offsets parts = arg.split('(') offset = parts[0] # Handle negative signs sign = 1 if offset.startswith('-'): sign = -1 offset = offset[1:] # Skip call target dereferences if offset.startswith('*'): offset = offset[1:] if len(offset) > 0: if offset.startswith('%'): # Handle the *%REG case add = self.regs[offset[1:]] else: if not offset.startswith('0x'): raise ValueError('Unknown offset literal: %s' % (parts[0])) add = int(offset[2:], 16) * sign else: add = 0 def _reg_val(self, text, val=0): if text.startswith('%'): val = self.regs[text[1:]] elif text == "": val = 0 else: val = int(text) return val # (%ebx, %ecx, 4) style value = 0 if len(parts) > 1: parens = parts[1][0:-1] reg_list = parens.split(',') base = 0 if len(reg_list) > 0: base = _reg_val(self, reg_list[0], base) index = 0 if len(reg_list) > 1: index = _reg_val(self, reg_list[1], index) scale = 1 if len(reg_list) > 2: scale = _reg_val(self, reg_list[2], scale) value = base + index * scale value = segment + value + add if 'esp' in self.regs: # 32bit return value % 0x100000000 else: # 64bit return value % 0x10000000000000000 def report(self): understood = False reason = [] details = ['Segfault happened at: %s' % (self.line)] # Verify PC is in an executable region valid, out, short = self.validate_vma('x', self.pc, 'PC') details.append(out) if not valid: reason.append(short) understood = True if self.insn in ['lea', 'leal']: # Short-circuit for instructions that do not cause vma access details.append('insn (%s) does not access VMA' % (self.insn)) else: # Verify source is readable if self.src: if ':' not in self.src and (self.src[0] in ['%', '$', '*']) and not self.src.startswith('*%'): details.append('source "%s" ok' % (self.src)) else: addr = self.calculate_arg(self.src) valid, out, short = self.validate_vma('r', addr, 'source "%s"' % (self.src)) details.append(out) if not valid: reason.append(short) understood = True # Verify destination is writable if self.dest: if ':' not in self.dest and (self.dest[0] in ['%', '$', '*']): details.append('destination "%s" ok' % (self.dest)) else: addr = self.calculate_arg(self.dest) valid, out, short = self.validate_vma('w', addr, 'destination "%s"' % (self.dest)) details.append(out) if not valid: reason.append(short) understood = True # Handle I/O port operations if self.insn in ['out', 'in'] and not understood: reason.append('disallowed I/O port operation on port %d' % (self.register_value(self.src))) details.append('disallowed I/O port operation on port %d' % (self.register_value(self.src))) understood = True # Note position of SP with regard to "[stack]" VMA if self.sp is not None: if self.stack_vma is not None: if self.sp < self.maps[self.stack_vma]['start']: details.append("Stack memory exhausted (SP below stack segment)") if self.sp >= self.maps[self.stack_vma]['end']: details.append("Stack pointer not within stack segment") if not understood: valid, out, short = self.validate_vma('r', self.sp, 'SP') details.append(out) if not valid: reason.append(short) understood = True if not understood: vma = self.find_vma(self.pc) if vma and (vma['name'] == '[vdso]' or vma['name'] == '[vsyscall]'): reason.append('Reason could not be automatically determined. (Unhandled exception in kernel code?)') details.append('Reason could not be automatically determined. (Unhandled exception in kernel code?)') else: reason.append('Reason could not be automatically determined.') details.append('Reason could not be automatically determined.') return understood, '\n'.join(reason), '\n'.join(details) def add_info(report): # Only interested in segmentation faults... if report.get('Signal', '0') != '11': return needed = ['Signal', 'Architecture', 'Disassembly', 'ProcMaps', 'Registers'] for field in needed: if field not in report: report['SegvAnalysis'] = 'Skipped: missing required field "%s"' % (field) return # Only run on segv for x86 and x86_64... if not report['Architecture'] in ['i386', 'amd64']: return try: segv = ParseSegv(report['Registers'], report['Disassembly'], report['ProcMaps']) understood, reason, details = segv.report() if understood: report['SegvReason'] = reason report['SegvAnalysis'] = details except BaseException as e: report['SegvAnalysis'] = 'Failure: %s' % (str(e)) if __name__ == '__main__': if len(sys.argv) != 4 or sys.argv[1] in ['-h', '--help']: print('To run self-test, run without any arguments (or with -v)') print('To do stand-alone crash parsing:') print(' Usage: %s Registers.txt Disassembly.txt ProcMaps.txt' % (sys.argv[0])) sys.exit(0) segv = ParseSegv(open(sys.argv[1]).read(), open(sys.argv[2]).read(), open(sys.argv[3]).read()) understood, reason, details = segv.report() print('%s\n\n%s' % (reason, details)) rc = 0 if not understood: rc = 1 sys.exit(rc) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/data/icons/32/������������������������������������������������������������������������0000755�0000000�0000000�00000000000�12677230222�013502� 5����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/data/icons/48/������������������������������������������������������������������������0000755�0000000�0000000�00000000000�12677230222�013511� 5����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/data/icons/64/������������������������������������������������������������������������0000755�0000000�0000000�00000000000�12677230222�013507� 5����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/data/icons/scalable/������������������������������������������������������������������0000755�0000000�0000000�00000000000�12677230222�015024� 5����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/data/icons/32/apps/�������������������������������������������������������������������0000755�0000000�0000000�00000000000�12677230222�014445� 5����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/data/icons/32/mimetypes/��������������������������������������������������������������0000755�0000000�0000000�00000000000�12677230222�015516� 5����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/data/icons/32/apps/apport.png���������������������������������������������������������0000644�0000000�0000000�00000004362�12677230222�016465� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������PNG  ��� IHDR��� ��� ���szz���sBIT|d��� pHYs�� �� B(x���tEXtSoftware�www.inkscape.org<��oIDATXŗkpUksνܛ.$$!QZ%XVKmAԩϪMӇ@Sm;S3Uh$Eˆ@011r^�)r_kk>ONWG_8,/rǒS @IEϘt1b) !B-mjuOnxj4wUS9�җ }b'ְ&r/׾[p?Ӯ阵ғ鴖PRV~%�} ]=in~Ϸ-;g=�4*Cʺ1˳Ϋ+/*m*]TVK8@Vg30ߒ&�K3`O T|Ev)a?N19;RQYuh㼆wF|%'ž)aMd -lPQ + D�d!l;nF``Nۖ]L?aXv^qVh!�[-Dl7ٗwC+5�`kqwvf<Z=i ;#T-XTH5iu,vͲ7^u# 6y?x#Z$liɄ Bǂq-ڶ컫`�w6TV}gRYIQ-=0DO;%[eo`f>fylƠcU1`4i*=]xJ$,9wڴPVD$k@\i[H VC|JUw/&<`]_W K/ bC$@0! qď?\0³CluS>-' X &LU81#* @3@JIh lK:! qXO22_p}t\8~`{.K19A+�$�B�y&HK,dom R ydEv01XPRC&ر73"ǿڕ 6Dfc k TF,nMөW._;oz#WT¥Ї]vhDP fe� ePJc0 k\`gǛ:e\�b'lGyvq#! gĐt L(r2G?ӡsWTOO, WF�E#�Z9�kxjH}^Of0�X'0 0m1r9mU޻'OYܖEPAN/<z/^ `lFАFAhR``+}X!)DƔJp[XL˝RYoFoߍZ�0}ec8<H{D,QqöL I;xJ{0?ʤ2bʬo.-?`֊/R/**4H9"5Пst0&HBLT'#t3T-q:r8nL)Pnb1+J+ן^-}xA[4㜩3j҉f\b{~E[߿mዬԏ`_2* ;@u83L(TY$IeobgG<x0u]L=s;g 9ր ױu8x9}?|Ko] Q %AQ_S }_2Ƥ6߾�6sYW{s}iu]L;kG�q4v(kϾt<%|?\ /H(8m2ݝ[2%~6=*ZY[Cڍ]o]~d|]3t*ώl}z;tb[ewp|e8ە`??g%{`/.%Cf˝/9_5u?t}ˈ>{;q|ȲsS4b?Uwh."tBݣ~0nؗPC`}K]F+罁C{x-˯pV-eK\ %ρ r}auP|MLذy}4ʤT9*�毅,)|{Fi/iˡԓrS684�Ƕ?Mdr/c٥><YS%_ڿq����IENDB`������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/data/icons/32/mimetypes/text-x-apport.png���������������������������������������������0000755�0000000�0000000�00000000000�12677230222�024142� 2../apps/apport.png����������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/data/icons/48/apps/�������������������������������������������������������������������0000755�0000000�0000000�00000000000�12677230222�014454� 5����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/data/icons/48/mimetypes/��������������������������������������������������������������0000755�0000000�0000000�00000000000�12677230222�015525� 5����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/data/icons/48/apps/apport.png���������������������������������������������������������0000644�0000000�0000000�00000007657�12677230222�016506� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������PNG  ��� IHDR���0���0���W���sBIT|d��� pHYs�� �� B(x���tEXtSoftware�www.inkscape.org<��,IDAThՙyTՕ޷;;N@Ӎ 8!:qGƉ-0$ō'ё@ce FQMnk=Gu^&OzuϹ{Ϲ޺ESwX_/RB @E\|Q{6 Ql)e^2DIMל?9 ^QߏaCx 䨳B.^Qcǖ{|ҵfR32Ϧ�~ .8!(fۂoV~H 1| [nx�| @<!ٵ.S= %P&MZZZ@YT+/M^BL�\]i.8?vk{~7̱̓@ckħ$Y^ZZrѣ'op'E˯4cĩS}#'M MR;e)%stwG^:P� ڕL[m6)@M{b�MCKD`㾤tCO[@(|ե5Q 6nೌBkN cIFؚ u@�7c-G,&$+8 �0{ZPMIXt~sz[%ɇϻ| ?vK>Eaf\L UcBKV-:Ρh&1LW#)� FB7E# $U\m|w[Rm@ڝ $uvxS!ghZlBd$rR`hk$׶_�$PeYC?pu.|) ѐ)vm泩lku-rb^p`S6_Dؑؓ%(�-YH9£Ƈޟ}p\h'2Jjru+WJ!G<AMYIkc U1ޒ=iq� =o_AÇؙנ >&7.2e-ؽ?TVTTT=; W3~ƃv#�)KG2jhcֱ8n{i0��?fsI1dp_i  owF7Ν}kog>cM*/#LQQV x%ڎdbׇٶ!#kΦ;Z{F�@R i/Î" " ŀ$FivVٺ~۶[.Kg߾Y3'OK > 0sl�C�6h1JL|G5hW|�=RpOZWo"L=vd2`B |(+GI&{$`b%4;g` @„sX 3S±ܣ!zl>;ooUg0i1a)7 fq= 8Qf,~+u+Ӵc<Z(VR" "3ApW�^xC#f {L!$pxT J+ʃKhic~?l>�^g;ƊG˼Cx? #n)Tpp 4\.D@/�H A Y9LZf[, i^?t)a6rԣv-ۙN<j{ |qGᕀB8\HBͅ. @swCVf 91vp[* w2:|vM=:sdo x;m�S0 *6+B;}rLȺGw}8wvy>{skr@Yo<UqOBް+Gzr  P0 P h Fe: dgXVWA5A%ڢ`#Iykޖ[IԾU6 `1�E`0\*F$:pPp'y }Y5?#.,+C墩 r"UAsaA'LOԨP}z&-P(sb$l;e.f= ZO~q^Ñ|/!m8O=cZ)b\>4v`л7�Qwt'= HA Ds.ac\P;tGG]wG4ʆ{ؾg^JePV`!6^!hkŦd \:ڧ @D21:[S2o?V$IUW|:|k�@2v. pWW`ǂ&3@�`E"@Og=eaXc)ὝwxbNk[#ebؐj_EЏ08XU�}L>"((%I``PX#*@7LXΤ<�lֹĢ piiIM%DO?zR邠\ fqԝto=O{X @" �`m )��x'WVL*jeB6k{NNfM<˫ ȸª(B=8̅{fu AqW{O0 ^)d]+k\Ml3<=nO HU\6'92:AV C�rhkXwk?qg p7+aMC`Xi+FGf:Pm%5NbҞcL ? 1#a{@ZdC( ('[dcݹ[~j^/^U%bdDNCgtb w_֣7<Tf(%F s!"B!wpO}Xɮ}f=P9*+MDأZ`cƵ58!+VZ ~uBMx7hSmLCou ;Ugkk_B 4!`j.3J=ӜM=+<QG a#fW #}a=x;kJ}rPzYEƊ{Tޜ/貣\4V4 =[Y9ntk{IXͻvdLj,F@i&?S=At 6ABq(ܑΦɯ<�R::F%lvdC{;ϳɶ�|qt6yUȧVt{JJRh++%/zYO[/֤yP{4[W_`hӡMRy5bG>ь m >WG$5rwj,z4V{O_Z~i<Eu OKךq;1:BqcbSϏ|u& fe_ue~+̼4d,׽n|*ӗ 56Jq#[_{SOzս?۵,lcgM! KJyi�z}A\gM"?kH�;V|UdY Q%!\+3u2Ϧsż<%�HA}�t{N�=Ś6*Z6Uzd 73q} ؚ;ZO'$UTS D" .6*IӸq/δsˋ.lxY)C O�\N8oPmW^UIg P:)w\I-yF@{+GZj9e4dt?8oןIg=$TG{%<ǰ#; ƯByIN?-\Dկ] ,#~'e{NW ~I����IENDB`���������������������������������������������������������������������������������apport-2.20.1/data/icons/48/mimetypes/text-x-apport.png���������������������������������������������0000755�0000000�0000000�00000000000�12677230222�024151� 2../apps/apport.png����������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/data/icons/64/apps/�������������������������������������������������������������������0000755�0000000�0000000�00000000000�12677230222�014452� 5����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/data/icons/64/mimetypes/��������������������������������������������������������������0000755�0000000�0000000�00000000000�12677230222�015523� 5����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/data/icons/64/apps/apport.png���������������������������������������������������������0000644�0000000�0000000�00000013642�12677230222�016473� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������PNG  ��� IHDR���@���@���iq���sBIT|d��� pHYs�� �� B(x���tEXtSoftware�www.inkscape.org<��IDATx{y^UosT_͕J22B^K Ohy`Y1 jD "D彖Z &IRkH7jJHRU$]s9}3gS 8-3l9[vqs]-*`͖,X./XKku)m;Vնde]\:;Wfׅ!=p3TXY#纮0L =�!p׹?E%M3Ӵt 7 d~ާKӜBV|X''\AZVo ЧR9L5c*`eqhm:!~usa`zH9&߸–̼dZ!�MGft1b1cHzQ"/4g=ݏc혣ư`u/ν[lQ ze]e[fkC.(W;|<ORon<`2J#z$K:nx@:Οϝ3C\xB-1.�`-UKZ7cVe˭UN .+Hyˉe<๶J|H)/XJ]~B) �=$ؘcǧΫKkͩ> L&G.>.%Uœ\ (yh6WI+yO<nK_vJKF'@ m=>|2DZ:k`0 krj5">SQSgY81R:fLR=)(sĦwC]TǞ~ <P(eҮ=Ujp�N"n|^A[,Lr{4Y]>6 � X 霋N:|Bo@(Q 4:)VĔZlÓO箹<ld iY !jN"`QJآ!+S**)///ǎh\ W%OPnkӜ�ϡ#s G]BQbpQ{ъTז/Mrc_gfC'@RB�'"̱0٩\ ˮ=oKY7=p[?_#[rM "C v Gܼ<X D U Eɲ6SJo2av<W`\0$d#xB{8mCNuՉ:z- _|O7�v<_e+VČHN%tɫ%k+(_4BJ=bֿH`LoW`[�On* e?,,%ѯ.Ld~[+~]OR)c E ?/)'UW㰧rK0  0+$ Hݴu\>9mhΤ/$̟;on7@֠(|/Ub%嵕g<zߞ,9I%>pM]��KyQ#v(RW9cN@``e̋ $^\s:JWw,s/v< \^V*g2׏T.4²,(*DG2i͘кȤ?Y0dG߱Bᲂ)xEI'2RiL;=/mRO =pypJ/+*P7KBDL`VD@"`t<D$RmM%nZ{N��jle夜1+ʚhiH((GNtY>ҍ|7᳤ďYa"@Q>! $e� ڨġ7[>6c04nö: s(,+^ G�9С(r=]F .!EOB>UבR͜vl1  P4B|à 0x5`JDKf嫟>2%|4R- XX0Z2_a΋]mnDì1QPG( !A@. dЩDFHǶ "0a8İE�[Y'x =" 7HgU~&cF`JCTa)%ebDhڹ-M̕Z»&`:}^jH&O IS,W3a( aEC#x>xQFhwT:$ֆdbˆ maa$cȁ;v7~~l NS^ru_~^L:O�|Ly]M�q^ ~~v@w& z:Sx )c� b \:Z\|W=xf- e׃q{ԿG䟿NC5#! ڈDR^NLC !cꈍa4ww}_7�`eU3A0"@GD8*LH- R{7}|DzW}_?qqRCe;y`9'i<2,z38H<>&hWXO҃e^;U%?eN l0�14�{A~0h@XB>-MƟN3EO b~$Zk7SfH}�! O` *<Pzg"@#}o~"Eɵ3g͑BR3:1`:yJUH yVݹ�!0 Fe}CĐH,N `H{}t lA czx OU H@P"gZ 1 nlT Yqj'gA`P%rM�_(H3`PlPғCswJ�<&�}tnڇ`(ҁeZ^nиXP,$/:K6FTt2 =ГHdɐ:? "$A ` (/=9*A'WP(hB`�AJP` >Bf ۝v lX9c˝::@z@3g ,ËcMGjDlh2�3 '`! s9 �P#(B20Z#it_w&Y\-**"kaQʋopݗo5+ǜ,u=eBL!Y>Ϝn巟sh  F?\A��t 8tfTbV{Y H~LJVNaB#"> \ o=ﭯ63 c_|er#F9 BI6|hc@ gx �1"I_Yկ~C-jn;Eʫ:),>h�8 KI)߀Fy`&9ῆ`0$"pz஡7vnX\g˗ҝm:nrNs<^75Ƣ}ּY=n0p#%xhWA(E7'3Y~aMtmG !XC"\jhߩ�0@#:;j ƤL=ŰxuI�/<k\Cj"eg(1h.>{{h;Ɖ *`~zKh"O=fO'L�56ERI,1u*˪’h2T 4g3L`Q3%q.(pPH NB"  ҮIL/RG$u*X*v5Dwd|Z9a*:EBEbqzzmMYf+p4J} rTMf!  Ժ"ˁAJ*,iZ<b2 $ZV?mٰwExxvBՅ*#J)qtAڠVyH5 ִ�>㫟hK7oD _#Ώ%B0Fzi1r=VS0`C�W )#n(&WBI)aBP~ݭ`ݽB=&`? ~fE i((6 ːC^/qT [j9enpkNOdȶvzrtlnJYK�S<낰*A_!. |Aoћcko_(Iu46&Uv㾄.e;ؾw/Pb' ̼0~<;4Iđ4C{e6~#%]!~_T;-^X7Sv 12(`hD$OҹtW3O#KUAQUHœF8$l?}{Lq@B +B#PrL.#MG{MHHd @!XCc:G/�g3I@�{3hv*}o&;Z&<@E 6 J-BUH i;x}=o j v r6[F-JtmR�$Zݑ=k R$3*ՇP$P3ЂCj-Ⱥ+ �%eLH8^MZo{:gdAW뀿7B%$Zd{U"4 b?vDpȕ8 0@Qa��c$ Xs/\6�ZZ۸9 6Ozጇ'{%TV}UhdȁJ$ ]_3ˮpuvɍq-kq Pc͂kq$p`o=מp@D !Bw}Ή�[c!,8#Pɧ۲Zr>Ŭ.w3:/g%+L/^?eloʳK?.(T<gQ(h9}mW]|X :Mr21w^{יʟlTSK%x\uo߳7+]':3g$AVgK{^{dž~rth$ &[c32'!R"D{o`(&cBI %'mN~ _n3lԁo4i8a;\tK! `kÜ8r||t"Ip<vCzrĄ Q ~lc |M[�08J{W\!%S+ ah$_D]�._s+c3L7OtHAD &tA٢PIZ?\zm<onlTlE# q$@Oħ Pͫ,bziy#7S| FF>AqdO'@Qh36 S*ENU@߇Ϧ�&El׎ >+ Ԙ$z:;F́?ERB�HQTkiy#)9>IK}4t&MW=m)K(@lyO{Gۋ ęlMkP|hg: ;q}}:; nt#A|\j&ÿ zWf+g}?~/-'E%����IENDB`����������������������������������������������������������������������������������������������apport-2.20.1/data/icons/64/mimetypes/text-x-apport.png���������������������������������������������0000755�0000000�0000000�00000000000�12677230222�024147� 2../apps/apport.png����������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/data/icons/scalable/apps/�������������������������������������������������������������0000755�0000000�0000000�00000000000�12677230222�015767� 5����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/data/icons/scalable/mimetypes/��������������������������������������������������������0000755�0000000�0000000�00000000000�12677230222�017040� 5����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/data/icons/scalable/apps/apport.svg���������������������������������������������������0000644�0000000�0000000�00000103325�12677230222�020021� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!-- Created with Inkscape (http://www.inkscape.org/) --> <svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" id="svg3675" height="64" width="64" version="1.0" inkscape:version="0.48.4 r9939" sodipodi:docname="apport.svg" inkscape:export-filename="/home/vishnoo/Desktop/apport-64.png" inkscape:export-xdpi="90" inkscape:export-ydpi="90"> <sodipodi:namedview pagecolor="#ffffff" bordercolor="#666666" borderopacity="1" objecttolerance="10" gridtolerance="10" guidetolerance="10" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-width="1280" inkscape:window-height="776" id="namedview24" showgrid="false" inkscape:zoom="1" inkscape:cx="46.659602" inkscape:cy="21.712651" inkscape:window-x="0" inkscape:window-y="24" inkscape:window-maximized="1" inkscape:current-layer="layer3" inkscape:snap-global="true"> <inkscape:grid type="xygrid" id="grid3008" empspacing="5" visible="true" enabled="true" snapvisiblegridlinesonly="true" /> </sodipodi:namedview> <metadata id="metadata29"> <rdf:RDF> <cc:Work rdf:about=""> <dc:format>image/svg+xml</dc:format> <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> <dc:title /> </cc:Work> </rdf:RDF> </metadata> <defs id="defs3677"> <linearGradient id="linearGradient2407" y2="9.7258072" gradientUnits="userSpaceOnUse" x2="62.673725" gradientTransform="matrix(2.1154,0,0,2.1153,-155.05899,29.606272)" y1="-15.329741" x1="62.673725"> <stop id="stop4875" style="stop-color:#fff" offset="0" /> <stop id="stop4877" style="stop-color:#fff;stop-opacity:0" offset="1" /> </linearGradient> <radialGradient inkscape:collect="always" xlink:href="#radialGradient2410-3" id="radialGradient3867-0" cx="35.589161" cy="40.983368" fx="35.589161" fy="40.983368" r="2.2073171" gradientTransform="matrix(3.8930213,0.27563995,-0.10971091,1.5523012,-98.391101,-32.318405)" gradientUnits="userSpaceOnUse" /> <radialGradient id="radialGradient2410-3" gradientUnits="userSpaceOnUse" cy="3.9898655" cx="24.756285" gradientTransform="matrix(-3.142937e-8,2.0591264,-1.8630191,-2.8436097e-8,-16.045795,-47.797048)" r="20.396999" fx="24.756285" fy="3.9898655"> <stop id="stop2778-1" style="stop-color:#8bd0ea;stop-opacity:1" offset="0" /> <stop id="stop2780-4" style="stop-color:#19b6ee;stop-opacity:1" offset=".26238" /> <stop id="stop2782-8" style="stop-color:#3b90af;stop-opacity:1" offset="0.80952388" /> <stop id="stop2784-8" style="stop-color:#195870;stop-opacity:1" offset="1" /> </radialGradient> <linearGradient inkscape:collect="always" xlink:href="#linearGradient2412-9" id="linearGradient3857-3" x1="33.692677" y1="41.690662" x2="45.269791" y2="44.260967" gradientUnits="userSpaceOnUse" /> <linearGradient id="linearGradient2412-9" y2="3.0816" gradientUnits="userSpaceOnUse" x2="18.379" gradientTransform="matrix(0.95844,0,0,0.95844,-46.481472,-0.82322829)" y1="44.98" x1="18.379"> <stop offset="0" style="stop-color:#409fc2;stop-opacity:1;" id="stop3839-7" /> <stop id="stop2790-7" style="stop-color:#1f566a;stop-opacity:1;" offset="1" /> </linearGradient> <linearGradient id="linearGradient2407-9" y2="9.7258072" gradientUnits="userSpaceOnUse" x2="62.673725" gradientTransform="matrix(2.1154,0,0,2.1153,-155.05899,29.606272)" y1="-15.329741" x1="62.673725"> <stop id="stop4875-7" style="stop-color:#ffffff;stop-opacity:0;" offset="0" /> <stop id="stop4877-7" style="stop-color:#ffffff;stop-opacity:1;" offset="1" /> </linearGradient> <radialGradient r="23" fy="20.471872" fx="23.927731" cy="20.471872" cx="23.927731" gradientTransform="matrix(2.8203223,0.11664895,-0.11931666,2.8848205,-31.744092,-54.138923)" gradientUnits="userSpaceOnUse" id="radialGradient3919" xlink:href="#linearGradient2412-9" inkscape:collect="always" /> <radialGradient inkscape:collect="always" xlink:href="#radialGradient2410-3" id="radialGradient4016" gradientUnits="userSpaceOnUse" gradientTransform="matrix(2.6882933,0.15835816,-0.12479555,2.1185315,-32.659897,-31.024342)" cx="26.513241" cy="15.85399" fx="26.513241" fy="15.85399" r="23" /> <radialGradient inkscape:collect="always" xlink:href="#radialGradient2410-3" id="radialGradient3815" cx="9.2778931" cy="33.201191" fx="9.2778931" fy="33.201191" r="5.2222314" gradientTransform="matrix(2.2906019,-0.91624054,0.28252609,0.70631586,-21.386222,17.902659)" gradientUnits="userSpaceOnUse" /> <radialGradient inkscape:collect="always" xlink:href="#radialGradient2410-3" id="radialGradient3823" cx="7.1243887" cy="10.870715" fx="7.1243887" fy="10.870715" r="6.3095975" gradientTransform="matrix(2.4336863,2.1294763,-0.81842926,0.93534803,-2.1465105,-16.093392)" gradientUnits="userSpaceOnUse" /> <radialGradient inkscape:collect="always" xlink:href="#radialGradient2410-3" id="radialGradient3831" cx="20.311569" cy="41.414787" fx="20.311569" fy="41.414787" r="2.7969415" gradientTransform="matrix(1.8310388,0.57822101,-1.5825284,5.0113579,48.660374,-176.84627)" gradientUnits="userSpaceOnUse" /> <radialGradient inkscape:collect="always" xlink:href="#radialGradient2410-3" id="radialGradient3839" cx="41.541332" cy="33.765697" fx="41.541332" fy="33.765697" r="5.2667422" gradientTransform="matrix(0.70090276,-1.101419,3.0815227,1.9609695,-89.98567,13.131021)" gradientUnits="userSpaceOnUse" /> <radialGradient inkscape:collect="always" xlink:href="#linearGradient2407-9" id="radialGradient3859" cx="23.997488" cy="23.999582" fx="23.997488" fy="23.999582" r="22.051479" gradientTransform="matrix(1.0370716,-1.9938562e-8,1.9938556e-8,1.0370718,-0.88700369,-0.88939117)" gradientUnits="userSpaceOnUse" /> <radialGradient inkscape:collect="always" xlink:href="#radialGradient2410-3" id="radialGradient3875" cx="8.979084" cy="24.005474" fx="8.979084" fy="24.005474" r="19.510559" gradientTransform="matrix(0.3781073,-0.03781074,0.01551239,0.15512396,4.7407913,19.140165)" gradientUnits="userSpaceOnUse" /> <radialGradient inkscape:collect="always" xlink:href="#radialGradient2410-3" id="radialGradient3889" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.03057406,-0.15287027,0.37810725,0.0756215,29.773166,29.0027)" cx="44.621208" cy="33.802101" fx="44.621208" fy="33.802101" r="19.510559" /> <radialGradient inkscape:collect="always" xlink:href="#radialGradient2410-3" id="radialGradient3891" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-0.01369288,-0.15062181,0.41591809,-0.03781072,37.017298,23.919886)" cx="43.91824" cy="18.037945" fx="43.91824" fy="18.037945" r="19.510559" /> <radialGradient inkscape:collect="always" xlink:href="#radialGradient2410-3" id="radialGradient3893" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-0.08350997,-0.06680801,0.15124296,-0.18905369,41.391683,11.108112)" cx="38.75428" cy="3.9602799" fx="38.75428" fy="3.9602799" r="19.510559" /> <radialGradient inkscape:collect="always" xlink:href="#radialGradient2410-3" id="radialGradient3896" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-0.07562152,0.52935044,-0.18715352,-0.02673625,31.586834,-12.566772)" cx="29.901777" cy="-3.078552" fx="29.901777" fy="-3.078552" r="19.510559" /> <radialGradient inkscape:collect="always" xlink:href="#radialGradient2410-3" id="radialGradient3898" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.12483269,0.37449815,-0.11343216,0.03781074,20.029026,-1.508239)" cx="26.661398" cy="0.83609062" fx="26.661398" fy="0.83609062" r="19.510559" /> <linearGradient inkscape:collect="always" xlink:href="#linearGradient2407" id="linearGradient3907" x1="21.049274" y1="-7.7215734" x2="22.524693" y2="12.93427" gradientUnits="userSpaceOnUse" /> <linearGradient inkscape:collect="always" xlink:href="#linearGradient2407" id="linearGradient3915" x1="37.278862" y1="-6.9838648" x2="37.278862" y2="10.721144" gradientUnits="userSpaceOnUse" /> <radialGradient inkscape:collect="always" xlink:href="#radialGradient2410-3" id="radialGradient3920" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.91077468,-0.4557367,0.43511615,0.86956521,3.0189575,21.775824)" cx="28.858229" cy="29.18232" fx="28.858229" fy="29.18232" r="23" /> </defs> <g inkscape:groupmode="layer" id="layer3" inkscape:label="plain" style="display:inline" transform="translate(0,16)"> <g id="g3029"> <path sodipodi:nodetypes="zzzzzzszszzzzzzzszazzzzzzzsszzzzaszssssszsz" inkscape:connector-curvature="0" id="path4007" d="m 49.83904,13.823397 c 0,1.038914 13.859579,-0.770535 12.576817,4.385741 -1.282757,5.156275 -10.26207,-2.578137 -11.54483,-1.289071 -1.282758,1.289071 -1.730004,-0.197407 -2.331938,0.741205 -0.601932,0.938615 0.650832,1.615004 1.373223,3.882021 0.72239,2.26702 15.543937,4.135173 11.942149,10.816564 -3.601786,6.681391 -11.260332,-9.446801 -17.768605,-7.441228 -1.85292,0.57099 -2.516252,2.466285 -3.446977,3.66217 -0.93072,1.195888 4.15142,5.563282 1.834242,7.498885 -1.488287,1.243206 -1.585375,-5.517089 -4.119131,-6.215962 -2.533757,-0.698875 -5.618062,0.791202 -6.90082,2.08027 -1.282762,1.289072 1.489156,14.23887 -5.705856,14.549989 -7.19501,0.31112 1.708201,-11.561729 2.476768,-15.646162 C 28.992651,26.763386 27.78572,25.73823 26.8517,25.133335 25.917683,24.52844 24.537827,22.950588 21.559513,23.780237 18.581199,24.609887 11.060524,36.753832 7.7298613,31.173458 4.3991998,25.593083 13.460207,24.228044 19.178124,22.838633 c 1.161162,-0.282156 1.408227,-3.297801 1.408227,-3.814365 0,-0.516561 0.275197,-1.54204 -0.09826,-2.155709 C 19.973326,16.022658 20.073683,15.048832 17.917623,15.393512 15.761556,15.738195 7.2427519,19.94207 8.4811356,14.578382 9.7195198,9.2146946 14.762839,14.311857 17.755599,13.39302 20.74836,12.474179 21.39423,10.292853 21.996164,9.3542388 22.598103,8.4156256 17.127732,6.1122246 17.475933,5.7623137 17.824142,5.4123973 -2.8108491,1.5985073 2.3201874,-6.1649431 7.4512253,-13.928394 17.872111,1.0957287 19.319069,3.0213573 20.766027,4.9469848 29.314228,7.7242465 30.693453,0.81923484 31.144736,-1.4400806 25.030089,-7.9159066 28.917512,-9.4311914 c 5.2755,-2.0563436 4.062497,8.3546198 4.60535,9.48675791 0.542852,1.13213669 2.220276,2.19525449 4.063403,-1.74558461 1.843128,-3.9408376 -1.801957,-13.9853589 3.329081,-12.6962889 5.131036,1.289068 -1.073158,9.1702764 -1.279553,12.3260576 -0.2064,3.155782 0.815355,2.91277474 2.046318,3.2910658 1.734852,0.5331442 3.463798,-0.38143796 4.972222,-2.22392824 2.12254,-2.59262086 4.232175,-9.91224316 7.269311,-6.93380056 3.037137,2.9784428 -4.423747,4.6520992 -5.057765,7.64522575 -0.253001,1.19438041 1.717028,0.1767032 1.977548,1.63159425 0.204125,1.1399727 -1.298839,0.9801569 -1.41587,2.492732 -0.02061,0.2666149 0.2972,2.3374868 1.920088,2.2728001 3.378653,-0.1346731 9.363128,-3.7661543 9.675627,0.3805989 0.288457,3.8276474 -8.969901,0.6397541 -10.047322,1.0438969 -1.077418,0.4041428 0.332651,1.1053446 0.645974,2.7385615 0.21148,1.102349 -1.782884,2.505993 -1.782884,3.5449 z" style="fill:url(#radialGradient4016);fill-opacity:1;stroke:url(#radialGradient3919);stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline" /> <path sodipodi:nodetypes="csssssssccccccc" inkscape:connector-curvature="0" transform="matrix(1.355549,0,0,1.3555486,-0.53332353,-16.533032)" style="opacity:1;fill:url(#radialGradient3823);stroke:none;stroke-width:0.73770857000000001;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;display:inline;fill-opacity:1" d="M 14,14.9375 C 13.420176,14.165864 11.268745,11.106267 8.84375,8.96875 7.6312526,7.8999917 6.3631229,7.1116844 5.34375,6.90625 4.3243771,6.7008156 3.5893276,6.9023484 2.78125,8.125 2.3865842,8.7221444 2.2762397,9.1714951 2.3125,9.59375 c 0.03626,0.422255 0.2251105,0.838147 0.59375,1.28125 0.737279,0.886205 2.1861617,1.769708 3.78125,2.46875 1.5950883,0.699042 3.338296,1.241329 4.65625,1.625 0.658977,0.191836 1.19592,0.3525 1.59375,0.46875 0.198915,0.05813 0.35935,0.103703 0.5,0.15625 0.07033,0.02627 0.13001,0.0511 0.25,0.125 0.06,0.03695 0.14846,0.045 0.28125,0.25 0.0097,0.01502 0.02145,0.04492 0.03125,0.0625 0.05052,0.03584 0.08519,0.06198 0.1875,0.125 z" id="path3803" /> <path sodipodi:nodetypes="cccccssscsssc" inkscape:connector-curvature="0" style="opacity:1;fill:url(#radialGradient3815);stroke:none;stroke-width:0.73770857000000001;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;display:inline;fill-opacity:1" d="m 15.78125,28.96875 c -0.11626,0.202685 -0.411022,0.329846 -0.625,0.5 0.293498,-0.200601 0.596044,-0.404883 0.9375,-0.5 z m -1.1875,0.90625 c -2.125459,0.512002 -4.7472321,1.010548 -6.4375,1.8125 -0.8608332,0.408424 -1.4105079,0.885098 -1.625,1.3125 -0.2144921,0.427402 -0.241318,0.905711 0.28125,1.78125 0.2384937,0.399585 0.4349675,0.553046 0.625,0.625 0.1900325,0.07195 0.4208646,0.06695 0.75,-0.03125 0.6582708,-0.196401 1.6109081,-0.883036 2.5625,-1.75 0.951592,-0.866964 1.925716,-1.903618 2.8125,-2.78125 0.373431,-0.369577 0.693123,-0.671107 1.03125,-0.96875 z" id="path3807" transform="matrix(1.355549,0,0,1.3555486,-0.53332353,-16.533032)" /> <path sodipodi:nodetypes="cssccssssscc" inkscape:connector-curvature="0" id="path3801" d="m 22.03125,35.125 c -0.181901,0.966684 -0.724506,2.06189 -1.34375,3.3125 -0.619244,1.25061 -1.337023,2.624546 -1.84375,3.84375 -0.506727,1.219204 -0.760832,2.303346 -0.6875,2.8125 0.03667,0.254577 0.09482,0.321645 0.21875,0.40625 0.123931,0.08461 0.414327,0.211474 0.96875,0.1875 1.078058,-0.04662 1.629192,-0.480917 2.09375,-1.25 0.464558,-0.769083 0.744869,-1.913943 0.875,-3.125 0.130131,-1.211057 0.130654,-2.480197 0.15625,-3.53125 0.0128,-0.525526 0.0096,-0.993697 0.0625,-1.40625 0.0529,-0.412553 0.05501,-0.802971 0.46875,-1.21875 z" style="opacity:1;fill:url(#radialGradient3831);stroke:none;stroke-width:0.73770857000000001;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;display:inline;fill-opacity:1" transform="matrix(1.355549,0,0,1.3555486,-0.53332353,-16.533032)" /> <path sodipodi:nodetypes="cssssssscc" inkscape:connector-curvature="0" transform="matrix(1.355549,0,0,1.3555486,-0.53332353,-16.533032)" style="opacity:1;fill:url(#radialGradient3839);stroke:none;stroke-width:0.73770857000000001;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;display:inline;fill-opacity:1" d="m 37.0625,30.84375 c 1.341462,0.890495 2.615284,2.111239 3.78125,3.1875 1.165966,1.076261 2.255127,1.979294 3,2.28125 0.372437,0.150978 0.600905,0.158301 0.78125,0.09375 0.180345,-0.06455 0.417119,-0.217187 0.6875,-0.71875 0.544811,-1.010636 0.386168,-1.562385 -0.125,-2.21875 -0.511168,-0.656365 -1.533337,-1.31461 -2.71875,-1.875 -1.185413,-0.56039 -2.505173,-1.015945 -3.59375,-1.46875 -0.544288,-0.226402 -1.025786,-0.471537 -1.4375,-0.71875 -1.634055,-0.980097 -2.371764,0.49532 -0.375,1.4375 z" id="path3799" /> <path transform="matrix(1.355549,0,0,1.3555486,-0.53332353,-16.533032)" sodipodi:nodetypes="csscsssssc" inkscape:connector-curvature="0" id="path3796" d="m 38.6875,23.8125 c 0.383561,0.0801 0.748135,0.225839 1.15625,0.40625 0.81623,0.360822 1.747828,0.852987 2.65625,1.25 0.908422,0.397013 1.787922,0.667229 2.3125,0.65625 0.262289,-0.0055 0.425359,-0.04373 0.53125,-0.125 0.105891,-0.08127 0.195982,-0.219751 0.28125,-0.5625 0.07774,-0.312485 0.05086,-0.451067 -0.03125,-0.59375 -0.08211,-0.142683 -0.27349,-0.337036 -0.59375,-0.5 -0.64052,-0.325927 -1.761592,-0.5437 -2.9375,-0.65625 -1.175908,-0.11255 -2.381268,-0.114949 -3.34375,-0.15625" style="fill:url(#radialGradient3889);fill-opacity:1;stroke:none;display:inline" /> <path style="fill:url(#radialGradient3891);fill-opacity:1;stroke:none;display:inline" d="m 44.25,16.4375 c -0.212548,-0.07795 -0.714604,-0.106091 -1.375,0.03125 -0.792793,0.164875 -1.741107,0.470428 -2.6875,0.71875 0.639154,0.117388 1.333722,0.236565 2,0.3125 0.843818,0.09617 1.620009,0.0873 2.03125,-0.03125 0.20562,-0.05927 0.284341,-0.121684 0.3125,-0.15625 0.02816,-0.03457 0.07704,-0.0571 0.0625,-0.25 -0.04221,-0.56007 -0.131202,-0.547049 -0.34375,-0.625 z" id="path3877" inkscape:connector-curvature="0" sodipodi:nodetypes="sscscccs" transform="matrix(1.355549,0,0,1.3555486,-0.53332353,-16.533032)" /> <path transform="matrix(1.355549,0,0,1.3555486,-0.53332353,-16.533032)" sodipodi:nodetypes="ssscsscsss" inkscape:connector-curvature="0" id="path3879" d="M 39.1875,6.65625 C 39.113208,6.6395226 39.079478,6.6356061 38.96875,6.6875 38.747295,6.7912879 38.337671,7.2053779 37.9375,7.8125 37.406283,8.6184399 36.836765,9.6307037 36.28125,10.59375 36.502339,10.331463 36.742066,10.092302 37,9.875 37.605584,9.3648138 38.29482,8.9088926 38.84375,8.5 39.39268,8.0911074 39.786997,7.6930922 39.875,7.5 39.919,7.403454 39.89025,7.3732034 39.875,7.3125 39.85975,7.251797 39.83078,7.1393063 39.625,6.9375 39.422347,6.7387632 39.261792,6.6729774 39.1875,6.65625 z" style="fill:url(#radialGradient3893);fill-opacity:1;stroke:url(#linearGradient3915);display:inline" /> <path style="fill:url(#radialGradient3896);fill-opacity:1;stroke:none;display:inline" d="m 29.75,2.34375 c -0.147475,0.059359 -0.302407,0.2525213 -0.40625,0.84375 -0.103843,0.5912287 -0.09972,1.4625492 -0.0625,2.40625 0.0457,1.1584506 0.08932,2.3791166 0,3.5625 0.133659,-0.3559474 0.176276,-0.6821726 0.34375,-1.0625 0.398688,-0.9054045 0.862494,-1.8702979 1.1875,-2.75 0.325006,-0.8797021 0.471017,-1.6683226 0.40625,-2.125 C 31.153983,2.7620726 31.091095,2.5861542 30.375,2.40625 29.999336,2.3118721 29.825645,2.3133022 29.75,2.34375 z" id="path3881" inkscape:connector-curvature="0" sodipodi:nodetypes="ssscsssss" transform="matrix(1.355549,0,0,1.3555486,-0.53332353,-16.533032)" /> <path transform="matrix(1.355549,0,0,1.3555486,-0.53332353,-16.533032)" sodipodi:nodetypes="csssssscsc" inkscape:connector-curvature="0" id="path3883" d="M 24.1875,11.71875 C 24.1638,11.405243 24.17318,11.029626 24.15625,10.625 24.122383,9.8157486 24.051804,8.8479277 23.90625,8 23.760696,7.1520723 23.495624,6.4309551 23.21875,6.125 23.080313,5.9720224 22.984557,5.8731515 22.8125,5.84375 c -0.172057,-0.029401 -0.399358,0.038642 -0.78125,0.1875 -0.232013,0.090437 -0.32685,0.1735419 -0.375,0.25 -0.04815,0.076458 -0.06712,0.1755602 -0.0625,0.375 0.0092,0.3988796 0.216057,1.0786371 0.5625,1.8125 0.346443,0.7338629 0.805615,1.5097983 1.15625,2.25" style="fill:url(#radialGradient3898);fill-opacity:1;stroke:url(#linearGradient3907);display:inline" /> <path style="fill:url(#radialGradient3875);fill-opacity:1;stroke:none;display:inline" d="m 8.125,22 c -0.2280428,0.09557 -0.4618485,0.283008 -0.65625,1.125 -0.093533,0.405109 -0.093206,0.64707 -0.0625,0.75 0.030706,0.10293 0.046239,0.113497 0.125,0.15625 0.1575226,0.08551 0.776197,0.139649 1.53125,0 0.755053,-0.139649 1.614634,-0.427553 2.40625,-0.6875 C 12.016287,23.163953 12.441528,23.05724 12.875,22.9375 12.365072,22.9362 11.874809,22.85459 11.40625,22.71875 10.675108,22.506779 9.9671828,22.224172 9.375,22.0625 8.7828172,21.900828 8.3530428,21.904428 8.125,22 z" id="path3885" inkscape:connector-curvature="0" sodipodi:nodetypes="ssscsscsss" transform="matrix(1.355549,0,0,1.3555486,-0.53332353,-16.533032)" /> <path style="fill:url(#radialGradient3920);fill-opacity:1;stroke:url(#radialGradient3919);stroke-width:1;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline" d="M 40.638879,28.580799 C 39.708159,29.776687 45.317178,35.064397 43,37 41.511713,38.243206 40.887746,30.562595 38.35399,29.863722" id="path3917" inkscape:connector-curvature="0" sodipodi:nodetypes="csc" /> <path transform="matrix(1.355549,0,0,1.3555486,-0.53332353,-16.533032)" inkscape:href="#path3004-3" d="m 29.75,2.34375 c -0.147475,0.059359 -0.302407,0.2525213 -0.40625,0.84375 -0.103843,0.5912287 -0.09972,1.4625492 -0.0625,2.40625 0.0457,1.1584506 0.08932,2.3791166 0,3.5625 0.133659,-0.3559474 0.176276,-0.6821726 0.34375,-1.0625 0.398688,-0.9054045 0.862494,-1.8702979 1.1875,-2.75 0.325006,-0.8797021 0.471017,-1.6683226 0.40625,-2.125 C 31.153983,2.7620726 31.091095,2.5861542 30.375,2.40625 29.999336,2.3118721 29.825645,2.3133022 29.75,2.34375 z m -6.9375,3.5 c -0.172057,-0.029401 -0.399358,0.038642 -0.78125,0.1875 -0.232013,0.090437 -0.32685,0.1735419 -0.375,0.25 -0.04815,0.076458 -0.06712,0.1755602 -0.0625,0.375 0.0092,0.3988796 0.216057,1.0786371 0.5625,1.8125 0.346443,0.7338629 0.805615,1.5097983 1.15625,2.25 0.350635,0.740202 0.699241,1.408963 0.53125,2.25 -0.288348,1.4436 -1.005043,2.500298 -1.9375,3.125 -0.932457,0.624702 -2.024237,0.842471 -3.0625,0.8125 C 17.805487,16.876279 16.810023,16.597556 15.96875,16.25 15.127477,15.902444 14.443004,15.527055 14,14.9375 13.420176,14.165864 11.268745,11.106267 8.84375,8.96875 7.6312526,7.8999917 6.3631229,7.1116844 5.34375,6.90625 4.3243771,6.7008156 3.5893276,6.9023484 2.78125,8.125 2.3865842,8.7221444 2.2762397,9.1714951 2.3125,9.59375 c 0.03626,0.422255 0.2251105,0.838147 0.59375,1.28125 0.737279,0.886205 2.1861617,1.769708 3.78125,2.46875 1.5950883,0.699042 3.338296,1.241329 4.65625,1.625 0.658977,0.191836 1.19592,0.3525 1.59375,0.46875 0.198915,0.05813 0.35935,0.103703 0.5,0.15625 0.07033,0.02627 0.13001,0.0511 0.25,0.125 0.06,0.03695 0.14846,0.045 0.28125,0.25 0.0097,0.01502 0.02145,0.04492 0.03125,0.0625 0.05052,0.03584 0.08519,0.06198 0.1875,0.125 0.306934,0.189047 0.775305,0.469752 1.25,0.75 0.474695,0.280248 0.955878,0.550897 1.34375,0.875 0.193936,0.162051 0.37885,0.338061 0.53125,0.59375 0.1524,0.255689 0.25021,0.766092 0,1.15625 -0.267332,0.416859 -1.019599,2.38635 -3.34375,3.21875 0.245018,-0.0141 0.502479,-0.07228 0.71875,-0.03125 0.357156,0.06776 0.683382,0.272369 0.90625,0.5 0.445737,0.455263 0.493255,0.834858 0.59375,1 0.281498,0.462558 0.294805,0.928356 0.28125,1.28125 -0.01356,0.352894 -0.0625,0.659071 -0.0625,0.71875 0,0.338778 -0.03767,0.968589 -0.21875,1.6875 -0.09054,0.359456 -0.206299,0.713911 -0.40625,1.0625 -0.11626,0.202685 -0.411022,0.329846 -0.625,0.5 0.293498,-0.200601 0.596044,-0.404883 0.9375,-0.5 2.518899,-0.701673 4.089636,0.807749 4.53125,1.09375 0.38468,0.249128 0.991526,0.707803 1.3125,1.53125 0.320974,0.823447 0.394349,1.933764 0.09375,3.53125 -0.181901,0.966684 -0.724506,2.06189 -1.34375,3.3125 -0.619244,1.25061 -1.337023,2.624546 -1.84375,3.84375 -0.506727,1.219204 -0.760832,2.303346 -0.6875,2.8125 0.03667,0.254577 0.09482,0.321645 0.21875,0.40625 0.123931,0.08461 0.414327,0.211474 0.96875,0.1875 1.078058,-0.04662 1.629192,-0.480917 2.09375,-1.25 0.464558,-0.769083 0.744869,-1.913943 0.875,-3.125 0.130131,-1.211057 0.130654,-2.480197 0.15625,-3.53125 0.0128,-0.525526 0.0096,-0.993697 0.0625,-1.40625 0.0529,-0.412553 0.05501,-0.802971 0.46875,-1.21875 0.594603,-0.597529 1.498051,-1.131808 2.53125,-1.5 1.033199,-0.368192 2.213686,-0.539069 3.375,-0.21875 0.252896,0.06976 0.430204,0.204934 0.625,0.34375 -0.04006,-0.299268 -0.06021,-0.681713 0.1875,-1 0.543992,-0.698976 1.137253,-2.41399 2.9375,-2.96875 1.540025,-0.47457 3.064788,0.140755 4.40625,1.03125 1.341462,0.890495 2.615284,2.111239 3.78125,3.1875 1.165966,1.076261 2.255127,1.979294 3,2.28125 0.372437,0.150978 0.600905,0.158301 0.78125,0.09375 0.180345,-0.06455 0.417119,-0.217187 0.6875,-0.71875 0.544811,-1.010636 0.386168,-1.562385 -0.125,-2.21875 -0.511168,-0.656365 -1.533337,-1.31461 -2.71875,-1.875 -1.185413,-0.56039 -2.505173,-1.015945 -3.59375,-1.46875 -0.544288,-0.226402 -1.025786,-0.471537 -1.4375,-0.71875 -0.411714,-0.247213 -0.814683,-0.480935 -1,-1.0625 -0.231197,-0.725545 -0.541081,-1.159463 -0.8125,-1.625 -0.13571,-0.232769 -0.275326,-0.501274 -0.34375,-0.84375 -0.06842,-0.342476 0.01153,-0.770622 0.21875,-1.09375 0.189947,-0.296191 0.564121,-0.597456 0.9375,-0.625 0.373379,-0.02754 0.576157,0.07102 0.65625,0.09375 0.08009,0.02273 0.04441,0.02815 0.03125,0.03125 -0.01316,0.0031 0.02429,-0.02349 0.1875,-0.1875 0.432789,-0.434917 0.991439,-0.361354 1.375,-0.28125 0.383561,0.0801 0.748135,0.225839 1.15625,0.40625 0.81623,0.360822 1.747828,0.852987 2.65625,1.25 0.908422,0.397013 1.787922,0.667229 2.3125,0.65625 0.262289,-0.0055 0.425359,-0.04373 0.53125,-0.125 0.105891,-0.08127 0.195982,-0.219751 0.28125,-0.5625 0.07774,-0.312485 0.05086,-0.451067 -0.03125,-0.59375 -0.08211,-0.142683 -0.27349,-0.337036 -0.59375,-0.5 -0.64052,-0.325927 -1.761592,-0.5437 -2.9375,-0.65625 -1.175908,-0.11255 -2.381268,-0.114949 -3.34375,-0.15625 -0.481241,-0.02065 -0.900799,-0.06992 -1.25,-0.125 -0.1746,-0.02754 -0.333651,-0.03734 -0.53125,-0.125 -0.0988,-0.04383 -0.214942,-0.116436 -0.34375,-0.25 -0.128808,-0.133564 -0.25,-0.372224 -0.25,-0.625 0,-0.908898 0.538356,-1.336947 0.875,-1.78125 0.168322,-0.222151 0.303407,-0.423725 0.375,-0.5625 0.07159,-0.138775 0.05034,-0.188387 0.0625,-0.125 -0.07704,-0.401587 -0.303723,-0.705815 -0.53125,-1.09375 -0.113764,-0.193968 -0.29941,-0.427024 -0.25,-0.90625 0.0247,-0.239613 0.17897,-0.498612 0.34375,-0.65625 0.03148,-0.03011 0.06206,-0.03764 0.09375,-0.0625 -0.420281,-0.238727 -0.763861,-0.544127 -0.9375,-0.875 -0.147354,-0.280787 -0.227875,-0.555801 -0.28125,-0.78125 -0.05338,-0.225449 -0.08632,-0.285728 -0.0625,-0.59375 0.06457,-0.834623 0.653246,-1.369036 0.9375,-1.59375 0.02842,-0.02247 0.0094,-0.01287 0.03125,-0.03125 -0.03996,-0.0091 -0.03071,0.009 -0.09375,0 -0.170737,-0.02449 -0.415917,0.0018 -0.78125,-0.21875 -0.182666,-0.110274 -0.38137,-0.339825 -0.46875,-0.59375 -0.08738,-0.253925 -0.07466,-0.482557 -0.03125,-0.6875 0.06025,-0.284416 0.208653,-0.516559 0.34375,-0.75 -0.186748,0.296014 -0.329105,0.659336 -0.53125,0.90625 -0.61182,0.747318 -1.263958,1.331282 -2.03125,1.6875 -0.767292,0.356218 -1.663982,0.44442 -2.5,0.1875 -0.338162,-0.103922 -0.905294,-0.08629 -1.46875,-0.625 -0.436381,-0.417219 -0.572017,-1.07879 -0.59375,-1.90625 -0.721906,1.516883 -1.498269,2.342172 -2.46875,2.46875 -0.493213,0.06433 -0.952997,-0.101152 -1.28125,-0.34375 -0.328253,-0.242598 -0.568073,-0.560758 -0.71875,-0.875 -0.181975,-0.379515 -0.163797,-0.561493 -0.1875,-0.875 -0.0237,-0.313507 -0.01432,-0.689124 -0.03125,-1.09375 C 24.122383,9.8157486 24.051804,8.8479277 23.90625,8 23.760696,7.1520723 23.495624,6.4309551 23.21875,6.125 23.080313,5.9720224 22.984557,5.8731515 22.8125,5.84375 z m 16.375,0.8125 C 39.113208,6.6395226 39.079478,6.6356061 38.96875,6.6875 38.747295,6.7912879 38.337671,7.2053779 37.9375,7.8125 37.406283,8.6184399 36.836765,9.6307037 36.28125,10.59375 36.502339,10.331463 36.742066,10.092302 37,9.875 37.605584,9.3648138 38.29482,8.9088926 38.84375,8.5 c 0.54893,-0.4088926 0.943247,-0.8069078 1.03125,-1 0.044,-0.096546 0.01525,-0.1267966 0,-0.1875 -0.01525,-0.060703 -0.04422,-0.1731937 -0.25,-0.375 C 39.422347,6.7387632 39.261792,6.6729774 39.1875,6.65625 z M 44.25,16.4375 c -0.212548,-0.07795 -0.714604,-0.106091 -1.375,0.03125 -0.792793,0.164875 -1.741107,0.470428 -2.6875,0.71875 0.639154,0.117388 1.333722,0.236565 2,0.3125 0.843818,0.09617 1.620009,0.0873 2.03125,-0.03125 0.20562,-0.05927 0.284341,-0.121684 0.3125,-0.15625 0.02816,-0.03457 0.07704,-0.0571 0.0625,-0.25 -0.04221,-0.56007 -0.131202,-0.547049 -0.34375,-0.625 z M 8.125,22 c -0.2280428,0.09557 -0.4618485,0.283008 -0.65625,1.125 -0.093533,0.405109 -0.093206,0.64707 -0.0625,0.75 0.030706,0.10293 0.046239,0.113497 0.125,0.15625 0.1575226,0.08551 0.776197,0.139649 1.53125,0 0.755053,-0.139649 1.614634,-0.427553 2.40625,-0.6875 0.547537,-0.179797 0.972778,-0.28651 1.40625,-0.40625 -0.509928,-0.0013 -1.000191,-0.08291 -1.46875,-0.21875 C 10.675108,22.506779 9.9671828,22.224172 9.375,22.0625 8.7828172,21.900828 8.3530428,21.904428 8.125,22 z m 6.46875,7.875 c -2.125459,0.512002 -4.7472321,1.010548 -6.4375,1.8125 -0.8608332,0.408424 -1.4105079,0.885098 -1.625,1.3125 -0.2144921,0.427402 -0.241318,0.905711 0.28125,1.78125 0.2384937,0.399585 0.4349675,0.553046 0.625,0.625 0.1900325,0.07195 0.4208646,0.06695 0.75,-0.03125 0.6582708,-0.196401 1.6109081,-0.883036 2.5625,-1.75 0.951592,-0.866964 1.925716,-1.903618 2.8125,-2.78125 0.373431,-0.369577 0.693123,-0.671107 1.03125,-0.96875 z" id="path4009" style="opacity:0.33000000000000002;fill:none;stroke:url(#radialGradient3859);stroke-width:0.73770859000000000;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline;stroke-linejoin:round" xlink:href="#path3004-3" inkscape:original="M 29.4375 1.59375 C 27.397809 2.4147366 29.31473 8.3937087 28.125 10.9375 C 26.765309 13.844691 25.525468 13.085187 25.125 12.25 C 24.724533 11.414812 25.610531 3.7330179 21.71875 5.25 C 18.850964 6.3678382 23.364164 11.145784 23.03125 12.8125 C 22.013784 17.906388 15.723684 15.858053 14.65625 14.4375 C 13.588817 13.016947 5.87896 1.9290856 2.09375 7.65625 C -1.691459 13.383415 13.53813 16.179364 13.28125 16.4375 C 13.024378 16.695633 17.069055 18.401327 16.625 19.09375 C 16.180949 19.786173 15.707785 21.384664 13.5 22.0625 C 11.292215 22.740334 7.569816 18.980661 6.65625 22.9375 C 5.742684 26.894338 12.034452 23.816776 13.625 23.5625 C 15.215545 23.308227 15.120255 24.032222 15.5 24.65625 C 15.775505 25.10896 15.59375 25.837678 15.59375 26.21875 C 15.59375 26.599823 15.387848 28.823102 14.53125 29.03125 C 10.313094 30.056232 3.636693 31.07081 6.09375 35.1875 C 8.550808 39.304191 14.115373 30.36204 16.3125 29.75 C 18.509627 29.137961 19.498467 30.303764 20.1875 30.75 C 20.876534 31.196236 21.78573 31.955629 21.21875 34.96875 C 20.651772 37.981872 14.06718 46.729515 19.375 46.5 C 24.682821 46.270484 22.647447 36.700958 23.59375 35.75 C 24.540052 34.799042 26.818326 33.703186 28.6875 34.21875 C 30.556673 34.734315 30.620828 39.729624 31.71875 38.8125 C 33.428152 37.384589 29.688399 34.163466 30.375 33.28125 C 31.061602 32.399035 31.539336 31.014975 32.90625 30.59375 C 37.707458 29.114222 43.374182 40.99142 46.03125 36.0625 C 48.68832 31.13358 37.751663 29.76615 37.21875 28.09375 C 36.685836 26.421351 35.743448 25.911174 36.1875 25.21875 C 36.631551 24.526328 36.959948 25.638457 37.90625 24.6875 C 38.852552 23.736544 45.491198 29.42883 46.4375 25.625 C 47.383802 21.821172 37.15625 23.172665 37.15625 22.40625 C 37.15625 21.639838 38.624761 20.594464 38.46875 19.78125 C 38.237608 18.576413 37.205178 18.04814 38 17.75 C 38.794822 17.45186 45.619045 19.823688 45.40625 17 C 45.175715 13.940904 40.773712 16.6194 38.28125 16.71875 C 37.084033 16.76647 36.82854 15.227935 36.84375 15.03125 C 36.930083 13.91541 38.056836 14.028468 37.90625 13.1875 C 37.714063 12.114215 36.25086 12.881105 36.4375 12 C 36.905222 9.7919448 42.428021 8.540973 40.1875 6.34375 C 37.946979 4.1465269 36.378317 9.5561508 34.8125 11.46875 C 33.699723 12.827971 32.436064 13.487055 31.15625 13.09375 C 30.248158 12.814681 29.472739 13.015548 29.625 10.6875 C 29.777261 8.3594529 34.34771 2.544707 30.5625 1.59375 C 30.089349 1.4748804 29.728884 1.4764662 29.4375 1.59375 z " inkscape:radius="-0.82307136" sodipodi:type="inkscape:offset" /> <path transform="matrix(0.57127446,1.2292845,-1.2292226,0.57130322,75.999338,-25.235896)" d="m 39.048035,41.353657 c 0,0.827868 -1.211773,1.498988 -2.70657,1.498988 -1.494797,0 -2.70657,-0.67112 -2.70657,-1.498988 0,-0.827868 1.211773,-1.498988 2.70657,-1.498988 1.494797,0 2.70657,0.67112 2.70657,1.498988 z" sodipodi:ry="1.498988" sodipodi:rx="2.7065697" sodipodi:cy="41.353657" sodipodi:cx="36.341465" id="path4011" style="fill:url(#radialGradient3867-0);fill-opacity:1;stroke:url(#linearGradient3857-3);stroke-width:0.73772413000000003;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline" sodipodi:type="arc" /> </g> </g> </svg> �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/data/icons/scalable/mimetypes/text-x-apport.svg���������������������������������������0000755�0000000�0000000�00000000000�12677230222�025512� 2../apps/apport.svg����������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/data/package-hooks/source_apport.py���������������������������������������������������0000644�0000000�0000000�00000001071�12677230222�020115� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'''Apport package hook for apport itself. This adds /var/log/apport.log and the file listing in /var/crash to the report. ''' # Copyright 2007 Canonical Ltd. # Author: Martin Pitt <martin.pitt@ubuntu.com> from glob import glob import apport.hookutils APPORT_LOG = '/var/log/apport.log' def add_info(report): apport.hookutils.attach_file_if_exists(report, APPORT_LOG, 'ApportLog') reports = glob('/var/crash/*') if reports: report['CrashReports'] = apport.hookutils.command_output( ['stat', '-c', '%a:%u:%g:%s:%y:%x:%n'] + reports) �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/data/systemd/apport-forward.socket����������������������������������������������������0000644�0000000�0000000�00000000341�12677230222�020012� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[Unit] Description=Unix socket for apport crash forwarding ConditionVirtualization=container [Socket] ListenStream=/run/apport.socket SocketMode=0600 Accept=yes MaxConnections=10 Backlog=5 [Install] WantedBy=sockets.target �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/data/systemd/apport-forward@.service��������������������������������������������������0000644�0000000�0000000�00000000216�12677230222�020263� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[Unit] Description=Apport crash forwarding receiver Requires=apport-forward.socket [Service] Type=oneshot ExecStart=/usr/share/apport/apport ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/doc/crashdb-conf.txt������������������������������������������������������������������0000644�0000000�0000000�00000012517�12677230222�015077� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Principal CrashDB conf file =========================== The file is located in /etc/apport/crashdb.conf . This file contains information about the Crash Databases to use when sending a crash report. Here is an excerpt of the file: +----------------- default = 'ubuntu' databases = { 'ubuntu': { 'impl': 'launchpad', 'distro': 'ubuntu' 'bug_pattern_url': 'http://people.canonical.com/~ubuntu-archive/bugpatterns/bugpatterns.xml', 'dupdb_url': 'http://people.canonical.com/~ubuntu-archive/apport-duplicates', }, } +----------------- The 'default' parameter is used to specify the default database to use when getting a crash report. It's one of the names used as a label in the databases dictionary. Please note that package hooks can change the database to report to by setting the "CrashDB" field; please see package-hooks.txt for details of this. Standard options ================ All crash database implementations support the following options: - bug_pattern_url: URL to an XML file describing the bug patterns for this distribution. This can match existing bugs to arbitrary keys of a report with regular expressions, to prevent common problems from being reported over and over again. Please see apport.Report.search_bug_patterns() for the format. - dupdb_url: URL for the duplicate DB export, to prevent already known crashes from being reported again. This can be generated from an existing duplicate database SQLite file with "dupdb admin publish" (see manpage) or with the --publish-db option of crash-digger. - problem_types: List of "ProblemType:" values that this database accepts for reporting. E. g. you might set 'problem_types': ['Bug', 'Package'] to only get bug and package failure reports reported to this database, but not crash reports. If not present, all types of problems will be reported. Third Parties crashdb databases =============================== Third party packages can also ship a set of databases to use with Apport. Their configuration files should be located in /etc/apport/crashdb.conf.d/ and end with ".conf". Here is an example /etc/apport/crashdb.conf.d/test.conf file: +----------------- mydatabase = { 'impl': 'mycrashdb_impl', 'option1': 'myoption1', 'option2': 'myoption2' } mydatabase1 = { 'impl': 'mycrashdb_impl', 'option1': 'myoption3', 'option2': 'myoption4' } +----------------- The databases specified in this file will be merged into the 'databases' dictionary. The result is the equivalent of having the principal file: +----------------------- default = 'ubuntu' databases = { 'ubuntu': { 'impl': 'launchpad', 'bug_pattern_url': 'http://people.canonical.com/~ubuntu-archive/bugpatterns/bugpatterns.xml', 'distro': 'ubuntu' }, 'mydatabase': { 'impl': 'mycrashdb_impl', 'option1': 'myoption1', 'option2': 'myoption2' }, 'mydatabase1': { 'impl': 'mycrashdb_impl', 'option1': 'myoption3', 'option2': 'myoption4' } } +----------------------- Crash database implementations ============================== * "launchpad" uses bug reports against https://launchpad.net, either projects or distribution packages. Options: - distro: Name of the distribution in Launchpad - project: Name of the project in Launchpad (Note that exactly one of "distro" or "project" must be given.) - staging: If set, this uses staging instead of production (optional). This can be overriden or set by $APPORT_STAGING environment. - cache_dir: Path to a permanent cache directory; by default it uses a temporary one. (optional). This can be overridden or set by $APPORT_LAUNCHPAD_CACHE environment. - escalation_subscription: This subscribes the given person or team to a bug once it gets the 10th duplicate. - escalation_tag: This adds the given tag to a bug once it gets more than 10 duplicates. - initial_subscriber: The Launchpad user which gets subscribed to newly filed bugs (default: "apport"). It should be a bot user which the crash-digger instance runs as, as this will get to see all bug details immediately. - triaging_team: The Launchpad user/team which gets subscribed after updating a crash report bug by the retracer (default: "ubuntu-crashes-universe") - architecture: If set, this sets and watches out for needs-*-retrace tags of this architecture. This is useful when being used with apport-retrace and crash-digger to process crash reports of foreign architectures. Defaults to system architecture. Crash reports are always filed as private Launchpad bug. Bug reports are public by default, but a package hook can change this by adding a "LaunchpadPrivate" report field (NOT a crashdb option!) with any value, and adding a "LaunchpadSubscribe" report field with a list of initial subscribers. For example, your package hook might do this: def add_info(report): report['LaunchpadPrivate'] = '1' report['LaunchpadSubscribe'] = 'joe-hacker foobar-dev' * "memory" is a simple implementation of crash database interface which keeps everything in RAM. This is mainly useful for testing and debugging. The only supported option is "dummy_data"; if set to a non-False value, it will populate the database with some example reports. ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/doc/data-format.tex�������������������������������������������������������������������0000644�0000000�0000000�00000027540�12677230222�014730� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������\documentclass[DIV12,halfparskip]{scrartcl} \usepackage{booktabs} \title{The Apport crash report format\\ \vspace{1ex}\large Version 0.2} \author{Martin Pitt \texttt{<martin.pitt@ubuntu.com>}} \begin{document} \maketitle \tableofcontents \newpage \section{Introduction} Apport is a system for automatic problem reporting and feedback, with the following features: \begin{itemize} \item intercept program crashes right when they happen the first time \item collect potentially useful information about the crash and the OS environment \item can be automatically invoked for unhandled exceptions in other programming languages (e. g. for Python) \item can be automatically invoked for other problems that can be detected mechanically (such as package installation/upgrade failures from update-manager) \item easy to understand UI that informs the user about the crash and instructs them on how to proceed, \item written in a very modular way: user interfaces (such as Gtk/Qt), crash databases (such as Launchpad/Bugzilla), packaging systems (apt/dpkg/rpm), are all factorized \item independent of a particular desktop environment, Linux flavour, etc. \item very robust due to exhaustive test suite coverage \item includes tools for post-processing crashes, such as post-mortem generation of symbolic stack traces \end{itemize} The Apport home page\footnote{https://wiki.ubuntu.com/Apport} has some more information. All components of apport (crash interception, enrichment with information, UI presentation, crash database up/download, crash post-processing) work on a common report file format. This allows adopters of Apport to use only some parts and combine it with existing project specific solutions like as Gnome's bug-buddy, and get the option to eventually merge such systems. This document describes the structure of the report files and the pre-defined data fields. \section{File format} \subsection{Structure} Apport report files consist of key/value pairs based on the standard RFC822\footnote{http://www.ietf.org/rfc/rfc0822.txt} format, except that Apport uses case sensitive keys. Key name and value are separated by a colon and a space (``\verb!: !'' ). There must not be any blank lines and no lines that start with a non-whitespace character and do not start with a key name and a colon. \subsection{Keys} Key names consist of numbers (\verb!0! -- \verb!9!), English letters (\verb!a! -- \verb!z! and \verb!A! -- \verb!Z!), dots (\verb!.!), dashes (\verb!-!), and underscores (\verb!_!). Apport and its libraries treat them as case sensitive (unlike RFC822). \subsection{Textual values} Single line textual values directly follow the key name, colon and dot without any further encoding or escaping. There is no line length limit. In multi-line textual values, the line feed character (\verb!\n!, ASCII Code 10) is escaped by appending a single space (ASCII code 32). In other words, every line of a multi-line value but the first one must be indented by a single space which is not part of the value. \subsection{Binary values} This is a compressed format intended for binary data such as memory dumps. It can optionally be used for long textual values like large log files if they should be compressed. A binary value is introduced by the text ``\verb!base64!'' and a line break following the key name, colon, and space. After that, the binary data is encoded as follows: \begin{itemize} \item Write a gzip header \item Initialize a zlib compressor object. \item Read a block of (at most) 1 MiB (1,048,576 Bytes) of binary data. \item Compress this block with the zlib compressor. \item Generate the base64-encoding of the compressed block \item Write a space and the base64-encoded block to the report file. \item If there is more source data to be encoded, go to 2. \item flush the zlib compressor, append the gzip trailer, base64-encode the tail and write it to the report file, again with a space prefix. \end{itemize} With this algorithm the binary encoding format obeys the same text line folding convention than the textual values. \subsection{Ordering} In order to keep the report files readable by humans, the following conventions should be met: \begin{itemize} \item The textual values should be at the top, the binary values at the bottom of the file. This eases their inspection in web browsers, even with partial downloads. \item Within each group (textual/binary), the keys should appear in ascending alphabetical order. \end{itemize} Software that processes Apport crash report files must not rely on those conventions. It is acceptable to not follow them for performance reasons. \subsection{Example} This table shows an example data set: \begin{tabular}{lp{10cm}}\toprule \textbf{Key} & \textbf{Value}\\ \midrule Short1 & \verb!Single line value!\\ Date & \verb!December 24, 2000!\\ Long & \verb!Multiple lines!\par\verb! with leading!\par\verb!space!\\ TestBin & \verb!ABABABABABABABABABAB\0\0\0\0\0\0\0\0\0\0ZZZZZZZZZZ!\\ \bottomrule \end{tabular} This would be encoded as: \begin{verbatim} Date: December 24, 2000 Long: Multiple lines with leading space Short1: Single line value TestBin: base64 eJw= c3RyxIAMcBAFAG55BXk= \end{verbatim} \section{Standard keys} In order to provide a basic level of interoperability between all systems using the Apport report format, a number of standard key names and semantics are defined. This is particularly important for tools which automatically reprocess problem reports. Implementations can add additional fields at will, especially if these are mainly aimed at human examination. Field names which will be processed mechanically should be added to this standard document eventually. \subsection{Generic fields} The following keys apply to all types of problem reports. They classify the problem type and give information about the date, operating system and user environment. \begin{description} \item [ProblemType:] (required) Classification of the problem type; Currently defined values are \verb!Crash!, \verb!KernelOops!, \verb!KernelCrash!,\verb!Package! (for failed install/upgrade of a software package), and \verb!Bug! (for general bug reports) \item [Date:] (required) Date and time of the problem report in ISO format (see \verb!asctime(3)!) \item [Uname:] (required) Output of \verb!uname -srm! \item [DistroRelease:] (optional) Name and version of the operating system. Read from NAME and VERSION\_ID in \verb!/etc/os-release!, or from \verb!lsb_release -sir!. \item [Architecture:] (optional) OS specific notation of processor/system architecture (e. g. \verb!i386!) \item [UserGroups:] (optional) System groups of the user reporting the problem; for privacy reasons this should only include IDs smaller than 500, no groups which belong to other real users. \item [Tags:] (optional) A space-delimited list of tage that may be passed to the crash database, depending on which one is used. \end{description} \subsection{Process specific data fields} The following fields describe interesting properties of a particular process. This always applies to \verb!ProblemType!s \verb!Crash! and also to \verb!Bug! if the bug is reported against a running process (as opposed to just a package). \begin{description} \item [ExecutablePath:] (required) Contents of \verb!/proc/pid/exe! for ELF files; if the process is an interpreted script, this is the script path instead \item [InterpreterPath:] (required for scripts) Contents of \verb!/proc/pid/exe! if the process is an interpreted script \item [ProcEnviron:] (required) A subset of the process' environment, from \verb!/proc/pid/env!; this should only show some standard variables that do not disclose potentially sensitive information, like \verb!$SHELL!, \verb!$LANG!, and \verb!$LC_*!. \verb!$PATH! should only be examined for being the vendor default (not mentioned at all then), containing nonstandard system directories ("'custom, no user"'), or containing paths from /home ("'custom, user"'). \item [ProcCmdline:] (required) Contents of \verb!/proc/pid/cmdline! \item [ProcStatus:] (required) Contents of \verb!/proc/pid/status! \item [ProcMaps:] (required) Contents of \verb!/proc/pid/maps! \item [ProcAttrCurrent:] (optional) Contents of \verb!/proc/pid/attr/current!; this contains the process' security context if there is a Linux Security module enabled that makes use of that interface (e.g. SELinux, AppArmor). \end{description} \subsection{Signal crash specific data fields} The following fields describe properties of a process that crashed due to a signal. This applies to \verb!ProblemType! \verb!Crash! if a core dump is available. Note that \verb!Crash! is also used for unhandled exceptions of programs written in scripting languages, in which case there is no core dump. \begin{description} \item [CoreDump:] (optional) core dump (binary value); this can also be a 'minidump' format or any other useful image of the stack. \item [Stacktrace:] (optional) Stack trace (e. g. produced by gdb's \verb!bt full! command or minidump processor) \item [ThreadStacktrace:] (optional) Threaded stack trace (e. g. produced by the gdb command \verb!thread apply all bt full! or minidump processor) \item [StacktraceTop:] (optional) First five frames of \verb!Stacktrace! with the leading addresses and local variables removed; this is intended to be evaluated for automatic duplicate detection \item [Registers:] (optional) Register dump (e. g. produced by gdb's \verb!info registers! command) \item [Disassembly:] (optional) Disassembly of the code leading to the crash (e. g. produced by gdb's \verb!x/16i $pc! command) \end{description} Note that every crash report must contain \verb!CoreDump! or a symbolic \verb!Stacktrace! in order to be useful at all. The recommended approach is to include the stack trace for the initial report, and drop it once it has been recombined with debug symbols to produce a full Stacktrace. \subsection{Package specific data fields} The following fields describe properties of a package and its dependencies. This applies to \verb!ProblemType!s \verb!Crash!, \verb!Package!, and \verb!Bug! if the bug applies to a particular package (as opposed to being a generic OS bug). \begin{description} \item [Package:] (required) Package name and version, separated by space \item [PackageArchitecture:] (required if different from \verb!Architecture!) Processor architecture the package was built for; there are some architectures (like \verb!x86_64! or \verb!sparc64!) which support multiple package architectures \item [Dependencies:] (required) Package names and versions of all transitive dependencies of the package; one line per package \item [SourcePackage:] (optional) The name of the corresponding source package \end{description} Optionally, the name and version in \verb!Package! and \verb!Dependencies! can be followed by a list of modified files in that package, enclosed in brackets. Example: \begin{verbatim} Package: bash 3.2-1 Dependencies: libreadline5 5.2-3 [modified: /lib/libreadline.so.5] libc6 2.5-1 [modified: /etc/ld.so.conf] \end{verbatim} \subsection{Kernel specific data fields} The following fields describe properties of a kernel oops/crash. This applies to \verb!ProblemType! \verb!Kernel!. \begin{description} \item [ProcVersion:] (required) Contents of \verb!/proc/version! \item [ProcCpuinfo:] (required) Contents of \verb!/proc/cpuinfo! \item [ProcModules:] (required) Contents of \verb!/proc/modules! \item [ProcCmdline:] (required) Contents of \verb!/proc/cmdline! \item [Dmesg:] (required) Output of \verb!dmesg! \item [LsPciVV:] (optional) Output of \verb!lspci -vv! \item [LsPciVVN:] (optional) Output of \verb!lspci -vvn! \end{description} \end{document} ����������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/doc/package-hooks.txt�����������������������������������������������������������������0000644�0000000�0000000�00000012221�12677230222�015252� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Apport per-package hooks ======================== In addition to the generic information apport collects, arbitrary package-specific data can be included in the report by adding package hooks. For example: - Relevant log files - Configuration files - Current system state Hooks can also ask interactive questions, cause a crash to be ignored, or the problem can be marked as "not reportable" with an explanation. This happens by placing a Python code snippet into /usr/share/apport/package-hooks/<packagename>.py or /usr/share/apport/package-hooks/source_<sourcepackagename>.py Apport will import this and call a function add_info(report, ui) and pass two arguments: - The currently processed problem report. This is an instance of apport.Report, and should mainly be used as a dictionary (keys have to be alphanumeric and may contain dots, dashes, or underscores). Please see the Python help of this class for details: python -c 'import apport; help(apport.Report)' - An instance of apport.ui.HookUI which can be used to interactively get more information from the user, such as asking for doing a particular action, yes/no question, multiple choices, or a file selector. Please see the Python help for available functions: python -c 'import apport.ui; help(apport.ui.HookUI)' Hook behaviour ============== If you just add information in hooks, Apport will always proceed with filing a report. You can influence this in various ways: * The hook detects a situation which should not be reported as a problem, because they happen on known-bad hardware, from a third-party repository, or other situations. This can be achieved by adding a field report['UnreportableReason'] = _('explanation') Such reports are displayed by the apport frontends as unreportable with the given explanation. Please ensure proper i18n for the texts. * The user cancelled an interactive question for which the hook requires an answer. Then you should call raise StopIteration to cancel the problem report submission. For special classes of problems where Apport does not have a builtin crash duplicate detection (such as for signal and Python crashes), hooks can also set report['DuplicateSignature']. This should both uniquely identify the problem class (e. g. "XorgGPUFreeze") as well as the particular problem (i. e. variables which tell this instance apart from different problems). Package independent hooks ========================= Similarly to per-package hooks, you can also have additional information collected for any crash or bug. For example, you might want to include violation logs from SELinux or AppArmor for every crash. The interface and file format is identical to the per-package hooks, except that they need to be put into /usr/share/apport/general-hooks/<hookname>.py The <hookname> can be arbitrary and should describe the functionality. Tags ==== Some bug tracking systems support tags to further categorize bug reports and make searching/duplication easier. Hooks can set tags with report['Tags'] = 'tag1 tag2' i. e. a space separated list of tag names. Customize the crash DB to use ============================= To use another crash database than the default one, you should create an hook that adds a 'CrashDB' field with the name of the database to use. See /etc/apport/crashdb.conf and /etc/apport/crashdb.conf.d/*.conf for available databases. If there is no existing database, or you do not want to ship a configuration, the 'CrashDB' field can also contain the DB specification itself, i. e. what would otherwise be in /etc/apport/crashdb.conf.d/*.conf. Example: report['CrashDB'] = '{ "impl": "launchpad", "project": "foo", "my_option": "1"}' Please see crashdb-conf.txt for a description of available implementations and options. Standard hook functions ======================= If you write hooks, please have a look at the apport.hookutils module first: python -c 'import apport.hookutils; help(apport.hookutils)' It provides readymade and safe functions many standard situations, such as getting a command's output, attaching a file's contents, attaching hardware related information, etc. Examples ======== Trivial example: To attach a log file /var/log/foo.log for crashes in binary package foo, put this into /usr/share/apport/package-hooks/foo.py: ------------ 8< ---------------- import os.path def add_info(report, ui): if os.path.exists('/var/log/foo.log'): report['FooLog'] = open('/var/log/foo.log').read() ------------ 8< ---------------- Example with an interactive question and attaching sound hardware information: ------------ 8< ---------------- import apport.hookutils def add_info(report, ui): apport.hookutils.attach_alsa(report) ui.information('Now playing test sound...') report['AplayOut'] = apport.hookutils.command_output(['aplay', '/usr/share/sounds/question.wav']) response = ui.yesno('Did you hear the sound?') if response == None: # user cancelled raise StopIteration report['SoundAudible'] = str(response) ------------ 8< ---------------- Apport itself ships a source package hook, see /usr/share/apport/package-hooks/source_apport.py. �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/doc/symptoms.txt����������������������������������������������������������������������0000644�0000000�0000000�00000004717�12677230222�014444� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Apport symptom scripts ====================== In some cases it is quite hard for a bug reporter to figure out which package to file a bug against, especially for functionality which spans multiple packages. For example, sound problems are divided between the kernel, alsa, pulseaudio, and gstreamer. Apport supports an extension of the notion of package hooks to do an interactive "symptom based" bug reporting. Calling the UI with just "-f" and not specifying any package name shows the available symptoms, the user selects the matching category, and the symptom scripts can do some question & answer game to finally figure out which package to file it against and which information to collect. Alternatively, the UIs can be invoked with "-s symptom-name". Structure ========= Symptom scripts go into /usr/share/apport/symptoms/symptomname.py, and have the following structure: ------------ 8< ---------------- description = 'One-line description' def run(report, ui): problem = ui.choice('What particular problem do you observe?', ['Thing 1', 'Thing 2', ... ]) # collect debugging information here, ask further questions, and figure out # package name return 'packagename' ------------ 8< ---------------- They need to define a run() method which can use the passed HookUI object for interactive questions (see package-hooks.txt for details about this). run() can optionally add information to the passed report object, such as tags. Before run() is called, Apport already added the OS and user information to the report object. After the symptom run() method, Apport adds package related information and calls the package hooks as usual. run() has to return the (binary) package name to file the bug against. Just as package hooks, if the user canceled an interactive question for which the script requires an answer, run() should raise StopIteration, which will stop the bug reporting process. Example ======= import apport description = 'External or internal storage devices (e. g. USB sticks)' def run(report, ui): problem = ui.choice('What particular problem do you observe?', ['Removable storage device is not mounted automatically', 'Internal hard disk partition cannot be mounted manually', # ... ] # collect debugging information here, ask further questions if not kernel_detected: return apport.packaging.get_kernel_package() if not udev_detected: return 'udev' return 'devicekit-disks' �������������������������������������������������apport-2.20.1/etc/apport/���������������������������������������������������������������������������0000755�0000000�0000000�00000000000�12677230222�013312� 5����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/etc/bash_completion.d/����������������������������������������������������������������0000755�0000000�0000000�00000000000�12677230222�015375� 5����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/etc/cron.daily/�����������������������������������������������������������������������0000755�0000000�0000000�00000000000�12677230222�014047� 5����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/etc/default/��������������������������������������������������������������������������0000755�0000000�0000000�00000000000�12677230222�013431� 5����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/etc/init.d/���������������������������������������������������������������������������0000755�0000000�0000000�00000000000�12677230222�013172� 5����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/etc/apport/blacklist.d/���������������������������������������������������������������0000755�0000000�0000000�00000000000�12677230222�015504� 5����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/etc/apport/crashdb.conf���������������������������������������������������������������0000644�0000000�0000000�00000002023�12677230222�015564� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# map crash database names to CrashDatabase implementations and URLs default = 'debug' databases = { 'ubuntu': { 'impl': 'launchpad', 'bug_pattern_url': 'http://people.canonical.com/~ubuntu-archive/bugpatterns/bugpatterns.xml', 'dupdb_url': 'http://people.canonical.com/~ubuntu-archive/apport-duplicates', 'distro': 'ubuntu', 'escalation_tag': 'bugpattern-needed', 'escalated_tag': 'bugpattern-written', }, 'fedora': { # NOTE this will change Fall '07 when RHT switches to bugzilla 3.x! 'impl': 'rhbugzilla', 'bug_pattern_url': 'http://qa.fedoraproject.org/apport/bugpatterns.xml', 'distro': 'fedora' }, 'debian': { 'impl': 'debian', 'distro': 'debian', 'smtphost': 'reportbug.debian.org', 'recipient': 'submit@bugs.debian.org', 'sender': '' }, 'debug': { # for debugging 'impl': 'memory', 'bug_pattern_url': '/tmp/bugpatterns.xml', 'distro': 'debug' }, } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/etc/apport/blacklist.d/README.blacklist�����������������������������������������������0000644�0000000�0000000�00000000331�12677230222�020330� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Blacklist for apport # If an executable path appears on any line in any file in # /etc/apport/blacklist.d/, apport will not generate a crash report # for it. Matches are exact only at the moment (no globbing etc.). �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/etc/bash_completion.d/apport_completion�����������������������������������������������0000644�0000000�0000000�00000014754�12677230222�021071� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # Apport bash-completion # ############################################################################### # get available symptoms _apport_symptoms () { local syms if [ -r /usr/share/apport/symptoms ]; then for FILE in $(ls /usr/share/apport/symptoms); do # hide utility files and symptoms that don't have a run() function if [[ ! "$FILE" =~ ^_.* && -n $(egrep "^def run\s*\(.*\):" /usr/share/apport/symptoms/$FILE) ]]; then syms="$syms ${FILE%.py}" fi done fi echo $syms } # completion when used without parameters _apport_parameterless () { local param # parameter-less completion # param= COMMAND parameters # package names # PIDs # Symptoms # any file param="$dashoptions \ $( apt-cache pkgnames $cur 2> /dev/null ) \ $( command ps axo pid | sed 1d ) \ $( _apport_symptoms ) \ $( compgen -G "${cur}*" )" COMPREPLY=( $( compgen -W "$param" -- $cur) ) } # apport-bug ubuntu-bug completion _apport-bug () { local cur dashoptions prev param COMPREPLY=() cur=`_get_cword` prev=${COMP_WORDS[COMP_CWORD-1]} # available options dashoptions='-h --help --save -v --version --tag -w --window' case "$prev" in ubuntu-bug | apport-bug) case "$cur" in -*) # parameter completion COMPREPLY=( $( compgen -W "$dashoptions" -- $cur ) ) ;; *) # no parameter given _apport_parameterless ;; esac ;; --save) COMPREPLY=( $( compgen -o default -G "$cur*" ) ) ;; -w | --window) dashoptions="--save --tag" COMPREPLY=( $( compgen -W "$dashoptions" -- $cur ) ) ;; -h | --help | -v | --version | --tag) # standalone parameters return 0 ;; *) # --save and --window make only sense once dashoptions="--tag" if ! [[ "${COMP_WORDS[*]}" =~ .*--save.* ]]; then dashoptions="--save $dashoptions" fi if ! [[ "${COMP_WORDS[*]}" =~ .*--window.* || "${COMP_WORDS[*]}" =~ .*\ -w\ .* ]]; then dashoptions="-w --window $dashoptions" fi case "$cur" in -*) # parameter completion COMPREPLY=( $( compgen -W "$dashoptions" -- $cur ) ) ;; *) _apport_parameterless ;; esac ;; esac } # apport-cli completion _apport-cli () { local cur dashoptions prev param COMPREPLY=() cur=`_get_cword` prev=${COMP_WORDS[COMP_CWORD-1]} # available options dashoptions='-h --help -f --file-bug -u --update-bug -s --symptom \ -c --crash-file --save -v --version --tag -w --window' case "$prev" in apport-cli) case "$cur" in -*) # parameter completion COMPREPLY=( $( compgen -W "$dashoptions" -- $cur ) ) ;; *) # no parameter given _apport_parameterless ;; esac ;; -f | --file-bug) param="-P --pid -p --package -s --symptom" COMPREPLY=( $( compgen -W "$param $(_apport_symptoms)" -- $cur) ) ;; -s | --symptom) COMPREPLY=( $( compgen -W "$(_apport_symptoms)" -- $cur) ) ;; --save) COMPREPLY=( $( compgen -o default -G "$cur*" ) ) ;; -c | --crash-file) # only show *.apport *.crash files COMPREPLY=( $( compgen -G "${cur}*.apport" compgen -G "${cur}*.crash" ) ) ;; -w | --window) dashoptions="--save --tag" COMPREPLY=( $( compgen -W "$dashoptions" -- $cur ) ) ;; -h | --help | -v | --version | --tag) # standalone parameters return 0 ;; *) dashoptions='--tag' # most parameters only make sense once if ! [[ "${COMP_WORDS[*]}" =~ .*--save.* ]]; then dashoptions="--save $dashoptions" fi if ! [[ "${COMP_WORDS[*]}" =~ .*--window.* || "${COMP_WORDS[*]}" =~ .*\ -w\ .* ]]; then dashoptions="-w --window $dashoptions" fi if ! [[ "${COMP_WORDS[*]}" =~ .*--symptom.* || "${COMP_WORDS[*]}" =~ .*\ -s\ .* ]]; then dashoptions="-s --symptom $dashoptions" fi if ! [[ "${COMP_WORDS[*]}" =~ .*--update.* || "${COMP_WORDS[*]}" =~ .*\ -u\ .* ]]; then dashoptions="-u --update $dashoptions" fi if ! [[ "${COMP_WORDS[*]}" =~ .*--file-bug.* || "${COMP_WORDS[*]}" =~ .*\ -f\ .* ]]; then dashoptions="-f --file-bug $dashoptions" fi if ! [[ "${COMP_WORDS[*]}" =~ .*--crash-file.* || "${COMP_WORDS[*]}" =~ .*\ -c\ .* ]]; then dashoptions="-c --crash-file $dashoptions" fi # use same completion as if no parameter is given case "$cur" in -*) # parameter completion COMPREPLY=( $( compgen -W "$dashoptions" -- $cur ) ) ;; *) _apport_parameterless ;; esac ;; esac } # apport-unpack completion _apport-unpack () { local cur prev COMPREPLY=() cur=`_get_cword` prev=${COMP_WORDS[COMP_CWORD-1]} case "$prev" in apport-unpack) # only show *.apport *.crash files COMPREPLY=( $( compgen -G "${cur}*.apport" compgen -G "${cur}*.crash" ) ) ;; esac } # apport-collect completion _apport-collect () { local cur prev COMPREPLY=() cur=`_get_cword` prev=${COMP_WORDS[COMP_CWORD-1]} case "$prev" in apport-collect) COMPREPLY=( $( compgen -W "-p --package --tag" -- $cur) ) ;; -p | --package) # list package names COMPREPLY=( $( apt-cache pkgnames $cur 2> /dev/null ) ) ;; --tag) # standalone parameter return 0 ;; *) # only complete -p/--package once if [[ "${COMP_WORDS[*]}" =~ .*\ -p.* || "${COMP_WORDS[*]}" =~ .*--package.* ]]; then COMPREPLY=( $( compgen -W "--tag" -- $cur) ) else COMPREPLY=( $( compgen -W "-p --package --tag" -- $cur) ) fi ;; esac } # bind completion to apport commands complete -F _apport-bug -o filenames -o dirnames ubuntu-bug complete -F _apport-bug -o filenames -o dirnames apport-bug complete -F _apport-cli -o filenames -o dirnames apport-cli complete -F _apport-unpack -o filenames -o dirnames apport-unpack complete -F _apport-collect apport-collect # vi: syntax=bash ��������������������apport-2.20.1/etc/cron.daily/apport�����������������������������������������������������������������0000755�0000000�0000000�00000000570�12677230222�015304� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh -e # clean all crash reports which are older than a week. [ -d /var/crash ] || exit 0 find /var/crash/. ! -name . -prune -type f \( \( -size 0 -a \! -name '*.upload*' -a \! -name '*.drkonqi*' \) -o -mtime +7 \) -exec rm -f -- '{}' \; find /var/crash/. ! -name . -prune -type d -regextype posix-extended -regex '.*/[0-9]{12}$' \( -mtime +7 \) -exec rm -Rf -- '{}' \; ����������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/etc/default/apport��������������������������������������������������������������������0000644�0000000�0000000�00000000225�12677230222�014660� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# set this to 0 to disable apport, or to 1 to enable it # you can temporarily override this with # sudo service apport start force_start=1 enabled=1 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/etc/init.d/apport���������������������������������������������������������������������0000755�0000000�0000000�00000005357�12677230222�014437� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#! /bin/sh ### BEGIN INIT INFO # Provides: apport # Required-Start: $local_fs $remote_fs # Required-Stop: $local_fs $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: # Short-Description: automatic crash report generation ### END INIT INFO DESC="automatic crash report generation" NAME=apport AGENT=/usr/share/apport/apport SCRIPTNAME=/etc/init.d/$NAME # Exit if the package is not installed [ -x "$AGENT" ] || exit 0 # read default file enabled=1 [ -e /etc/default/$NAME ] && . /etc/default/$NAME || true # Define LSB log_* functions. # Depend on lsb-base (>= 3.0-6) to ensure that this file is present. . /lib/lsb/init-functions # # Function that starts the daemon/service # do_start() { # Return # 0 if daemon has been started # 1 if daemon was already running # 2 if daemon could not be started [ -e /var/crash ] || mkdir -p /var/crash chmod 1777 /var/crash # check for kernel crash dump, convert it to apport report if [ -e /var/crash/vmcore ] || [ -n "`ls /var/crash | egrep ^[0-9]{12}$`" ];then /usr/share/apport/kernel_crashdump || true fi # check for incomplete suspend/resume or hibernate if [ -e /var/lib/pm-utils/status ]; then /usr/share/apport/apportcheckresume || true rm -f /var/lib/pm-utils/status rm -f /var/lib/pm-utils/resume-hang.log fi echo "|$AGENT %p %s %c %P" > /proc/sys/kernel/core_pattern echo 2 > /proc/sys/fs/suid_dumpable } # # Function that stops the daemon/service # do_stop() { # Return # 0 if daemon has been stopped # 1 if daemon was already stopped # 2 if daemon could not be stopped # other if a failure occurred echo 0 > /proc/sys/fs/suid_dumpable # Check for a hung resume. If we find one try and grab everything # we can to aid in its discovery. if [ -e /var/lib/pm-utils/status ]; then ps -wwef >/var/lib/pm-utils/resume-hang.log fi if [ "`dd if=/proc/sys/kernel/core_pattern count=1 bs=1 2>/dev/null`" != "|" ]; then return 1 else echo "core" > /proc/sys/kernel/core_pattern fi } case "$1" in start) # don't start in containers grep -zqs '^container=' /proc/1/environ && exit 0 [ "$enabled" = "1" ] || [ "$force_start" = "1" ] || exit 0 [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC:" "$NAME" do_start case "$?" in 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; esac ;; stop) # don't stop in containers grep -zqs '^container=' /proc/1/environ && exit 0 [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC:" "$NAME" do_stop case "$?" in 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; esac ;; restart|force-reload) $0 stop || true $0 start ;; *) echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2 exit 3 ;; esac : ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/gtk/apport-gtk������������������������������������������������������������������������0000755�0000000�0000000�00000056146�12677230222�014051� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/python3 '''GTK Apport user interface.''' # Copyright (C) 2007-2012 Canonical Ltd. # Author: Martin Pitt <martin.pitt@ubuntu.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import os.path, sys, subprocess, os, re from gi.repository import GLib, Wnck, GdkX11, Gdk Gdk # pyflakes; needed for GdkX11 try: from gi.repository import Gtk except RuntimeError as e: # probably session just closing down? sys.stderr.write('Cannot start: %s\n' % str(e)) sys.exit(1) import apport from apport import unicode_gettext as _ import apport.ui have_display = os.environ.get('DISPLAY') or os.environ.get('WAYLAND_DISPLAY') def find_xid_for_pid(pid): '''Return the X11 Window (xid) for the supplied process ID.''' pid = int(pid) screen = Wnck.Screen.get_default() screen.force_update() for window in screen.get_windows(): if window.get_pid() == pid: return window.get_xid() return None class GTKUserInterface(apport.ui.UserInterface): '''GTK UserInterface.''' def w(self, widget): '''Shortcut for getting a widget.''' return self.widgets.get_object(widget) def __init__(self): apport.ui.UserInterface.__init__(self) # load UI Gtk.Window.set_default_icon_name('apport') self.widgets = Gtk.Builder() self.widgets.set_translation_domain(self.gettext_domain) self.widgets.add_from_file(os.path.join(os.path.dirname(sys.argv[0]), 'apport-gtk.ui')) # connect signal handlers assert self.widgets.connect_signals(self) is None # initialize tree model and view self.tree_model = self.w('details_treestore') column = Gtk.TreeViewColumn('Report', Gtk.CellRendererText(), text=0) self.w('details_treeview').append_column(column) self.spinner = self.add_spinner_over_treeview(self.w('details_overlay')) self.md = None self.desktop_info = None # # ui_* implementation of abstract UserInterface classes # def add_spinner_over_treeview(self, overlay): '''Reparents a treeview in a GtkOverlay, then layers a GtkSpinner centered on top.''' # TODO handle the expose event of the spinner so that we can draw on # the treeview's viewport's window instead. spinner = Gtk.Spinner() spinner.set_size_request(42, 42) align = Gtk.Alignment() align.set_valign(Gtk.Align.CENTER) align.set_halign(Gtk.Align.CENTER) align.add(spinner) overlay.add_overlay(align) overlay.show() align.show() spinner.hide() return spinner def ui_update_view(self, shown_keys=None): # do nothing if the dialog is already destroyed when the data # collection finishes if not self.w('details_treeview').get_property('visible'): return if shown_keys: keys = set(self.report.keys()) & set(shown_keys) else: keys = self.report.keys() # show the most interesting items on top keys = sorted(keys) for k in ('Traceback', 'StackTrace', 'Title', 'ProblemType', 'Package', 'ExecutablePath'): if k in keys: keys.remove(k) keys.insert(0, k) self.tree_model.clear() for key in keys: # ignore internal keys if key.startswith('_'): continue keyiter = self.tree_model.insert_before(None, None) self.tree_model.set_value(keyiter, 0, key) valiter = self.tree_model.insert_before(keyiter, None) if not hasattr(self.report[key], 'gzipvalue') and \ hasattr(self.report[key], 'isspace') and \ not self.report._is_binary(self.report[key]): v = self.report[key] if len(v) > 4000: v = v[:4000] if type(v) == bytes: v += b'\n[...]' else: v += '\n[...]' if type(v) == bytes: v = v.decode('UTF-8', errors='replace') self.tree_model.set_value(valiter, 0, v) # expand the row if the value has less than 5 lines if len(list(filter(lambda c: c == '\n', self.report[key]))) < 4: self.w('details_treeview').expand_row( self.tree_model.get_path(keyiter), False) else: self.tree_model.set_value(valiter, 0, _('(binary data)')) def get_system_application_title(self): '''Get dialog title for a non-.desktop application. If the system application was started from the console, assume a developer who would appreciate the application name having a more prominent placement. Otherwise, provide a simple explanation for more novice users. ''' env = self.report.get('ProcEnviron', '') from_console = 'TERM=' in env and 'SHELL=' in env if from_console: if 'ExecutablePath' in self.report: t = (_('Sorry, the application %s has stopped unexpectedly.') % os.path.basename(self.report['ExecutablePath'])) else: t = (_('Sorry, %s has closed unexpectedly.') % self.cur_package) else: if 'DistroRelease' not in self.report: self.report.add_os_info() t = _('Sorry, %s has experienced an internal error.') % self.report['DistroRelease'] return t def setup_bug_report(self): # This is a bug generated through `apport-bug $package`, or # `apport-collect $id`. # avoid collecting information again, in this mode we already have it if 'DistroRelease' in self.report: self.collect_called = True self.ui_update_view() self.w('title_label').set_label('<big><b>%s</b></big>' % _('Send problem report to the developers?')) self.w('title_label').show() self.w('subtitle_label').hide() self.w('closed_button').hide() self.w('ignore_future_problems').hide() self.w('show_details').clicked() self.w('show_details').hide() self.w('cancel_button').show() self.w('cancel_button').connect('clicked', Gtk.main_quit) self.w('continue_button').set_label(_('Send')) self.w('send_error_report').set_active(True) self.w('send_error_report').hide() def set_modal_for(self, xid): gdk_window = self.w('dialog_crash_new') gdk_window.realize() gdk_window = gdk_window.get_window() gdk_display = GdkX11.X11Display.get_default() foreign = GdkX11.X11Window.foreign_new_for_display(gdk_display, xid) gdk_window.set_transient_for(foreign) gdk_window.set_modal_hint(True) def ui_present_report_details(self, allowed_to_report=True, modal_for=None): icon = None self.collect_called = False report_type = self.report.get('ProblemType') self.w('details_scrolledwindow').hide() self.w('show_details').set_label(_('Show Details')) self.tree_model.clear() if allowed_to_report: self.w('send_error_report').set_active(True) self.w('send_error_report').show() else: self.w('send_error_report').set_active(False) self.w('send_error_report').hide() self.w('examine').set_visible(self.can_examine_locally()) self.w('continue_button').set_label(_('Continue')) self.w('cancel_button').hide() if modal_for is not None and 'DISPLAY' in os.environ: xid = find_xid_for_pid(modal_for) if xid: self.set_modal_for(xid) if report_type == 'Hang': self.w('ignore_future_problems').set_active(False) self.w('ignore_future_problems').hide() self.w('closed_button').show() self.w('closed_button').set_label(_('Force Closed')) self.w('continue_button').set_label(_('Relaunch')) self.w('subtitle_label').show() self.w('subtitle_label').set_label( 'You can wait to see if it wakes up, or close or relaunch it.') self.desktop_info = self.get_desktop_entry() if self.desktop_info: icon = self.desktop_info.get('icon') name = self.desktop_info['name'] name = GLib.markup_escape_text(name) title = _('The application %s has stopped responding.') % name else: icon = 'distributor-logo' name = os.path.basename(self.report['ExecutablePath']) title = _('The program "%s" has stopped responding.') % name self.w('title_label').set_label('<big><b>%s</b></big>' % title) elif not self.report_file or report_type == 'Bug': self.setup_bug_report() elif report_type == 'KernelCrash' or report_type == 'KernelOops': self.w('ignore_future_problems').set_active(False) self.w('ignore_future_problems').hide() self.w('title_label').set_label('<big><b>%s</b></big>' % self.get_system_application_title()) self.w('closed_button').hide() self.w('subtitle_label').hide() icon = 'distributor-logo' elif report_type == 'Package': package = self.report.get('Package') if package: self.w('subtitle_label').set_label(_('Package: %s') % package) self.w('subtitle_label').show() else: self.w('subtitle_label').hide() self.w('closed_button').hide() self.w('ignore_future_problems').hide() self.w('title_label').set_label( _('Sorry, a problem occurred while installing software.')) else: # Regular crash. self.desktop_info = self.get_desktop_entry() if self.desktop_info: icon = self.desktop_info.get('icon') n = self.desktop_info['name'] n = GLib.markup_escape_text(n) if report_type == 'RecoverableProblem': t = _('The application %s has experienced ' 'an internal error.') % n else: t = _('The application %s has closed unexpectedly.') % n self.w('title_label').set_label('<big><b>%s</b></big>' % t) self.w('subtitle_label').hide() pid = apport.ui.get_pid(self.report) still_running = pid and apport.ui.still_running(pid) if 'ProcCmdline' not in self.report or still_running: self.w('closed_button').hide() self.w('continue_button').set_label(_('Continue')) else: self.w('closed_button').show() self.w('closed_button').set_label(_('Leave Closed')) self.w('continue_button').set_label(_('Relaunch')) else: icon = 'distributor-logo' if report_type == 'RecoverableProblem': title_text = _('The application %s has experienced ' 'an internal error.') % self.cur_package else: title_text = self.get_system_application_title() self.w('title_label').set_label('<big><b>%s</b></big>' % title_text) self.w('subtitle_label').show() self.w('subtitle_label').set_label( _('If you notice further problems, ' 'try restarting the computer.')) self.w('closed_button').hide() self.w('continue_button').set_label(_('Continue')) self.w('ignore_future_problems').set_label(_('Ignore future problems of this type')) if self.report.get('CrashCounter'): self.w('ignore_future_problems').show() else: self.w('ignore_future_problems').hide() if report_type == 'RecoverableProblem': body = self.report.get('DialogBody', '') if body: del self.report['DialogBody'] self.w('subtitle_label').show() # Set a maximum size for the dialog body, so developers do # not try to shove entire log files into this dialog. self.w('subtitle_label').set_label(body[:1024]) if icon: from gi.repository import GdkPixbuf builtin = Gtk.IconLookupFlags.USE_BUILTIN app_icon = self.w('application_icon') theme = Gtk.IconTheme.get_default() try: pb = theme.load_icon(icon, 42, builtin).copy() overlay = theme.load_icon('dialog-error', 16, builtin) overlay_w = overlay.get_width() overlay_h = overlay.get_height() off_x = pb.get_width() - overlay_w off_y = pb.get_height() - overlay_h overlay.composite(pb, off_x, off_y, overlay_w, overlay_h, off_x, off_y, 1, 1, GdkPixbuf.InterpType.BILINEAR, 255) if app_icon.get_parent(): # work around LP#938090 app_icon.set_from_pixbuf(pb) except GLib.GError: self.w('application_icon').set_from_icon_name( 'dialog-error', Gtk.IconSize.DIALOG) else: self.w('application_icon').set_from_icon_name( 'dialog-error', Gtk.IconSize.DIALOG) d = self.w('dialog_crash_new') if 'DistroRelease' in self.report: d.set_title(self.report['DistroRelease'].split()[0]) d.set_resizable(self.w('details_scrolledwindow').get_property('visible')) d.show() # don't steal focus when being called without arguments (i. e. # automatically launched) if len(sys.argv) == 1: d.set_focus_on_map(False) return_value = {'report': False, 'blacklist': False, 'restart': False, 'examine': False} def dialog_crash_dismissed(widget): self.w('dialog_crash_new').hide() if widget is self.w('dialog_crash_new'): Gtk.main_quit() return elif widget is self.w('examine'): return_value['examine'] = True Gtk.main_quit() return if self.w('send_error_report').get_active(): return_value['report'] = True if self.w('ignore_future_problems').get_active(): return_value['blacklist'] = True if widget == self.w('continue_button') and self.desktop_info: return_value['restart'] = True Gtk.main_quit() self.w('dialog_crash_new').connect('destroy', dialog_crash_dismissed) self.w('continue_button').connect('clicked', dialog_crash_dismissed) self.w('closed_button').connect('clicked', dialog_crash_dismissed) self.w('examine').connect('clicked', dialog_crash_dismissed) Gtk.main() return return_value def _ui_message_dialog(self, title, text, _type, buttons=Gtk.ButtonsType.CLOSE): self.md = Gtk.MessageDialog(message_type=_type, buttons=buttons) if 'http://' in text or 'https://' in text: if not isinstance(text, bytes): text = text.encode('UTF-8') text = GLib.markup_escape_text(text) text = re.sub(r'(https?://[a-zA-Z0-9._-]+(?:[a-zA-Z0-9_#?%/-])*)', r'<a href="\1">\1</a>', text) # turn URLs into links self.md.set_markup(text) else: # work around gnome #620579 self.md.set_property('text', text) self.md.set_title(title) result = self.md.run() self.md.hide() while Gtk.events_pending(): Gtk.main_iteration_do(False) self.md = None return result def ui_info_message(self, title, text): self._ui_message_dialog(title, text, Gtk.MessageType.INFO) def ui_error_message(self, title, text): self._ui_message_dialog(title, text, Gtk.MessageType.ERROR) def ui_shutdown(self): Gtk.main_quit() def ui_start_upload_progress(self): '''Open a window with an definite progress bar, telling the user to wait while debug information is being uploaded.''' self.w('progressbar_upload').set_fraction(0) self.w('window_report_upload').show() while Gtk.events_pending(): Gtk.main_iteration_do(False) def ui_set_upload_progress(self, progress): '''Set the progress bar in the debug data upload progress window to the given ratio (between 0 and 1, or None for indefinite progress). This function is called every 100 ms.''' if progress: self.w('progressbar_upload').set_fraction(progress) else: self.w('progressbar_upload').set_pulse_step(0.1) self.w('progressbar_upload').pulse() while Gtk.events_pending(): Gtk.main_iteration_do(False) def ui_stop_upload_progress(self): '''Close debug data upload progress window.''' self.w('window_report_upload').hide() while Gtk.events_pending(): Gtk.main_iteration_do(False) def ui_start_info_collection_progress(self): # show a spinner if we already have the main window if self.w('dialog_crash_new').get_property('visible'): self.spinner.show() self.spinner.start() elif self.crashdb.accepts(self.report): # show a progress dialog if our DB accepts the crash self.w('progressbar_information_collection').set_fraction(0) self.w('window_information_collection').show() while Gtk.events_pending(): Gtk.main_iteration_do(False) def ui_pulse_info_collection_progress(self): if self.w('window_information_collection').get_property('visible'): self.w('progressbar_information_collection').pulse() # for a spinner we just need to handle events while Gtk.events_pending(): Gtk.main_iteration_do(False) def ui_stop_info_collection_progress(self): if self.w('window_information_collection').get_property('visible'): self.w('window_information_collection').hide() else: self.spinner.hide() self.spinner.stop() while Gtk.events_pending(): Gtk.main_iteration_do(False) def ui_question_yesno(self, text): '''Show a yes/no question. Return True if the user selected "Yes", False if selected "No" or "None" on cancel/dialog closing. ''' result = self._ui_message_dialog('', text, Gtk.MessageType.QUESTION, Gtk.ButtonsType.YES_NO) if result == Gtk.ResponseType.YES: return True if result == Gtk.ResponseType.NO: return False return None def ui_question_choice(self, text, options, multiple): '''Show an question with predefined choices. options is a list of strings to present. If multiple is True, they should be check boxes, if multiple is False they should be radio buttons. Return list of selected option indexes, or None if the user cancelled. If multiple == False, the list will always have one element. ''' d = self.w('dialog_choice') d.set_default_size(400, -1) self.w('label_choice_text').set_label(text) # remove previous choices for child in self.w('vbox_choices').get_children(): child.destroy() b = None for option in options: if multiple: b = Gtk.CheckButton.new_with_label(option) else: # use previous radio button as group; work around GNOME#635253 if b: b = Gtk.RadioButton.new_with_label_from_widget(b, option) else: b = Gtk.RadioButton.new_with_label([], option) self.w('vbox_choices').pack_start(b, True, True, 0) self.w('vbox_choices').show_all() result = d.run() d.hide() if result != Gtk.ResponseType.OK: return None index = 0 result = [] for c in self.w('vbox_choices').get_children(): if c.get_active(): result.append(index) index += 1 return result def ui_question_file(self, text): '''Show a file selector dialog. Return path if the user selected a file, or None if cancelled. ''' md = Gtk.FileChooserDialog( text, parent=self.w('window_information_collection'), buttons=(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, Gtk.STOCK_OPEN, Gtk.ResponseType.OK)) result = md.run() md.hide() while Gtk.events_pending(): Gtk.main_iteration_do(False) if result == Gtk.ResponseType.OK: return md.get_filenames()[0] else: return None def ui_run_terminal(self, command): terminals = ['x-terminal-emulator', 'gnome-terminal', 'terminator', 'xfce4-terminal', 'xterm'] program = None for t in terminals: program = GLib.find_program_in_path(t) if program: break if not command: # test mode return have_display and program is not None subprocess.call([program, '-e', command]) # # Event handlers # def on_show_details_clicked(self, widget): sw = self.w('details_scrolledwindow') if sw.get_property('visible'): self.w('dialog_crash_new').set_resizable(False) sw.hide() widget.set_label(_('Show Details')) else: self.w('dialog_crash_new').set_resizable(True) sw.show() widget.set_label(_('Hide Details')) if not self.collect_called: self.collect_called = True self.ui_update_view(['ExecutablePath']) GLib.idle_add(lambda: self.collect_info(on_finished=self.ui_update_view)) return True def on_progress_window_close_event(self, widget, event=None): self.w('window_information_collection').hide() self.w('window_report_upload').hide() sys.exit(0) return True if __name__ == '__main__': if not have_display: apport.fatal('This program needs a running X session. Please see "man apport-cli" for a command line version of Apport.') app = GTKUserInterface() app.run_argv() ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/gtk/apport-gtk.desktop.in�������������������������������������������������������������0000644�0000000�0000000�00000000406�12677230222�016107� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[Desktop Entry] _Name=Report a problem... _Comment=Report a malfunction to the developers Exec=/usr/share/apport/apport-gtk -c %f Icon=apport Terminal=false Type=Application MimeType=text/x-apport; Categories=GNOME;GTK;Utility; NoDisplay=true StartupNotify=true ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/gtk/apport-gtk.ui���������������������������������������������������������������������0000644�0000000�0000000�00000065410�12677230222�014454� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <interface> <!-- interface-requires gtk+ 3.0 --> <object class="GtkTreeStore" id="details_treestore"> <columns> <!-- column-name gchararray1 --> <column type="gchararray"/> </columns> </object> <object class="GtkDialog" id="dialog_choice"> <property name="can_focus">False</property> <property name="border_width">5</property> <property name="title" translatable="yes">Apport</property> <property name="modal">True</property> <property name="type_hint">normal</property> <child internal-child="vbox"> <object class="GtkBox" id="dialog-vbox6"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="orientation">vertical</property> <property name="spacing">2</property> <child internal-child="action_area"> <object class="GtkButtonBox" id="dialog-action_area6"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="layout_style">end</property> <child> <object class="GtkButton" id="button7"> <property name="label" translatable="yes">Cancel</property> <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">True</property> <property name="use_action_appearance">False</property> </object> <packing> <property name="expand">False</property> <property name="fill">False</property> <property name="position">0</property> </packing> </child> <child> <object class="GtkButton" id="button13"> <property name="label" translatable="yes">OK</property> <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">True</property> <property name="use_action_appearance">False</property> </object> <packing> <property name="expand">False</property> <property name="fill">False</property> <property name="position">1</property> </packing> </child> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="pack_type">end</property> <property name="position">0</property> </packing> </child> <child> <object class="GtkVBox" id="vbox2"> <property name="visible">True</property> <property name="can_focus">False</property> <child> <object class="GtkLabel" id="label_choice_text"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="xalign">0</property> <property name="label"><label></property> </object> <packing> <property name="expand">False</property> <property name="fill">False</property> <property name="position">0</property> </packing> </child> <child> <object class="GtkVBox" id="vbox_choices"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="spacing">5</property> <property name="homogeneous">True</property> <child> <placeholder/> </child> </object> <packing> <property name="expand">True</property> <property name="fill">True</property> <property name="padding">10</property> <property name="position">1</property> </packing> </child> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="padding">10</property> <property name="position">1</property> </packing> </child> </object> </child> <action-widgets> <action-widget response="-6">button7</action-widget> <action-widget response="-5">button13</action-widget> </action-widgets> </object> <object class="GtkWindow" id="dialog_crash_new"> <property name="can_focus">False</property> <property name="border_width">12</property> <property name="title" translatable="yes">Crash report</property> <property name="modal">True</property> <property name="window_position">center</property> <child> <object class="GtkBox" id="box1"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="orientation">vertical</property> <property name="spacing">12</property> <child> <object class="GtkBox" id="box4"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="spacing">12</property> <child> <object class="GtkImage" id="application_icon"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="valign">start</property> <property name="icon-name">dialog-error</property> <property name="icon-size">6</property> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">0</property> </packing> </child> <child> <object class="GtkBox" id="box5"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="orientation">vertical</property> <property name="spacing">12</property> <child> <object class="GtkLabel" id="title_label"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="xalign">0</property> <property name="label" translatable="yes"><big><b>Sorry, an internal error happened.</b></big></property> <property name="use_markup">True</property> <property name="wrap">True</property> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">0</property> </packing> </child> <child> <object class="GtkLabel" id="subtitle_label"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="xalign">0</property> <property name="label" translatable="yes">If you notice further problems, try restarting the computer.</property> <property name="wrap">True</property> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">1</property> </packing> </child> <child> <object class="GtkOverlay" id="details_overlay"> <child> <object class="GtkScrolledWindow" id="details_scrolledwindow"> <property name="height_request">250</property> <property name="can_focus">True</property> <property name="shadow_type">in</property> <child> <object class="GtkTreeView" id="details_treeview"> <property name="visible">True</property> <property name="can_focus">True</property> <property name="model">details_treestore</property> <property name="headers_visible">False</property> <child internal-child="selection"> <object class="GtkTreeSelection" id="treeview-selection2"/> </child> </object> </child> </object> </child> </object> <packing> <property name="expand">True</property> <property name="fill">True</property> <property name="position">2</property> </packing> </child> <child> <object class="GtkBox" id="box6"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="orientation">vertical</property> <property name="spacing">3</property> <child> <object class="GtkCheckButton" id="send_error_report"> <property name="label" translatable="yes">Send an error report to help fix this problem</property> <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">False</property> <property name="use_action_appearance">False</property> <property name="active">True</property> <property name="draw_indicator">True</property> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">0</property> </packing> </child> <child> <object class="GtkCheckButton" id="ignore_future_problems"> <property name="label" translatable="yes">Ignore future problems of this program version</property> <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">False</property> <property name="use_action_appearance">False</property> <property name="draw_indicator">True</property> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">1</property> </packing> </child> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">3</property> </packing> </child> </object> <packing> <property name="expand">True</property> <property name="fill">True</property> <property name="position">1</property> </packing> </child> </object> <packing> <property name="expand">True</property> <property name="fill">True</property> <property name="position">0</property> </packing> </child> <child> <object class="GtkBox" id="box2"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="spacing">6</property> <child> <object class="GtkAlignment" id="alignment1"> <property name="visible">True</property> <property name="can_focus">False</property> <child> <object class="GtkBox" id="box7"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="spacing">6</property> <child> <object class="GtkButton" id="show_details"> <property name="label" translatable="yes">Show Details</property> <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">True</property> <property name="use_action_appearance">False</property> <signal name="clicked" handler="on_show_details_clicked" swapped="no"/> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">0</property> </packing> </child> <child> <object class="GtkButton" id="examine"> <property name="label" translatable="yes">_Examine locally</property> <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">True</property> <property name="use_action_appearance">False</property> <property name="use_underline">True</property> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">1</property> </packing> </child> <child> <object class="GtkButton" id="cancel_button"> <property name="label" translatable="yes">Cancel</property> <property name="can_focus">True</property> <property name="receives_default">True</property> <property name="use_action_appearance">False</property> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">2</property> </packing> </child> </object> </child> </object> <packing> <property name="expand">True</property> <property name="fill">True</property> <property name="position">0</property> </packing> </child> <child> <object class="GtkBox" id="box3"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="spacing">6</property> <child> <object class="GtkButton" id="closed_button"> <property name="label" translatable="yes">Leave Closed</property> <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">True</property> <property name="use_action_appearance">False</property> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">0</property> </packing> </child> <child> <object class="GtkButton" id="continue_button"> <property name="label" translatable="yes">Continue</property> <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">True</property> <property name="use_action_appearance">False</property> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">1</property> </packing> </child> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">1</property> </packing> </child> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">1</property> </packing> </child> </object> </child> </object> <object class="GtkWindow" id="window_information_collection"> <property name="can_focus">False</property> <property name="border_width">12</property> <property name="title">Apport</property> <property name="resizable">False</property> <property name="window_position">center-always</property> <property name="destroy_with_parent">True</property> <signal name="delete-event" handler="on_progress_window_close_event" swapped="no"/> <child> <object class="GtkVBox" id="vbox15"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="spacing">12</property> <child> <object class="GtkVBox" id="vbox13"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="spacing">12</property> <child> <object class="GtkLabel" id="label_desc"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="xalign">0</property> <property name="yalign">0</property> <property name="label" translatable="yes"><big><b>Collecting problem information</b></big></property> <property name="use_markup">True</property> </object> <packing> <property name="expand">False</property> <property name="fill">False</property> <property name="position">0</property> </packing> </child> <child> <object class="GtkLabel" id="label1"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="xalign">0</property> <property name="yalign">0</property> <property name="label" translatable="yes">Information is being collected that may help the developers fix the problem you report.</property> <property name="wrap">True</property> </object> <packing> <property name="expand">False</property> <property name="fill">False</property> <property name="position">1</property> </packing> </child> <child> <object class="GtkProgressBar" id="progressbar_information_collection"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="pulse_step">0.10000000149</property> </object> <packing> <property name="expand">False</property> <property name="fill">False</property> <property name="padding">5</property> <property name="position">2</property> </packing> </child> </object> <packing> <property name="expand">True</property> <property name="fill">True</property> <property name="position">0</property> </packing> </child> <child> <object class="GtkHButtonBox" id="hbuttonbox6"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="layout_style">end</property> <child> <object class="GtkButton" id="button_cancel_collecting"> <property name="label" translatable="yes">Cancel</property> <property name="visible">True</property> <property name="can_focus">True</property> <property name="can_default">True</property> <property name="receives_default">False</property> <property name="use_action_appearance">False</property> <signal name="clicked" handler="on_progress_window_close_event" swapped="no"/> </object> <packing> <property name="expand">False</property> <property name="fill">False</property> <property name="position">0</property> </packing> </child> </object> <packing> <property name="expand">True</property> <property name="fill">True</property> <property name="position">1</property> </packing> </child> </object> </child> </object> <object class="GtkWindow" id="window_report_upload"> <property name="can_focus">False</property> <property name="border_width">12</property> <property name="title" translatable="yes">Uploading problem information</property> <property name="resizable">False</property> <property name="window_position">center-always</property> <property name="default_width">211</property> <property name="default_height">115</property> <property name="destroy_with_parent">True</property> <signal name="delete-event" handler="on_progress_window_close_event" swapped="no"/> <child> <object class="GtkVBox" id="vbox16"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="spacing">12</property> <child> <object class="GtkVBox" id="vbox17"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="spacing">12</property> <child> <object class="GtkLabel" id="label16"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="xalign">0</property> <property name="yalign">0</property> <property name="label" translatable="yes"><big><b>Uploading problem information</b></big></property> <property name="use_markup">True</property> </object> <packing> <property name="expand">False</property> <property name="fill">False</property> <property name="position">0</property> </packing> </child> <child> <object class="GtkLabel" id="label17"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="xalign">0</property> <property name="yalign">0</property> <property name="label" translatable="yes">The collected information is being sent to the bug tracking system. This might take a few minutes.</property> <property name="wrap">True</property> </object> <packing> <property name="expand">False</property> <property name="fill">False</property> <property name="position">1</property> </packing> </child> <child> <object class="GtkProgressBar" id="progressbar_upload"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="pulse_step">0</property> </object> <packing> <property name="expand">False</property> <property name="fill">False</property> <property name="padding">5</property> <property name="position">2</property> </packing> </child> </object> <packing> <property name="expand">True</property> <property name="fill">True</property> <property name="position">0</property> </packing> </child> <child> <object class="GtkHButtonBox" id="hbuttonbox7"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="layout_style">end</property> <child> <object class="GtkButton" id="button_cancel_upload"> <property name="label" translatable="yes">Cancel</property> <property name="visible">True</property> <property name="can_focus">True</property> <property name="can_default">True</property> <property name="receives_default">False</property> <property name="use_action_appearance">False</property> <signal name="clicked" handler="on_progress_window_close_event" swapped="no"/> </object> <packing> <property name="expand">False</property> <property name="fill">False</property> <property name="position">0</property> </packing> </child> </object> <packing> <property name="expand">True</property> <property name="fill">True</property> <property name="position">1</property> </packing> </child> </object> </child> </object> </interface> ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/java/README���������������������������������������������������������������������������0000644�0000000�0000000�00000001002�12677230222�013024� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport.jar contains the necessary class(es) for trapping uncaught Java exceptions. crash.class and crash.jar are used only by the test suite. The crash handler, when invoked, opens a pipe to the java_uncaught_exception script, and feeds it key/value pairs containing the relevant JVM state. There is currently no automatic integration of this handler. You have to do import com.ubuntu.apport.*; and in your main method install the handler with com.ubuntu.apport.ApportUncaughtExceptionHandler.install(); ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/java/com/�����������������������������������������������������������������������������0000755�0000000�0000000�00000000000�12677230222�012731� 5����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/java/crash.java�����������������������������������������������������������������������0000644�0000000�0000000�00000000334�12677230222�014116� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������import com.ubuntu.apport.*; class crash { public static void main(String[] args) { com.ubuntu.apport.ApportUncaughtExceptionHandler.install(); throw new RuntimeException("Can't catch this"); } } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/java/com/ubuntu/����������������������������������������������������������������������0000755�0000000�0000000�00000000000�12677230222�014253� 5����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/java/com/ubuntu/apport/���������������������������������������������������������������0000755�0000000�0000000�00000000000�12677230222�015560� 5����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/java/com/ubuntu/apport/ApportUncaughtExceptionHandler.java����������������������������0000644�0000000�0000000�00000006062�12677230222�024550� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������package com.ubuntu.apport; /* * Apport handler for uncaught Java exceptions * * Copyright: 2010 Canonical Ltd. * Author: Matt Zimmerman <mdz@ubuntu.com> * * 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. See http://www.gnu.org/copyleft/gpl.html for * the full text of the license. */ import java.io.*; import java.util.HashMap; public class ApportUncaughtExceptionHandler implements java.lang.Thread.UncaughtExceptionHandler { /* Write out an apport problem report with details of the * exception, then print it in the usual canonical format */ public void uncaughtException(Thread t, Throwable e) { //System.out.println("uncaughtException"); if (e instanceof ThreadDeath) return; HashMap problemReport = getProblemReport(t, e); //System.out.println("got problem report"); try { String handler_path = System.getenv("APPORT_JAVA_EXCEPTION_HANDLER"); if (handler_path == null) handler_path = "/usr/share/apport/java_uncaught_exception"; Process p = new ProcessBuilder(handler_path).start(); //System.out.println("started process"); OutputStream os = p.getOutputStream(); writeProblemReport(os, problemReport); //System.out.println("wrote problem report"); os.close(); try { p.waitFor(); } catch (InterruptedException ignore) { // ignored } } catch (java.io.IOException ioe) { System.out.println("could not call java_uncaught_exception"); } System.err.print("Exception in thread \"" + t.getName() + "\" "); e.printStackTrace(System.err); } public HashMap getProblemReport(Thread t, Throwable e) { HashMap problemReport = new HashMap(); StringWriter sw = new StringWriter(); PrintWriter pw = new PrintWriter(sw); e.printStackTrace(pw); problemReport.put("StackTrace", sw.toString()); problemReport.put("MainClassUrl", mainClassUrl(e)); return problemReport; } public void writeProblemReport(OutputStream os, HashMap pr) throws IOException { StringWriter sw = new StringWriter(); for(Object o : pr.keySet()) { String key = (String)o; String value = (String)pr.get(o); sw.write(key); sw.write("\0"); sw.write(value); sw.write("\0"); } os.write(sw.toString().getBytes()); } public static String mainClassUrl(Throwable e) { StackTraceElement[] stacktrace = e.getStackTrace(); String className = stacktrace[stacktrace.length-1].getClassName(); if (!className.startsWith("/")) { className = "/" + className; } className = className.replace('.', '/'); className = className + ".class"; java.net.URL classUrl = new ApportUncaughtExceptionHandler().getClass().getResource(className); return classUrl.toString(); } /* Install this handler as the default uncaught exception handler */ public static void install() { Thread.setDefaultUncaughtExceptionHandler(new ApportUncaughtExceptionHandler()); } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/kde/apport-kde������������������������������������������������������������������������0000755�0000000�0000000�00000046567�12677230222�014013� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/python3 '''Qt 5 Apport User Interface''' # Copyright (C) 2015 Harald Sitter <sitter@kde.org> # Copyright (C) 2007 - 2009 Canonical Ltd. # Author: Richard A. Johnson <nixternal@ubuntu.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import os.path import sys import os try: import apport from PyQt5.QtCore import (QByteArray, QLibraryInfo, QLocale, Qt, QTimer, QTranslator) from PyQt5.QtGui import (QIcon, QMovie, QPainter) from PyQt5.QtWidgets import (QApplication, QCheckBox, QDialog, QDialogButtonBox, QLabel, QLineEdit, QMessageBox, QProgressBar, QPushButton, QRadioButton, QTreeWidget, QTreeWidgetItem, QFileDialog) from PyQt5 import uic import apport.ui from apport import unicode_gettext as _ import sip # Work around for LP: 1282713 try: sip.setdestroyonexit(False) except AttributeError: pass except ImportError as e: # this can happen while upgrading python packages apport.fatal('Could not import module, is a package upgrade in progress? Error: %s', str(e)) def translate(self, prop): '''Reimplement method from uic to change it to use gettext.''' if prop.get('notr', None) == 'true': return self._cstring(prop) else: if prop.text is None: return '' text = prop.text.encode('UTF-8') return _(text) uic.properties.Properties._string = translate class Dialog(QDialog): '''Main dialog wrapper''' def __init__(self, ui, title, heading, text): QDialog.__init__(self, None, Qt.Window) uic.loadUi(os.path.join(os.path.dirname(sys.argv[0]), ui), self) self.setWindowTitle(title) if self.findChild(QLabel, 'heading'): self.findChild(QLabel, 'heading').setText('<h2>%s</h2>' % heading) self.findChild(QLabel, 'text').setText(text) def on_buttons_clicked(self, button): self.actionbutton = button if self.sender().buttonRole(button) == QDialogButtonBox.ActionRole: button.window().done(2) def addbutton(self, button): return self.findChild(QDialogButtonBox, 'buttons').addButton(button, QDialogButtonBox.ActionRole) class ChoicesDialog(Dialog): '''Choices dialog wrapper''' def __init__(self, title, text): Dialog.__init__(self, 'choices.ui', title, None, text) self.setMaximumSize(1, 1) def on_buttons_clicked(self, button): Dialog.on_buttons_clicked(self, button) if self.sender().buttonRole(button) == QDialogButtonBox.RejectRole: sys.exit(0) class ProgressDialog(Dialog): '''Progress dialog wrapper''' def __init__(self, title, heading, text): Dialog.__init__(self, 'progress.ui', title, heading, text) self.setMaximumSize(1, 1) def on_buttons_clicked(self, button): Dialog.on_buttons_clicked(self, button) if self.sender().buttonRole(button) == QDialogButtonBox.RejectRole: sys.exit(0) def set(self, value=None): progress = self.findChild(QProgressBar, 'progress') if not value: progress.setRange(0, 0) progress.setValue(0) else: progress.setRange(0, 1000) progress.setValue(value * 1000) class ReportDialog(Dialog): '''Report dialog wrapper''' def __init__(self, report, allowed_to_report, ui, desktop_info): if 'DistroRelease' not in report: report.add_os_info() distro = report['DistroRelease'] Dialog.__init__(self, 'bugreport.ui', distro.split()[0], '', '') self.details = self.findChild(QPushButton, 'show_details') self.details.clicked.connect(self.on_show_details_clicked) self.continue_button = self.findChild(QPushButton, 'continue_button') self.continue_button.clicked.connect(self.on_continue_clicked) self.closed_button = self.findChild(QPushButton, 'closed_button') self.closed_button.clicked.connect(self.on_closed_clicked) self.examine_button = self.findChild(QPushButton, 'examine_button') self.examine_button.clicked.connect(self.on_examine_clicked) self.cancel_button = self.findChild(QPushButton, 'cancel_button') self.cancel_button.clicked.connect(self.on_cancel_button_clicked) self.treeview = self.findChild(QTreeWidget, 'details') self.send_error_report = self.findChild(QCheckBox, 'send_error_report') self.ignore_future_problems = self.findChild(QCheckBox, 'ignore_future_problems') self.heading = self.findChild(QLabel, 'heading') self.text = self.findChild(QLabel, 'text') self.ui = ui self.collect_called = False icon = None report_type = report.get('ProblemType') self.spinner = QLabel('', parent=self.treeview) self.spinner.setGeometry(0, 0, 32, 32) self.movie = QMovie( os.path.join(os.path.dirname(sys.argv[0]), 'spinner.gif'), QByteArray(), self.spinner) self.spinner.setMovie(self.movie) self.spinner.setVisible(False) if allowed_to_report: self.send_error_report.setChecked(True) self.send_error_report.show() else: self.send_error_report.setChecked(False) self.send_error_report.hide() self.examine_button.setVisible(self.ui.can_examine_locally()) self.cancel_button.hide() if not self.ui.report_file: # This is a bug generated through `apport-bug $package`, or # `apport-collect $id`. # avoid collecting information again, in this mode we already have it if 'Uname' in report: self.collect_called = True self.ui.ui_update_view(self) self.heading.setText(_('Send problem report to the developers?')) self.text.hide() self.closed_button.hide() self.ignore_future_problems.hide() self.show_details.hide() self.cancel_button.show() self.send_error_report.setChecked(True) self.send_error_report.hide() self.continue_button.setText(_('Send')) self.showtree(True) elif report_type == 'KernelCrash' or report_type == 'KernelOops': self.ignore_future_problems.setChecked(False) self.ignore_future_problems.hide() self.heading.setText(_('Sorry, %s has experienced an ' 'internal error.') % distro) self.closed_button.hide() self.text.hide() icon = 'distributor-logo' elif report_type == 'Package': package = report.get('Package') if package: self.text.setText(_('Package: %s') % package) self.text.show() else: self.text.hide() self.closed_button.hide() self.ignore_future_problems.hide() self.heading.setText(_('Sorry, a problem occurred while installing software.')) else: # Regular crash. if desktop_info: icon = desktop_info.get('icon') if report_type == 'RecoverableProblem': self.heading.setText(_('The application %s has experienced an internal error.') % desktop_info['name']) else: self.heading.setText(_('The application %s has closed unexpectedly.') % desktop_info['name']) self.text.hide() pid = apport.ui.get_pid(report) still_running = pid and apport.ui.still_running(pid) if 'ProcCmdline' not in report or still_running: self.closed_button.hide() self.continue_button.setText(_('Continue')) else: self.closed_button.show() self.closed_button.setText(_('Leave Closed')) self.continue_button.setText(_('Relaunch')) else: icon = 'distributor-logo' self.heading.setText(_('Sorry, %s has experienced an ' 'internal error.') % distro) self.text.show() self.text.setText(_('If you notice further problems, ' 'try restarting the computer.')) self.closed_button.hide() self.continue_button.setText(_('Continue')) self.ignore_future_problems.setText(_('Ignore future problems of this type')) if report.get('CrashCounter'): self.ignore_future_problems.show() else: self.ignore_future_problems.hide() if report_type == 'RecoverableProblem': body = report.get('DialogBody', '') if body: del report['DialogBody'] # Set a maximum size for the dialog body, so developers do # not try to shove entire log files into this dialog. self.text.setText(body[:1024]) self.text.show() if icon: base = QIcon.fromTheme(icon).pixmap(42, 42) overlay = QIcon.fromTheme('dialog-error').pixmap(16, 16) p = QPainter(base) p.drawPixmap(base.width() - overlay.width(), base.height() - overlay.height(), overlay) p.end() self.application_icon.setPixmap(base) else: self.application_icon.setPixmap( QIcon.fromTheme('dialog-error').pixmap(42, 42)) if self.ui.report_file: self.showtree(False) def on_continue_clicked(self): self.done(1) def on_closed_clicked(self): self.done(2) def on_examine_clicked(self): self.done(3) def on_cancel_button_clicked(self): self.done(QDialog.Rejected) def on_show_details_clicked(self): if not self.treeview.isVisible(): self.details.setText(_('Hide Details')) self.showtree(True) else: self.details.setText(_('Show Details')) self.showtree(False) def collect_done(self): self.ui.ui_update_view(self) def showtree(self, visible): self.treeview.setVisible(visible) if visible and not self.collect_called: self.ui.ui_update_view(self, ['ExecutablePath']) QTimer.singleShot(0, lambda: self.ui.collect_info(on_finished=self.collect_done)) self.collect_called = True if visible: self.setMaximumSize(16777215, 16777215) else: self.setMaximumSize(1, 1) class UserPassDialog(Dialog): '''Username/Password dialog wrapper''' def __init__(self, title, text): Dialog.__init__(self, 'userpass.ui', title, None, text) self.findChild(QLabel, 'l_username').setText(_('Username:')) self.findChild(QLabel, 'l_password').setText(_('Password:')) def on_buttons_clicked(self, button): Dialog.on_buttons_clicked(self, button) if self.sender().buttonRole(button) == QDialogButtonBox.RejectRole: sys.exit(0) class MainUserInterface(apport.ui.UserInterface): '''The main user interface presented to the user''' def __init__(self): apport.ui.UserInterface.__init__(self) # Help unit tests get at the dialog. self.dialog = None self.progress = None # # ui_* implementation of abstract UserInterface classes # def ui_update_view(self, dialog, shown_keys=None): # report contents details = dialog.findChild(QTreeWidget, 'details') if shown_keys: keys = set(self.report.keys()) & set(shown_keys) else: keys = self.report.keys() details.clear() for key in sorted(keys): # ignore internal keys if key.startswith('_'): continue keyitem = QTreeWidgetItem([key]) details.addTopLevelItem(keyitem) # string value if not hasattr(self.report[key], 'gzipvalue') and \ hasattr(self.report[key], 'isspace') and \ not self.report._is_binary(self.report[key]): lines = self.report[key].splitlines() for line in lines: QTreeWidgetItem(keyitem, [str(line)]) if len(lines) < 4: keyitem.setExpanded(True) else: QTreeWidgetItem(keyitem, [_('(binary data)')]) def ui_present_report_details(self, allowed_to_report=True, modal_for=None): desktop_info = self.get_desktop_entry() self.dialog = ReportDialog(self.report, allowed_to_report, self, desktop_info) response = self.dialog.exec_() return_value = {'report': False, 'blacklist': False, 'restart': False, 'examine': False} if response == QDialog.Rejected: return return_value elif response == 3: return_value['examine'] = True return return_value text = self.dialog.continue_button.text().replace('&', '') if response == 1 and text == _('Relaunch'): return_value['restart'] = True if self.dialog.send_error_report.isChecked(): return_value['report'] = True if self.dialog.ignore_future_problems.isChecked(): return_value['blacklist'] = True return return_value def ui_info_message(self, title, text): QMessageBox.information(None, _(title), _(text)) def ui_error_message(self, title, text): QMessageBox.information(None, _(title), _(text)) def ui_start_info_collection_progress(self): # show a spinner if we already have the main window if self.dialog and self.dialog.isVisible(): rect = self.dialog.spinner.parent().rect() self.dialog.spinner.setGeometry(rect.width() / 2 - self.dialog.spinner.width() / 2, rect.height() / 2 - self.dialog.spinner.height() / 2, self.dialog.spinner.width(), self.dialog.spinner.height()) self.dialog.movie.start() elif self.crashdb.accepts(self.report): # show a progress dialog if our DB accepts the crash self.progress = ProgressDialog( _('Collecting Problem Information'), _('Collecting problem information'), _('The collected information can be sent to the developers ' 'to improve the application. This might take a few ' 'minutes.')) self.progress.set() self.progress.show() QApplication.processEvents() def ui_pulse_info_collection_progress(self): if self.progress: self.progress.set() # for a spinner we just need to handle events QApplication.processEvents() def ui_stop_info_collection_progress(self): if self.progress: self.progress.hide() self.progress = None else: self.dialog.movie.stop() self.dialog.spinner.hide() QApplication.processEvents() def ui_start_upload_progress(self): self.progress = ProgressDialog( _('Uploading Problem Information'), _('Uploading problem information'), _('The collected information is being sent to the bug ' 'tracking system. This might take a few minutes.')) self.progress.show() def ui_set_upload_progress(self, progress): if progress: self.progress.set(progress) else: self.progress.set() QApplication.processEvents() def ui_stop_upload_progress(self): self.progress.hide() def ui_question_yesno(self, text): response = QMessageBox.question(None, '', 'text', QMessageBox.Yes | QMessageBox.No | QMessageBox.Cancel) if response == QMessageBox.Yes: return True if response == QMessageBox.No: return False return None def ui_question_choice(self, text, options, multiple): ''' Show a question with predefined choices. @options is a list of strings to present. @multiple - if True, choices should be QCheckBoxes, if False then should be QRadioButtons. Return list of selected option indexes, or None if the user cancelled. If multiple is False, the list will always have one element. ''' dialog = ChoicesDialog(_('Apport'), text) b = None for option in options: if multiple: b = QCheckBox(option) else: b = QRadioButton(option) dialog.vbox_choices.insertWidget(0, b) response = dialog.exec_() if response == QDialog.Rejected: return 'cancel' response = [c for c in range(0, dialog.vbox_choices.count()) if dialog.vbox_choices.itemAt(c).widget().isChecked()] return response def ui_question_file(self, text): ''' Show a file selector dialog. Return path if the user selected a file, or None if cancelled. ''' response = QFileDialog.getOpenFileName(None, unicode(text, 'UTF-8')) if response.length() == 0: return None return str(response) def ui_question_userpass(self, text): '''Show a Username/Password dialog. Return a tuple (user, pass) or None if cancelled. ''' dialog = UserPassDialog(_('Apport'), text) response = dialog.exec_() if response == QDialog.Rejected: return None username = str(dialog.findChild(QLineEdit, 'e_username').text()) password = str(dialog.findChild(QLineEdit, 'e_password').text()) if len(username) == 0 or len(password) == 0: return None return (username, password) if __name__ == '__main__': if not os.environ.get('DISPLAY'): apport.fatal('This program needs a running X session. Please see "man apport-cli" for a command line version of Apport.') app = QApplication(sys.argv) app.setApplicationName('apport-kde') app.setApplicationDisplayName(_('Apport')) app.setWindowIcon(QIcon.fromTheme('apport')) translator = QTranslator() translator.load("qtbase_" + QLocale.system().name(), QLibraryInfo.location(QLibraryInfo.TranslationsPath)) app.installTranslator(translator) UserInterface = MainUserInterface() sys.exit(UserInterface.run_argv()) �����������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/kde/apport-kde-mime.desktop.in��������������������������������������������������������0000644�0000000�0000000�00000000370�12677230222�016770� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[Desktop Entry] _Name=Report a problem... _Comment=Report a malfunction to the developers Exec=/usr/share/apport/apport-kde -c %f Icon=apport Terminal=false Type=Application MimeType=text/x-apport; Categories=KDE; NoDisplay=true StartupNotify=true ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/kde/apport-kde-mimelnk.desktop.in�����������������������������������������������������0000644�0000000�0000000�00000000361�12677230222�017475� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[Desktop Entry] # This is a deprecated method for KDE3 to make it recognize this MimeType Type=MimeType _Comment=Apport crash file Hidden=false Icon=apport # This must not have a trailing ";" for KDE3 MimeType=text/x-apport Patterns=*.crash �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/kde/apport-kde.desktop.in�������������������������������������������������������������0000644�0000000�0000000�00000000345�12677230222�016045� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[Desktop Entry] _Name=Report a problem... _Comment=Report a malfunction to the developers Exec=/usr/share/apport/apport-kde -f Icon=apport Terminal=false Type=Application Categories=KDE;System; OnlyShowIn=KDE; StartupNotify=true �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/kde/bugreport.ui����������������������������������������������������������������������0000644�0000000�0000000�00000011251�12677230222�014345� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <ui version="4.0"> <class>CrashDialog</class> <widget class="QDialog" name="CrashDialog"> <property name="geometry"> <rect> <x>0</x> <y>0</y> <width>567</width> <height>371</height> </rect> </property> <property name="sizePolicy"> <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> <property name="windowTitle"> <string>Dialog</string> </property> <layout class="QGridLayout" name="gridLayout_2"> <item row="1" column="2"> <widget class="QLabel" name="heading"> <property name="sizePolicy"> <sizepolicy hsizetype="Minimum" vsizetype="Fixed"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> <property name="text"> <string>heading</string> </property> <property name="wordWrap"> <bool>true</bool> </property> </widget> </item> <item row="11" column="0" colspan="3"> <layout class="QHBoxLayout" name="horizontalLayout"> <item> <widget class="QPushButton" name="show_details"> <property name="text"> <string>Show Details</string> </property> </widget> </item> <item> <widget class="QPushButton" name="examine_button"> <property name="text"> <string>&Examine locally</string> </property> </widget> </item> <item> <widget class="QPushButton" name="cancel_button"> <property name="enabled"> <bool>true</bool> </property> <property name="text"> <string>&Cancel</string> </property> </widget> </item> <item> <spacer name="horizontalSpacer"> <property name="orientation"> <enum>Qt::Horizontal</enum> </property> <property name="sizeHint" stdset="0"> <size> <width>40</width> <height>20</height> </size> </property> </spacer> </item> <item> <widget class="QPushButton" name="closed_button"> <property name="text"> <string>Leave Closed</string> </property> </widget> </item> <item> <widget class="QPushButton" name="continue_button"> <property name="text"> <string>Continue</string> </property> </widget> </item> </layout> </item> <item row="6" column="2"> <widget class="QCheckBox" name="ignore_future_problems"> <property name="text"> <string>Ignore future problems of this program version</string> </property> </widget> </item> <item row="2" column="2"> <widget class="QLabel" name="text"> <property name="sizePolicy"> <sizepolicy hsizetype="Preferred" vsizetype="Minimum"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> <property name="text"> <string>text</string> </property> <property name="alignment"> <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set> </property> <property name="wordWrap"> <bool>true</bool> </property> </widget> </item> <item row="5" column="2"> <widget class="QCheckBox" name="send_error_report"> <property name="text"> <string>Send an error report to help fix this problem</string> </property> </widget> </item> <item row="1" column="0" rowspan="4"> <widget class="QLabel" name="application_icon"> <property name="sizePolicy"> <sizepolicy hsizetype="Preferred" vsizetype="Minimum"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> <property name="minimumSize"> <size> <width>0</width> <height>0</height> </size> </property> <property name="baseSize"> <size> <width>0</width> <height>0</height> </size> </property> <property name="text"> <string/> </property> <property name="alignment"> <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set> </property> </widget> </item> <item row="4" column="2"> <widget class="QTreeWidget" name="details"> <property name="sizePolicy"> <sizepolicy hsizetype="Expanding" vsizetype="Expanding"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> <attribute name="headerVisible"> <bool>false</bool> </attribute> <column> <property name="text"> <string notr="true">1</string> </property> </column> </widget> </item> </layout> </widget> <resources/> <connections/> </ui> �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/kde/choices.ui������������������������������������������������������������������������0000644�0000000�0000000�00000004405�12677230222�013754� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <ui version="4.0"> <class>DialogChoices</class> <widget class="QDialog" name="DialogChoices"> <property name="geometry"> <rect> <x>0</x> <y>0</y> <width>400</width> <height>182</height> </rect> </property> <property name="windowTitle"> <string>Dialog</string> </property> <layout class="QGridLayout" name="gridLayout_2"> <item row="0" column="0"> <widget class="QLabel" name="text"> <property name="sizePolicy"> <sizepolicy hsizetype="Preferred" vsizetype="Minimum"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> <property name="text"> <string>text</string> </property> <property name="alignment"> <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set> </property> <property name="wordWrap"> <bool>true</bool> </property> <property name="indent"> <number>1</number> </property> </widget> </item> <item row="1" column="0"> <widget class="QGroupBox" name="groupBox"> <property name="title"> <string/> </property> <layout class="QGridLayout" name="gridLayout"> <item row="0" column="0"> <layout class="QVBoxLayout" name="vbox_choices"/> </item> </layout> </widget> </item> <item row="2" column="0"> <widget class="QDialogButtonBox" name="buttons"> <property name="standardButtons"> <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> </property> </widget> </item> </layout> </widget> <resources/> <connections> <connection> <sender>buttons</sender> <signal>accepted()</signal> <receiver>DialogChoices</receiver> <slot>accept()</slot> <hints> <hint type="sourcelabel"> <x>199</x> <y>164</y> </hint> <hint type="destinationlabel"> <x>199</x> <y>90</y> </hint> </hints> </connection> <connection> <sender>buttons</sender> <signal>rejected()</signal> <receiver>DialogChoices</receiver> <slot>reject()</slot> <hints> <hint type="sourcelabel"> <x>199</x> <y>164</y> </hint> <hint type="destinationlabel"> <x>199</x> <y>90</y> </hint> </hints> </connection> </connections> </ui> �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/kde/error.ui��������������������������������������������������������������������������0000644�0000000�0000000�00000006370�12677230222�013473� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<ui version="4.0" > <class>ErrorDialog</class> <widget class="QDialog" name="ErrorDialog" > <property name="geometry" > <rect> <x>0</x> <y>0</y> <width>270</width> <height>191</height> </rect> </property> <property name="windowTitle" > <string>Dialog</string> </property> <layout class="QGridLayout" > <property name="margin" > <number>9</number> </property> <property name="spacing" > <number>6</number> </property> <item row="2" column="1" > <widget class="QCheckBox" name="checker" > <property name="text" > <string>checker</string> </property> </widget> </item> <item rowspan="3" row="0" column="0" > <widget class="QLabel" name="icon" > <property name="sizePolicy" > <sizepolicy> <hsizetype>0</hsizetype> <vsizetype>1</vsizetype> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> <property name="text" > <string/> </property> <property name="alignment" > <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set> </property> </widget> </item> <item row="0" column="1" > <widget class="QLabel" name="heading" > <property name="sizePolicy" > <sizepolicy> <hsizetype>1</hsizetype> <vsizetype>0</vsizetype> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> <property name="text" > <string>heading</string> </property> <property name="indent" > <number>6</number> </property> </widget> </item> <item row="1" column="1" > <widget class="QLabel" name="text" > <property name="sizePolicy" > <sizepolicy> <hsizetype>5</hsizetype> <vsizetype>1</vsizetype> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> <property name="text" > <string>text</string> </property> <property name="alignment" > <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set> </property> <property name="wordWrap" > <bool>true</bool> </property> <property name="indent" > <number>6</number> </property> </widget> </item> <item row="3" column="0" colspan="2" > <widget class="QDialogButtonBox" name="buttons" > <property name="orientation" > <enum>Qt::Horizontal</enum> </property> <property name="standardButtons" > <set>QDialogButtonBox::Close</set> </property> </widget> </item> </layout> </widget> <resources/> <connections> <connection> <sender>buttons</sender> <signal>accepted()</signal> <receiver>ErrorDialog</receiver> <slot>accept()</slot> <hints> <hint type="sourcelabel" > <x>248</x> <y>254</y> </hint> <hint type="destinationlabel" > <x>157</x> <y>274</y> </hint> </hints> </connection> <connection> <sender>buttons</sender> <signal>rejected()</signal> <receiver>ErrorDialog</receiver> <slot>reject()</slot> <hints> <hint type="sourcelabel" > <x>316</x> <y>260</y> </hint> <hint type="destinationlabel" > <x>286</x> <y>274</y> </hint> </hints> </connection> </connections> </ui> ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/kde/progress.ui�����������������������������������������������������������������������0000644�0000000�0000000�00000005170�12677230222�014203� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<ui version="4.0" > <class>ProgressDialog</class> <widget class="QDialog" name="ProgressDialog" > <property name="geometry" > <rect> <x>0</x> <y>0</y> <width>422</width> <height>191</height> </rect> </property> <property name="windowTitle" > <string>Dialog</string> </property> <layout class="QVBoxLayout" > <property name="margin" > <number>9</number> </property> <property name="spacing" > <number>6</number> </property> <item> <widget class="QLabel" name="heading" > <property name="sizePolicy" > <sizepolicy> <hsizetype>1</hsizetype> <vsizetype>0</vsizetype> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> <property name="text" > <string>heading</string> </property> </widget> </item> <item> <widget class="QLabel" name="text" > <property name="sizePolicy" > <sizepolicy> <hsizetype>5</hsizetype> <vsizetype>1</vsizetype> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> <property name="text" > <string>text</string> </property> <property name="alignment" > <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set> </property> <property name="wordWrap" > <bool>true</bool> </property> </widget> </item> <item> <widget class="QProgressBar" name="progress" > <property name="textVisible" > <bool>false</bool> </property> <property name="invertedAppearance" > <bool>false</bool> </property> </widget> </item> <item> <widget class="QDialogButtonBox" name="buttons" > <property name="orientation" > <enum>Qt::Horizontal</enum> </property> <property name="standardButtons" > <set>QDialogButtonBox::Cancel</set> </property> </widget> </item> </layout> </widget> <resources/> <connections> <connection> <sender>buttons</sender> <signal>accepted()</signal> <receiver>ProgressDialog</receiver> <slot>accept()</slot> <hints> <hint type="sourcelabel" > <x>248</x> <y>254</y> </hint> <hint type="destinationlabel" > <x>157</x> <y>274</y> </hint> </hints> </connection> <connection> <sender>buttons</sender> <signal>rejected()</signal> <receiver>ProgressDialog</receiver> <slot>reject()</slot> <hints> <hint type="sourcelabel" > <x>316</x> <y>260</y> </hint> <hint type="destinationlabel" > <x>286</x> <y>274</y> </hint> </hints> </connection> </connections> </ui> ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/kde/userpass.ui�����������������������������������������������������������������������0000644�0000000�0000000�00000006127�12677230222�014207� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <ui version="4.0"> <class>Dialog</class> <widget class="QDialog" name="Dialog"> <property name="geometry"> <rect> <x>0</x> <y>0</y> <width>398</width> <height>159</height> </rect> </property> <property name="windowTitle"> <string>Dialog</string> </property> <widget class="QWidget" name="verticalLayoutWidget"> <property name="geometry"> <rect> <x>10</x> <y>10</y> <width>381</width> <height>139</height> </rect> </property> <layout class="QVBoxLayout" name="verticalLayout"> <item> <widget class="QLabel" name="text"> <property name="sizePolicy"> <sizepolicy hsizetype="Preferred" vsizetype="Minimum"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> <property name="text"> <string>text</string> </property> <property name="alignment"> <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set> </property> <property name="wordWrap"> <bool>true</bool> </property> <property name="indent"> <number>1</number> </property> </widget> </item> <item> <layout class="QFormLayout" name="formLayout"> <property name="fieldGrowthPolicy"> <enum>QFormLayout::AllNonFixedFieldsGrow</enum> </property> <item row="1" column="1"> <widget class="QLineEdit" name="e_username"/> </item> <item row="1" column="0"> <widget class="QLabel" name="l_username"> <property name="text"> <string>user</string> </property> </widget> </item> <item row="2" column="0"> <widget class="QLabel" name="l_password"> <property name="text"> <string>pass</string> </property> </widget> </item> <item row="2" column="1"> <widget class="QLineEdit" name="e_password"> <property name="echoMode"> <enum>QLineEdit::Password</enum> </property> </widget> </item> </layout> </item> <item> <widget class="QDialogButtonBox" name="buttonBox"> <property name="orientation"> <enum>Qt::Horizontal</enum> </property> <property name="standardButtons"> <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> </property> </widget> </item> </layout> </widget> </widget> <resources/> <connections> <connection> <sender>buttonBox</sender> <signal>accepted()</signal> <receiver>Dialog</receiver> <slot>accept()</slot> <hints> <hint type="sourcelabel"> <x>248</x> <y>254</y> </hint> <hint type="destinationlabel"> <x>157</x> <y>274</y> </hint> </hints> </connection> <connection> <sender>buttonBox</sender> <signal>rejected()</signal> <receiver>Dialog</receiver> <slot>reject()</slot> <hints> <hint type="sourcelabel"> <x>316</x> <y>260</y> </hint> <hint type="destinationlabel"> <x>286</x> <y>274</y> </hint> </hints> </connection> </connections> </ui> �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/man/apport-bug.1����������������������������������������������������������������������0000644�0000000�0000000�00000006217�12677230222�014155� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������.TH apport\-bug 1 "September 08, 2009" "Martin Pitt" .SH NAME apport\-bug, apport\-collect \- file a bug report using Apport, or update an existing report .SH SYNOPSIS .B apport\-bug .B apport\-bug .I symptom \fR|\fI pid \fR|\fI package \fR|\fI program path \fR|\fI .apport/.crash file .B apport\-collect .I report-number .SH DESCRIPTION .B apport\-bug reports problems to your distribution's bug tracking system, using Apport to collect a lot of local information about your system to help the developers to fix the problem and avoid unnecessary question/answer turnarounds. You should always start with running .B apport\-bug without arguments, which will present a list of known symptoms. This will generate the most useful bug reports. If there is no matching symptom, you need to determine the affected program or package yourself. You can provide a package name or program name to .B apport\-bug\fR, e. g.: .RS 4 .nf apport\-bug firefox apport\-bug /usr/bin/unzip .fi .RE In order to add more information to the bug report that could help the developers to fix the problem, you can also specify a process ID instead: .RS 4 .nf $ pidof gnome-terminal 5139 $ apport\-bug 5139 .fi .RE As a special case, to report a bug against the Linux kernel, you do not need to use the full package name (such as linux-image-2.6.28-4-generic); you can just use .RS 4 .nf apport\-bug linux .fi .RE to report a bug against the currently running kernel. Finally, you can use this program to report a previously stored crash or bug report: .RS 4 .nf apport\-bug /var/crash/_bin_bash.1000.crash apport\-bug /tmp/apport.firefox.332G9t.apport .fi .RE Bug reports can be written to a file by using the .B \-\-save option or by using .B apport\-cli\fR. .B apport\-bug detects whether KDE or Gnome is running and calls .B apport\-gtk or .B apport\-kde accordingly. If neither is available, or the session does not run under X11, it calls .B apport\-cli for a command-line client. .SH UPDATING EXISTING REPORTS .B apport\-collect collects the same information as apport\-bug, but adds it to an already reported problem you have submitted. This is useful if the report was not originally filed through Apport, and the developers ask you to attach information from your system. .SH OPTIONS Please see the .BR apport\-cli(1) manpage for possible options. .SH ENVIRONMENT .TP .B APPORT_IGNORE_OBSOLETE_PACKAGES Apport refuses to create bug reports if the package or any dependency is not current. If this environment variable is set, this check is waived. Experts who will thoroughly check the situation before filing a bug report can define this in their .B ~/.bashrc or temporarily on the command line when calling .B apport\-bug\fR. .SH FILES apport crash files are written in to .B /var/crash by default, named uniquely per binary name and user id. They are not deleted after being sent to the bug tracker (but from cron when they get older than 7 days). You can extract the core file (if any) and other information using .B apport-unpack. .SH "SEE ALSO" .BR apport\-cli (1), .BR apport\-unpack (1) .SH AUTHOR .B apport and the accompanying tools are developed by Martin Pitt <martin.pitt@ubuntu.com>. ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/man/apport-cli.1����������������������������������������������������������������������0000644�0000000�0000000�00000011170�12677230222�014141� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������.TH apport\-cli 1 "August 01, 2007" "Martin Pitt" .SH NAME apport\-cli, apport\-gtk, apport\-kde \- Apport user interfaces for reporting problems .SH SYNOPSIS .B apport\-cli .B apport\-cli [ \fB\-\-save \fIfile\fR ] .I symptom \fR|\fI pid \fR|\fI package \fR|\fI program path \fR|\fI .apport/.crash file .B apport\-cli \-f .B apport\-cli \-f \-p .I package .B \-P .I pid .B apport\-cli \-u .I report-number Same options/arguments for .B apport\-gtk and .B apport\-kde\fR. .SH DESCRIPTION .B apport automatically collects data from crashed processes and compiles a problem report in .I /var/crash/\fR. This is a command line frontend for reporting those crashes to the developers. It can also be used to report bugs about packages or running processes. If symptom scripts are available, it can also be given the name of a symptom, or be called with just .B -f to display a list of known symptoms. When being called without any options, it processes the pending crash reports and offers to report them one by one. You can also display the entire report to see what is sent to the software developers. When being called with exactly one argument and no option, .B apport\-cli uses some heuristics to find out "what you mean" and reports a bug against the given symptom name, package name, program path, or PID. If the argument is a .B .crash or .B .apport file, it uploads the stored problem report to the bug tracking system. For desktop systems with a graphical user interface, you should consider installing the GTK or KDE user interface (apport-gtk or apport-kde). They accept the very same options and arguments. .B apport\-cli is mainly intended to be used on servers. .SH OPTIONS .TP .B \-f, \-\-file\-bug Report a (non-crash) problem. If neither .B \-\-package\fR, .B \-\-symptom\fR, or .B \-\-pid are specified, then it displays a list of available symptoms. If none are available, it aborts with an error. This will automatically attach information about your operating system and the package version etc. to the bug report, so that the developers have some important context. .TP .B \-s \fIsymptom\fR, \fB\-\-symptom\fR=\fIsymptom When being used in .B \-\-file\-bug mode, specify the symptom to report the problem about. .TP .B \-p \fIpackage\fR, \fB\-\-package\fR=\fIpackage When being used in .B \-\-file\-bug mode, specify the package to report the problem against. .TP .B \-P \fIpid\fR, \fB\-\-pid\fR=\fIpid When being used in .B \-\-file\-bug mode, specify the PID (process ID) of a running program to report the problem against. This can be determined with e. g. .B ps -ux\fR. .TP .B \-c \fIreport\fR, \fB\-\-crash\-file\fR=\fIreport Upload a previously processed stored report in an arbitrary file location. This is useful for copying a crash report to a machine with internet connection and reporting it from there. Files must end in .B .crash or .B .apport\fR. .TP .B \-u \fIreport-number\fR, \fB\-\-update\-report \fIreport-number Run apport information collection on an already existing problem report. The affected package is taken from the report by default, but you can explicitly specify one with \-\-package to collect information for a different package (this is useful if the report is assigned to the wrong package). .TP .B \-\-save \fIfilename In \-\-file\-bug mode, save the collected information into a file instead of reporting it. This file can then be reported with \-\-crash-file later on. .TP .B \-w, \fB\-\-window Point and click at the application window against which you wish to report the bug. Apport will automatically find the package name and generate a report for you. This option can be specially useful in situations when you do not know the name of the package, or if the application window has stopped responding and you cannot report the problem from the "Help" menu of the application. .SH ENVIRONMENT .TP .B APPORT_IGNORE_OBSOLETE_PACKAGES Apport refuses to create bug reports if the package or any dependency is not current. If this environment variable is set, this check is waived. Experts who will thoroughly check the situation before filing a bug report can define this in their .B ~/.bashrc or temporarily when calling the apport frontend (\-cli, \-gtk, or \-kde). .SH FILES .TP .B /usr/share/apport/symptoms/*.py Symptom scripts. These ask a set of interactive questions to determine the package which is responsible for a particular problem. (For some problems like sound or storage device related bugs there are many places where things can go wrong, and it's not immediately obvious for a bug reporter where the problem is.) .SH AUTHOR .B apport and the accompanying tools are developed by Martin Pitt <martin.pitt@ubuntu.com>. ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/man/apport-retrace.1������������������������������������������������������������������0000644�0000000�0000000�00000013610�12677230222�015020� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������.TH apport\-retrace 1 "September 09, 2006" "Martin Pitt" .SH NAME apport\-retrace \- regenerate a crash report's stack trace .SH SYNOPSIS .B apport\-retrace [ .I OPTIONS ] .I report .SH DESCRIPTION .B apport\-retrace regenerates the stack traces (both the simple and the threaded one) in an apport crash report from the included core dump. For this it figures out the set of necessary packages and their accompanying debug symbol packages, so that the regenerated stack trace will be fully symbolic and thus become much more useful for developers to fix the problem. .B apport\-retrace has two modes: By default it will just regenerate traces based on the packages which are currently installed in the system, i. e. it assumes that all necessary debug symbols for the report are installed. When specifying the .B \-S option, it creates a temporary "sandbox" and downloads and installs all necessary packages and debug symbols there. It will not do any changes to your system. This does not require root privileges, as it does not actually use the .B chroot() system call, but just supplies some "virtual root" options to .B gdb\fR. If you regularly use .B apport\-retrace in sandbox mode, it is highly recommended to use a permanent cache directory (the \fB\-\-cache\fR option). .I report is either the path to a .crash file, or a bug number. In the latter case, the information is downloaded from the bug report, and either one of the options .B \-g\fR, .B \-s\fR, or .B \-o\fR have to be used to process the report locally, or .B \-\-auth needs to be specified to attach the resulting stack traces back to the bug report. .SH OPTIONS .TP .B \-c, \-\-remove\-core Remove the core dump from the report after stack trace regeneration. By default it is retained. .TP .B \-g, \-\-gdb Start an interactive gdb session with the report's core dump. .TP .B \-s, \-\-stdout Write the new stack traces to stdout instead of putting them back into the report. .TP .B \-o \fIFILE\fR, \fB\-\-output=\fIFILE Write modified report to given file instead of changing the original report. .TP .B \-R, \-\-rebuild\-package\-info (Re\-)generate Packages: and Dependenencies: fields before retracing. This is particularly useful if you want to retrace a .crash report before it was completed by running it through the UI data collection phase. However, this only works when you run this on the very same system where the crash happened. .TP .B \-S \fICONFIG_DIR\fR, \fB\-\-sandbox=\fICONFIG_DIR Build a temporary sandbox and download/install the necessary packages and debug symbols in there; without this option it assumes that the necessary packages and debug symbols are already installed in the system. The argument points to the packaging system configuration directory, which needs to have a subdirectory for the .B DistroRelease field in the report (e. g. "config/Ubuntu 11.04/"), which contains the package system configuration. When using the apt/dpkg backend (Debian/Ubuntu based distributions), the per-release directory must contain an apt .B sources.list file with package sources for this release, plus the corresponding debug symbol package repository. Sandboxing is not implemented for other (RPM based) backends right now. If .I CONFIG_DIR is "system", it will use the system configuration files, but will then only be able to retrace crashes that happened on the currently running release. .TP .B \-v, \-\-verbose Report download/install progress when installing packages in sandbox mode. .TP .B \-p, \-\-extra\-package Install an additional package for retracing into the sandbox. May be specified multiple times. .TP .B \-C \fIDIR\fR, \fB\-\-cache=\fIDIR Permanent cache directory for downloaded package indexes and packages for sandbox mode. If not specified all indexes and packages will have to be re-downloaded at each run of .B apport\-retrace\fR. If you use sandbox mode regularly, using a permanent cache directory is highly recommended. .TP .B \-\-sandbox\-dir=\fIDIR Permanent directory for the sandbox of extracted packages. If not specified all cached packages will have to be re-extracted at each run of .B apport\-retrace\fR. If you use sandbox mode regularly, using a permanent cache directory is highly recommended. .TP .B \-h, \-\-help Print a short help that documents all options. .TP .B \-\-auth=\fIauthfile If a bug number is given without any of the options .B \-g\fR, .B \-s\fR, or .B \-o\fR, then the retraced stack traces are attached to the bug. Since this needs authentication, an authentication file for the crash database must be specified. This could e. g. be the standard .B cookies.txt from Firefox' profile directory if the crash database uses cookie based authentication. .TP .B \-\-confirm Display retraced stack traces and ask for confirmation before uploading them to the bug report. This option is ignored when retracing report files. .TP .B \-\-duplicate\-db=\fIdbfile Specify path to the duplicate check database (in SQLite format). The database will be created and initialized if it does not exist. If not specified, .B apport\-retrace will not check for duplicates. .SH EXAMPLES Reprocess recent local gedit crash report after the debug symbol packages have been installed into the system, and show reprocessed stack traces on stdout: .RS 4 apport\-retrace \-\-stdout /var/crash/_usr_bin_gedit.1000.crash .RE Build a sandbox with all necessary packages and debug symbols, and start a gdb session on the report's core file: .RS 4 apport\-retrace \-\-gdb \-\-sandbox system \-\-cache ~/.cache/apport\-retrace /var/crash/_usr_bin_gedit.1000.crash .RE Download crash report bug #12345, run in sandbox mode with local configuration files, and reupload updated traces to the bug (as neither \-g or \-s is specified): .RS 4 apport\-retrace \-\-auth ~/.cache/apport/launchpad.credentials \-S ~/retrace-conf/ \-C ~/.cache/apport\-retrace 12345 .RE .SH AUTHOR .B apport and the accompanying tools are developed by Martin Pitt <martin.pitt@ubuntu.com>. ������������������������������������������������������������������������������������������������������������������������apport-2.20.1/man/apport-unpack.1�������������������������������������������������������������������0000644�0000000�0000000�00000001427�12677230222�014657� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������.TH apport\-unpack 1 "September 09, 2006" "Martin Pitt" .SH NAME apport\-unpack \- extract the fields of a problem report to separate files .SH SYNOPSIS .B apport\-unpack .I report target\-directory .SH DESCRIPTION A problem report, as produced by .B apport is a single file with a set of key/value pairs in the RFC822 syntax. This tool disassembles a report such that the value of each entry is written into a separate file, with the key as file name. This is particularly useful for large binary data like the core dump. .I report is either a path to an existing apport crash report, or '\-' to read from stdin. The .I target\-directory must either be nonexisting or empty. .SH AUTHOR .B apport and the accompanying tools are developed by Martin Pitt <martin.pitt@ubuntu.com>. �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/man/apport-valgrind.1�����������������������������������������������������������������0000644�0000000�0000000�00000007311�12677230222�015202� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������.TH apport\-valgrind 1 "February 12, 2013" "Kyle Nitzsche" .SH NAME apport\-valgrind \- valgrind wrapper that first downloads debug symbols .SH SYNOPSIS .B apport\-valgrind [ .I OPTIONS ] .I EXECUTABLE .SH DESCRIPTION .B apport\-valgrind is a valgrind wrapper that automatically downloads related available debug symbols and provides them to valgrind's memcheck tool, which is executed. The output is a valgrind log file ("valgrind.log") that contains stack traces (with as many symbols resolved as available) and that shows memory leaks. By default, a temporary cache directory is created to hold the latest debug symbol packages. These are unpacked into a temporary sandbox directory. The path to the sandbox directory is provided to valgrind as an additional location for symbol files. You may create and use persistent cache and sandbox directories to save time across multiple executions, thus preventing the need to recreate them each time. Downloading all packages into the the cache directory each time is particularly time consuming. It is recommended to update your system before execution. This ensures your runtime environment is consistent with the latest downloaded symbol packages and therefore results in a more complete stack trace from valgrind. .I EXECUTABLE is the program to run under valgrind. Always terminate the .I EXECUTABLE in its usual way. Exit it from the GUI if there is one. If not, use the most appropriate method. Different techniques are used to determine which packages should be unpacked into the sandbox depending on whether .I EXECUTABLE is packaged (installed by a debian package) or not (for example something created for development or testing). A packaged .I EXECUTABLE has debian dependencies that are used. For an unpackaged .I EXECUTABLE\fR, the shared object files are found with ldd and the packages for these are used. .SH OPTIONS .TP .B \-C \fICDIR\fR, \-\-cache=\fICDIR\fR Reuse a previously created cache dir (\fICDIR\fR) or, if it does not exist, create it. .TP .B \-\-sandbox\-dir=\fISDIR\fR Reuse a previously created sandbox dir (\fISDIR\fR) or, if it does not exist, create it .TP .B \-\-no\-sandbox Do not create or reuse a sandbox directory for additional debug symbols but rely only on installed debug symbols. This speeds execution time but may result in an incomplete and less useful valgrind log if you do not have all appropriate debug symbol packages installed. .TP .B \-p, \-\-extra-package Specify an extra package (or packages) to unpack in the sandbox. Useful to add additional debug symbol packages that result in more complete valgrind logs. .TP .B \-v, \-\-verbose Report download/install progress when installing packages in sandbox mode. .TP .B \-l \fILOGFILE\fR, \-\-log=\fILOGFILE\fR Specify the file name for the generated valgrind log file. Default is: valgrind.log .TP .B \-h, \-\-help Display short help that documents all options. .SH EXAMPLES Create and use temporary cache and sandbox directories: .RS 4 apport\-valgrind .I EXECUTABLE .RE Reuse or create cache dir: .RS 4 apport\-valgrind \-C .I CDIR .I EXECUTABLE .RE Reuse or create sandbox dir: .RS 4 apport\-valgrind \-\-sandbox\-dir .I SDIR .I EXECUTABLE .RE .SH KNOWN ISSUES If you abnormally terminate the executable you are running under valgrind, temporary directories may not be deleted and processes may not all terminate. For example, if the executable does not normally terminate on ctrl+c, pressing ctrl+c in the terminal may cause apport-valgrind and valgrind to terminate, but may not terminate the executable and may not delete the temporary directories. .SH AUTHORS Developed by Martin Pitt <martin.pitt@ubuntu.com>, Alex Chiang <alex.chiang@canonical.com> and Kyle Nitzsche <kyle.nitzsche@canonical.com> �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/man/dupdb-admin.1���������������������������������������������������������������������0000644�0000000�0000000�00000003236�12677230222�014257� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������.TH dupdp\-admin 1 "August 01, 2007" "Martin Pitt" .SH NAME dupdb\-admin \- Manage the duplicate database for apport\-retrace. .SH SYNOPSIS .B dupdb\-admin \-f .I dbpath .B dump .B dupdb\-admin \-f .I dbpath .B changeid .I oldid newid .B dupdb\-admin \-f .I dbpath .B publish .I path .SH DESCRIPTION .BR apport\-retrace (1) has the capability of checking for duplicate bugs (amonst other things). It uses an SQLite database for keeping track of master bugs. .B dupdb\-admin is a small tool to manage that database. The central concept in that database is a "crash signature", a string that uniquely identifies a particular crash. It is built from the executable path name, the signal number or exception name, and the topmost functions of the stack trace. The database maps crash signatures to the 'master' crash id and thus can close duplicate crash reports with a reference to that master ID. It also tracks the status of crashes (open/fixed in a particular version) to be able to identify regressions. .SH MODES .TP .B dump Print a list of all database entries. .TP .B changeid Change the associated crash ID for a particular crash. .TP .B publish Export the duplicate database into a set of text files in the given directory which is suitable for WWW publishing. If the directory already exists, it will be updated. The new content is built in a new directory which is the given one with ".new" appended, then moved to the given name in an almost atomic way. .SH OPTIONS .TP .B \-f \fIpath\fR, \fB\-\-database-file\fR=\fIpath Path to the duplicate database SQLite file. .SH AUTHOR .B apport and the accompanying tools are developed by Martin Pitt <martin.pitt@ubuntu.com>. ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/pm-utils/sleep.d/���������������������������������������������������������������������0000755�0000000�0000000�00000000000�12677230222�014336� 5����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/pm-utils/sleep.d/000record-status�����������������������������������������������������0000755�0000000�0000000�00000000503�12677230222�017301� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # # Record the current operation to allow failure detection. STAMPFILE="/var/lib/pm-utils/status" case "$1" in hibernate|suspend) mkdir -p `dirname $STAMPFILE` echo "$1" >"$STAMPFILE" ;; thaw|resume) rm -f "$STAMPFILE" ;; esac ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/ace.po�����������������������������������������������������������������������������0000644�0000000�0000000�00000100077�12677230222�012745� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Acehnese translation for apport # Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2011. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2011-10-07 06:10+0000\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: Acehnese <ace@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:17+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: \n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "" #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "" #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/af.po������������������������������������������������������������������������������0000644�0000000�0000000�00000100102�12677230222�012570� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Afrikaans translation for apport # Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2011. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2011-10-07 06:10+0000\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: Afrikaans <af@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:17+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: af\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "" #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "" #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/am.po������������������������������������������������������������������������������0000644�0000000�0000000�00000101540�12677230222�012606� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Amharic translation for apport # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2009. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2011-10-07 06:10+0000\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: Amharic <am@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:17+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: am\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "መሰረዣ" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "እሺ" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "የ ግጭት መግለጫ" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>አዝናለሁ, የ ውስጥ ስህተት ተፈጥሯል</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "ዝርዝሮች ማሳያ" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "ይቀጥሉ" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "አዝናለሁ, %s የ ውስጥ ስህተት ተፈጥሯል" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "የ ችግሩን መግለጫ ለ አበልጻጊዎቹ ልላክ?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "መላኪያ" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "እንደገና ማስጀመሪያ" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "ጥቅል: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "አዝናለሁ, ሶፍትዌሩ በሚገጠም ጊዜ ችግር ተፈጥሯል" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "ዝርዝሮች መደበቂያ" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "የ ስርአት መረጃ መሰብሰቢያ" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "የ ስርአት ችግር መግለጫ" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "" #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "" #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "ምን ማድረግ ነው የሚፈልጉት? ያለው ምርጫው ይህ ነው:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i ባይቶች)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "መግለጫ &መላኪያ (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "መግለጫ &መመልከቻ" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&መሰረዣ" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "የ ችግር መግለጫ ፋይል:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "ተመርጧል: %s. በርካታ ምርጫዎች:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" ����������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/an.po������������������������������������������������������������������������������0000644�0000000�0000000�00000100102�12677230222�012600� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Aragonese translation for apport # Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2011. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2011-10-07 06:10+0000\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: Aragonese <an@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:17+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: an\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "" #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "" #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/apport.pot�������������������������������������������������������������������������0000644�0000000�0000000�00000050224�12677230222�013704� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" #: ../gtk/apport-gtk.ui.h:1 ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 #: ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "" #: ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "" #: ../gtk/apport-gtk.ui.h:6 ../gtk/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" #: ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" #: ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "" #: ../gtk/apport-gtk.ui.h:9 ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../kde/apport-kde.py:291 msgid "Show Details" msgstr "" #: ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "" #: ../gtk/apport-gtk.ui.h:11 ../gtk/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "" #: ../gtk/apport-gtk.ui.h:12 ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 #: ../gtk/apport-gtk.py:303 ../kde/apport-kde.py:230 ../kde/apport-kde.py:243 msgid "Continue" msgstr "" #: ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "" #: ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" #: ../gtk/apport-gtk.ui.h:15 ../kde/apport-kde.py:434 ../bin/apport-cli.py:251 msgid "Uploading problem information" msgstr "" #: ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "" #: ../gtk/apport-gtk.ui.h:17 ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../kde/apport-kde.py:362 ../bin/apport-cli.py:150 msgid "(binary data)" msgstr "" #: ../gtk/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:165 ../kde/apport-kde.py:199 ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:177 ../kde/apport-kde.py:185 ../bin/apport-cli.py:178 msgid "Send problem report to the developers?" msgstr "" #: ../gtk/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "" #: ../gtk/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "" #: ../gtk/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "" #: ../gtk/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "" #: ../gtk/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "" #: ../bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../kde/apport-kde.py:406 ../bin/apport-cli.py:238 msgid "Collecting problem information" msgstr "" #: ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "Please enter your password to access problem reports of system programs" msgstr "" #: ../kde/apport-kde.desktop.in.h:1 ../gtk/apport-gtk.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "" #: ../kde/apport-kde.desktop.in.h:2 ../gtk/apport-gtk.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "" #: ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../bin/apport-valgrind.py:58 msgid "report download/install progress when installing packages into sandbox" msgstr "" #: ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../bin/apport-valgrind.py:66 ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../bin/apport-retrace.py:53 msgid "Report download/install progress when installing packages into sandbox" msgstr "" #: ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../bin/apport-retrace.py:69 msgid "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "" #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" #: ../apport/ui.py:270 msgid "unknown program" msgstr "" #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "" #: ../apport/ui.py:273 ../apport/ui.py:1301 #, python-format msgid "Problem in %s" msgstr "" #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" #: ../apport/ui.py:317 ../apport/ui.py:325 ../apport/ui.py:452 #: ../apport/ui.py:455 ../apport/ui.py:656 ../apport/ui.py:1107 #: ../apport/ui.py:1273 ../apport/ui.py:1277 msgid "Invalid problem report" msgstr "" #: ../apport/ui.py:318 msgid "You are not allowed to access this problem report." msgstr "" #: ../apport/ui.py:321 msgid "Error" msgstr "" #: ../apport/ui.py:322 msgid "There is not enough disk space available to process this report." msgstr "" #: ../apport/ui.py:406 msgid "No package specified" msgstr "" #: ../apport/ui.py:407 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" #: ../apport/ui.py:430 msgid "Permission denied" msgstr "" #: ../apport/ui.py:431 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" #: ../apport/ui.py:433 msgid "Invalid PID" msgstr "" #: ../apport/ui.py:434 msgid "The specified process ID does not belong to a program." msgstr "" #: ../apport/ui.py:453 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../apport/ui.py:456 #, python-format msgid "Package %s does not exist" msgstr "" #: ../apport/ui.py:480 ../apport/ui.py:668 ../apport/ui.py:673 msgid "Cannot create report" msgstr "" #: ../apport/ui.py:495 ../apport/ui.py:541 ../apport/ui.py:558 msgid "Updating problem report" msgstr "" #: ../apport/ui.py:496 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../apport/ui.py:505 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-bug" "\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../apport/ui.py:542 ../apport/ui.py:559 msgid "No additional information collected." msgstr "" #: ../apport/ui.py:610 msgid "What kind of problem do you want to report?" msgstr "" #: ../apport/ui.py:627 msgid "Unknown symptom" msgstr "" #: ../apport/ui.py:628 #, python-format msgid "The symptom \"%s\" is not known." msgstr "" #: ../apport/ui.py:659 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../apport/ui.py:669 ../apport/ui.py:674 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../apport/ui.py:688 msgid "%prog <report number>" msgstr "" #: ../apport/ui.py:690 msgid "Specify package name." msgstr "" #: ../apport/ui.py:692 ../apport/ui.py:743 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../apport/ui.py:722 msgid "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" #: ../apport/ui.py:725 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" #: ../apport/ui.py:727 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../apport/ui.py:729 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../apport/ui.py:731 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" #: ../apport/ui.py:733 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../apport/ui.py:735 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../apport/ui.py:737 msgid "The provided pid is a hanging application." msgstr "" #: ../apport/ui.py:739 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" #: ../apport/ui.py:741 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../apport/ui.py:745 msgid "Print the Apport version number." msgstr "" #: ../apport/ui.py:884 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../apport/ui.py:885 msgid "Run gdb session" msgstr "" #: ../apport/ui.py:886 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../apport/ui.py:888 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../apport/ui.py:962 ../apport/ui.py:972 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" #: ../apport/ui.py:986 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../apport/ui.py:1033 ../apport/ui.py:1064 ../apport/ui.py:1279 msgid "This problem report is damaged and cannot be processed." msgstr "" #. package does not exist #: ../apport/ui.py:1036 msgid "The report belongs to a package that is not installed." msgstr "" #: ../apport/ui.py:1039 msgid "An error occurred while attempting to process this problem report:" msgstr "" #: ../apport/ui.py:1108 msgid "Could not determine the package or source package name." msgstr "" #: ../apport/ui.py:1126 msgid "Unable to start web browser" msgstr "" #: ../apport/ui.py:1127 #, python-format msgid "Unable to start web browser to open %s." msgstr "" #: ../apport/ui.py:1227 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" #: ../apport/ui.py:1239 msgid "Network problem" msgstr "" #: ../apport/ui.py:1241 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" #: ../apport/ui.py:1268 msgid "Memory exhaustion" msgstr "" #: ../apport/ui.py:1269 msgid "Your system does not have enough memory to process this crash report." msgstr "" #: ../apport/ui.py:1304 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" #: ../apport/ui.py:1360 ../apport/ui.py:1367 msgid "Problem already known" msgstr "" #: ../apport/ui.py:1361 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" #: ../apport/ui.py:1368 msgid "This problem was already reported to developers. Thank you!" msgstr "" #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "" #: ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "" #: ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "" #: ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" #: ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "" #: ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "" #: ../bin/apport-cli.py:190 msgid "&View report" msgstr "" #: ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" #: ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" #: ../bin/apport-cli.py:194 ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 #: ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "" #: ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "" #: ../bin/apport-cli.py:228 ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "" #: ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "" #: ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" #: ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" #: ../bin/apport-cli.py:302 msgid "&Done" msgstr "" #: ../bin/apport-cli.py:308 msgid "none" msgstr "" #: ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "" #: ../bin/apport-cli.py:325 msgid "Choices:" msgstr "" #: ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" #: ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "" #: ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "" #: ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" #: ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" #: ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "" #: ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/ar.po������������������������������������������������������������������������������0000644�0000000�0000000�00000127711�12677230222�012623� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Arabic translation for apport # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2013-08-07 22:55+0000\n" "Last-Translator: Ibrahim Saed <ibraheem5000@gmail.com>\n" "Language-Team: Arabic <ar@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:17+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: ar\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "بلاغ انهيار" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>عُذرًا، حدث خطأ داخلي.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "إذا لاحظت المزيد من المشاكل، جرّب إعادة تشغيل الحاسوب." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "إرسال تقرير عن الخطأ للمساعدة في إصلاح هذه المشكلة" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "تجاهل الانهيارات المستقبلية لإصدارة البرنامج هذه" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "أظهر التفاصيل" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "اتركه مغلقا" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "واصِل" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>يجمع معلومات عن المشكلة</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "يجري جمع المعلومات التي قد تساعد المطورين في إصلاح المشكلة المبلغ عنها." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "يرفع معلومات المشكلة" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>يرفع معلومات المشكلة</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "يجرى إرسال المعلومات التي جُمِعت إلى نظام تتبع العِلَل، وقد يستغرق هذا بضع " "دقائق." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(بيانات ثنائية)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "عُذرًا، توقف التطبيق \"%s\" فجأة" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "عُذرًا، أُغلق \"%s\" فجأة." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "عُذرًا، واجه \"%s\" خطأ داخليا." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "أأبلغ المطورين عن المشكلة؟" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "أرسل" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "شغّله مجددا" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "الحزمة: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "عُذرًا، حدث خطأ أثناء تثبيت البرنامج." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "واجه تطبيق \"%s\" خطأ داخليا." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "أُغلق تطبيق \"%s\" فجأة." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "تجاهل الانهيارات المستقبلية لهذا النوع" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "أخفِ التفاصيل" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "اسم المستخدم:" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "كلمة السر:" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "يجمع معلومات عن المشكلة" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "يمكن إرسال المعلومات التي جُمِعت إلى المطورين لتحسين التطبيق، قد يستغرق هذا " "بضع دقائق." #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "الاستيثاق مطلوب لجمع معلومات النظام لتقرير العلة هذا" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "برجاء إدخال كلمة سرك للنفاذ إلى تقارير المشاكل لبرامج النظام" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "أبلغ عن مشكلة..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "أبلغ المطورين عن خلل" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "قد يصبح نظامك غير مستقر الآن وقد يحتاج لإعادة تشغيله." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "اكتب تقرير مُعدّل للملف المُعطى بدلًا من تغيير التقرير الأصلي" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "هذه الحزمة لا تبدو مثبّتة بشكل صحيح" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "هذه ليست حزمة %s رسمية. رجاءً أزل أي حزم طرف ثالث وأعد المحاولة." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "مثبت لديك بعض الإصدارات اللاغية من الحزم، رقِّ من فضلك الحزم التالية وتحقق " "مما إذا ما زالت المشكلة تقع:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "برنامج مجهول" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "عُذرًا، أُغلق برنامج \"%s\" فجأة" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "مشكلة في %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "لا توجد ذاكرة خالية كافية على الجهاز لتحليل المشكلة وإبلاغ المطورين آليا." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "بلاغ مشكلة غير صالح" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "غير مسموح لك بالنفاذ إلى بلاغ المشكلة هذا." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "خطأ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "لا توجد مساحة قرص كافية لمعالجة هذا البلاغ." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "لم تُحدد حزمة" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "تحتاج إلى تحديد حزمة أو معرف عملية (PID). أطلع على --help لمزيد من المعلومات." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "رُفض التّصريح" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "العملية المحددة لا تخصك. من فضلك شغل هذا البرنامج بنفس المستخدم مالك العملية " "أو كجذر." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "رقم عملية(PID)غير صحيح" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "رقم تعريف العملية المحدد لا ينتمي ﻷي برنامج." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "الحزمة %s غير موجودة" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "تعذّر إنشاء التقرير" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "يُحدّث تقرير المشكلة" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "لست أنت المُبلّغ عن هذه المشكلة ولست مشترك فيها، أو أن التقرير مكرّر أو أنه " "مغلق بالفعل.\n" "\n" "من فضلك أنشئ تقريرًا جديدًا باستخدام \"apport-bug\"." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "لست أنت المُبلّغ عن هذه المشكلة. إنّ تعليم مشكلة ما كمشكلة مُكرّرة لمشكلة " "أخرى أسهل بكثير من نقل تعليقاتك ومرفقاتك إلى مشكلة جديدة.\n" "\n" "وبالتبعية، نحن ننصح بالإبلاغ عن مشكلة جديدة باستخدام \"apport-bug\" وإجراء " "تعليق في هذه المشكلة بخصوص المشكلة الأخرى المُبلغ عنها.\n" "\n" "هل تود المتابعة حقًا؟" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "لم تُجمع معلومات إضافية." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "ما نوع المشكلة التي تود الإبلاغ عنها؟" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "عَرَض غير معروف" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "العَرَض\"%s\" غير معروف." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "بعد إغلاق هذه الرسالة رجاءً انقر على نافذة التطبيق للإبلاغ عن المشكلة " "المتعلقة بذلك." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "حدد اسم الحزمة." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "انقر على النافذة كهدف لتقديم بلاغ عن مشكلة." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" "في نمط الإبلاغ عن علّة، احفظ المعلومات المُجمّعة في ملف بدلًا من إرسالها. " "هذا الملف يمكن إرساله لاحقًا من جهاز حاسوب آخر." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "هذا سينفّذ أمر apport-retrace في نافذة طرفية لتحليل الانهيار." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "هذا البلاغ ينطبق على برنامج لم يعد مثبتًا على حاسوبك." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "حدثت المشكلة مع برنامج '%s' الذي تغير منذ حدوث الانهيار." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "بلاغ المشكلة هذا تالف ولا يمكن معالجته." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "البلاغ لحزمة غير مثبتة." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "حدث خطأ أثناء محاولة معالجة تقرير الخطأ هذا:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "تعذّر تحديد اسم الحزمة أو اسم الحزمة المصدر." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "تعذّر تشغيل المتصفح" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "تعذّر تشغيل المتصفح لفتح %s." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "برجاء إدخال معلومات حسابك لنظام تتبع العلل لـ %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "مشكلة في الشبكة" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "لا يمكن الاتصال بقاعدة بيانات الانهيارات. من فضلك تحقق من اتصالك بالإنترنت." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "نفذت الذاكرة" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "لا توجد ذاكرة كافية في النظام لمعالجة بلاغ الانهيار هذا." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "لا يمكن الإبلاغ عن المشكلة:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "المشكلة معروفة" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "بُلّغ عن هذه المشكلة مسبقًا في بلاغ العِلة المعروض في المتصفح، تحقق من فضلك " "مما إذا كان باستطاعتك إضافة معلومات أخرى قد تساعد المطورين." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "بُلّغ عن هذه المشكلة مُسبقًا. شكرًا لك!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "اضغط على أي مفتاح للمواصلة..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "مالذي تود أن تفعل؟ خياراتك هي:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "اختر من فضلك (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i بايتات)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "بعد الإبلاغ عن المشكلة، من فضلك املأ النموذج المفتوح تلقائيا\n" "في متصفح شبكة الوب." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "أر&سل البلاغ (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "اعرض ال&بلاغ" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "ا&حتفظ بملف البلاغ لإرساله لاحقاً أو نسخه إلى مكان آخر" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "ألغ و &تجاهل الانهيارات المستقبلية لإصدارة البرنامج هذه" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "أل&غِ" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "ملف بلاغ المشكلة:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&أكد" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "خطأ: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "يمكن إرسال المعلومات التي جُمِعت إلى المطورين لتحسين\n" "التطبيق، لكن قد يستغرق هذا بعض الدقائق." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "يجري إرسال المعلومات التي جُمِعت إلى نظام تتبع العِلَل،\n" "لكن قد يستغرق هذا بضع دقائق." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&تمّ" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "الملف غير موجود." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "للمواصلة، يجب عليك زيارة الرابط التالي:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "يمكنك تشغيل المتصفح الآن، أو انسخ هذا العنوان إلى متصفح على حاسوب آخر." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "شغّل المتصفح الآن" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "لا يوجد تقارير بلاغات معلقة. جرب --help لمزيد من المعلومات." #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "يمكنك مساعدة المطورين في إصلاح المشكلة بالإبلاغ عنها." #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">عفواً، فشِل تثبيت أو ترقية حزمة " #~ "\"%s\".</span>" #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "بلاغ كامل (موصى به; %s)" #~ msgid "Content of the report" #~ msgstr "محتوى البلاغ" #~ msgid "Restart _Program" #~ msgstr "أعد تشغيل ال_برنامج" #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "بإمكانك مساعدة المطورين في إصلاح الحزمة بالإبلاغ عن المشكلة." #~ msgid "&Report Problem..." #~ msgstr "&أبلغ عن مشكلة..." #~ msgid "_Report Problem..." #~ msgstr "_أبلغ عن مشكلة" #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "أُغلق %s فجأة في %s عند %s." #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "فشِل تثبيت أو ترقية حزمة \"%s\"." #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "هذه ليست حزمة %s أصلية" #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "واجه النظام مشكلة خطيرة بالنواة." #~ msgid "Application problem" #~ msgstr "مشكلة في التطبيق" #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>هل أبلغ المطورين عن المشكلة؟</b></big>\n" #~ "\n" #~ "من فضلك بعد الإبلاغ عن المشكلة املأ النموذج في متصفح الوب المفتوح تلقائيا." #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "بلاغ مختصر (اتصال إنترنت بطيء; %s)" #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "سيُزِيل هذا أجزاء كبيرة من البلاغ، وهي مفيدة للغاية للمطورين في تنقيح " #~ "المشكلة لكنها قد تكون كبيرة جداً عند الرفع إذا كان اتصالك بالإنترنت بطيء." #~ msgid "Package problem" #~ msgstr "مشكلة في حزمة" #~ msgid "Kernel problem" #~ msgstr "مشكلة في النواة" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "يمكنك إذا لم يكن ما تفعله سرّي (تدخل كلمات سرية أو معلومات خاصة) فيمكنك " #~ "المساعدة في تحسين التطبيق بالإبلاغ عن المشكلة." #~ msgid "_Ignore future crashes of this program version" #~ msgstr "_تجاهل الانهيارات المستقبلية من إصدارة البرنامج هذه" #~ msgid "_Send Report" #~ msgstr "_أرسل البلاغ" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "إذا لم يكن ما تفعله سرّي (تدخل كلمات سرية أو\n" #~ "معلومات خاصة أخرى) فيمكنك المساعدة في تحسين التطبيق بالإبلاغ عن\n" #~ "المشكلة." #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "أرسل بلاغا مختصرا (اتصال إنترنت بطيء؛ %s)" #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "&أرسل بلاغا كاملا (يوصى به؛ %s)" #, python-format #~ msgid "Sorry, the application %s has closed unexpectedly." #~ msgstr "عُذرًا، أُغلق تطبيق \"%s\" فجأة." �������������������������������������������������������apport-2.20.1/po/ast.po�����������������������������������������������������������������������������0000644�0000000�0000000�00000132446�12677230222�013011� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:46+0000\n" "Last-Translator: ivarela <ivarela@ubuntu.com>\n" "Language-Team: Asturian <alministradores@softastur.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:17+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: ast\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "Encaboxar" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "Aceutar" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Informe de fallu" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>Sentímoslo, asocedió una fallu internu.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "Si sigues teniendo problemes, intenta rearrancar l'equipu." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "Unviar un informe de fallu p'ayudar a iguar esti problema" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "Inorar problemes futuros d'esta versión de programa" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Amosar detalles" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "_Desaminar llocalmente" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Dexar zarrada" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Siguir" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>Recopilando información del problema</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "La información que tas esbillando puede aidar a los desendolcadores a igüar " "el problema que vas a notificar." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "Unviando la información del problema" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>Unviando información del problema</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "La información recopilada ta siendo unviada al sistema de seguimientu de " "fallos. Esto puede tardar varios minutos." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Ficheru de fallu d'Apport" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(datos binarios)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "Sentímoslo, l'aplicación %s detúvose inesperadamente." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "Sentímoslo, %s zarróse de manera inesperada." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "Sentímoslo, %s esperimentó un fallu internu." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "¿Unviar un informe del problema a los desendolcadores?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Unviar" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "Forciar zarru" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Rellanzar" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "L'aplicación %s dexó de responder." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "El programa «%s» dexó de responder." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Paquete: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "Sentímoslo, hebo un problema al instalar el software." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "L'aplicación %s esperimentó un fallu internu." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "L'aplicación %s zarróse inesperadamente." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "Inorar problemes futuros d'esti tipu" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Anubrir Detalles" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Usu: %s <informe> <direutoriu oxetivu>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "El direutoriu de destín esiste y nun ta ermu." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Recopilando información del problema" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Recopilar información del sistema" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "Necesítase autenticación pa recopilar información del sistema pa informar " "d'esti problema" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "Informes de problemes del sistema" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" "Escribi la to contraseña p'acceder a los informes de problemes de programes " "del sistema" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Informar d'un problema..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Notificar un mal furrulamientu a los desendolcadores" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "Consulta la páxina man pa tener más detalles." #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "especifica'l nome del ficheru de rexistru xeneráu por valgrind" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" "reusar un direutoriu de pruebes (SDIR) creáu anteriormente o, si nun esiste, " "crealu" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" "nun crear nin reusar un direutoriu de pruebes pa símbolos de depuración " "adicional, sinón depender namái de los símbolos de depuración instalaos." #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" "reutilizar un direutoriu caché (REDC) creáu previamente, si nun esiste, " "crealu" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" "informar del avance na descarga/instalación al instalar paquetes nel sistema " "de pruebes" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" "l'executable que cuerre baxo'l complementu memcheck valgrind na deteición de " "fugues de memoria" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "Fallu: %s nun ye un executable. Parando." #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" "El so sistema puede volvese inestable y ye dable que necesite reanicialu." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" "Nun poner les traces nueves nel informe, pero escribiles na salida estándar." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "Arrancar una sesión interactiva de gdb col volcáu de memoria del informe (-" "o inoráu; nun se reescribe l'informe)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "Escribir l'informe modificáu nel ficheru dau, n'arróu de camudar l'informe " "orixinal" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" "Desaniciar del informe el volcáu de memoria tres la rexeneración de la traza " "de la pila" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "Sobroscribir los informes de CoreFile" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "Sobroscribir los informes de ExecutablePath" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "Sobroscribir los informes de ProcMaps" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "Recontruyir la información d'informes de paquetes" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" "Enteponer marques de tiempu pa rexistrar mensaxes, pa operación en llote " "(batch)" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" "Direutoriu pa paquetes desempacaos. Les execuciones futures asumirán que " "cualesquier paquete yá descargáu estráise tamién a esta caxa de sable " "(sandbox)." #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" "Camín a un ficheru cola información d'autenticación a la base de datos de " "fallos. Esto úsase cuando especifica un ID de fallu pa cargar una pila de " "rastros reconstituyíos (namái si nun s'especifiquen nin -g, nin -o nin -s" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "Amosar la pila de rastros reconstituyíos y pidir confirmación enantes " "d'unviales a la base de datos d'errores" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" "Camín a la base de datos sqlite duplicada (por omisión: ensin comprobación " "de duplicáu)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "Nun pues usar -C ensin -S. Parando." #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "¿D'alcuerdu n'unviar esto como axuntos? [y/n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "Esti paquete nun paez tar instaláu correcho" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "Esti nun ye un paquete oficial de %s. Desinstala cualquier paquete de " "terceros ya inténtalo de nueves." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "Tienes dalgunos paquetes instalaos con versiones obsoletes. Por favor, anova " "los siguientes paquetes y verifica si'l problema persiste:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "programa desconocíu" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Sentimoslo; el programa «%s» zarróse inesperadamente" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Problema en %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "El to equipu nun tien memoria llibre suficiente p'analizar el problema " "automáticamente y unviar un informe a los desendolcadores." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Informe de problema incorreutu" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "Nun tienes permitíu acceder a esti informe de problema." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Fallu" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" "Nun hai suficiente espaciu de discu disponible pa procesar esti informe." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "Nun s'especificó dengún paquete" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "Necesites especificar un paquete o un PID. Consulta --help pa más " "información." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Permisu denegáu" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "El procesu especificáu nun te pertenez. Executa esti programa como " "propietariu del procesu o como superusuariu." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "PID incorreutu" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "El ID de procesu especificáu nun pertenez a dengún programa." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "El paquete %s nun esiste" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "¿De qué triba de problema quier informar?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Síntoma desconocíu" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "El síntoma «%s» ye desconocíu" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [opciones] [síntomes|pid|paquete|camín pal programa|.apport/.crash]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Entamar nel mou de notificación de fallos. Requier --package y un --pid " "opcional, o sólo un --pid. Si nun s'apurre dengún, amuesa una llista de " "síntomes conocíos. (Implícitu si s'apurre un únicu argumentu.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "Rellenar un informe de fallu sobre un síntoma. (Implícitu si s'apurre un " "nome de síntoma como únicu argumentu.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "Especifique'l nome del paquete nel mou --file-bug. Esto ye opcional si un --" "pid s'especifica. (Implícitu si se dió un nome de paquete como un únicu " "argumentu)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "El pid proporcionáu ye una aplicación colgada." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "Informar del fallo a partir de los ficheros .apport o .crash indicaos en " "llugar de los pendientes en %s. (Implícitu si s'indica el ficheru como únicu " "argumentu.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Amosar el númberu de versión d'Apport" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "Esto executará apport-retrace nuna terminal pa desaminar el fallu." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "Executar una sesión gdb" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "Executar una sesión gdb ensin descargar símbolos de depuración" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "Anovar %s con una pila de siguimientu completamente simbólica" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "Esti informe de problema aplícase a un programa que nun ta instaláu." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" "El problema ocurrió col programa %s, que camudó dende qu'asocedió'l fallu." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "L'informe del problema ta frayáu y nun puede procesase." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "L'informe remanez d'un paquete non instaláu." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "Hebo un fallu mentanto s'intentaba procesar l'informe de fallu:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "Nun pudo determinase'l nome del paquete binariu o fonte." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Nun puede arrancase'l restolador web" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "Nun puede arrancase'l restolador web p'abrir %s." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" "Introduza la información de la so cuenta pal sistema de seguimientu de " "fallos de %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Problemes cola rede" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "Nun puede afitase la conexón cola base de datos d'errores, por favor, " "verifique la so conexón a Internet." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Memoria escosada" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "El to sistema nun tien la memoria suficiente pa procesar esti informe de " "fallu." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "El problema nun puede notificase:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Problema yá conocíu" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "Esti problema yá foi comunicáu previamente nel informe de fallu amosáu nel " "restolador web. Por favor, comprueba si puedes amestar cualesquier " "información adicional que pudieres resultar d'utilidá a los desendolcadores." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "Ya s'informó d'esti problema a los desendolcadores. ¡Gracies!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "El procesu de reanudación colingóse cerca del final y parecerá que se " "completó normalmente." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Calca una tecla pa siguir..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "¿Qué quies facer? Les tos opciones son:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Por favor escueye (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "Lluéu de que la información del problema se tenga unviao, por favor,\n" "completa'l formulariu que s'abrirá automáticamente nel to restolador." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "&Unviar informe (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "&Desaminar llocalmente" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "&Ver informe" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" "&Guardar l'informe pa unviar lluéu, o pa copialu en dalgún otru llugar." #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "Encaboxar ya &inorar fallos futuros d'esta versión del programa." #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Encaboxar" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Ficheru del informe del problema:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&Confirmar" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Fallu: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "La información recopilada puede unviase a los desendolcaodres pa meyorar\n" "l'aplicación. Esto puede tardar unos minutos." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "La información recopilada ta unviándose al sistema de seguimientu de " "fallos.\n" "Esto puede tardar unos minutos." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Fecho" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "dengún" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Esbillao: %s. Delles opciones:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Opciones:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Camín al ficheru (Enter pa encaboxar):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "El ficheru nun esiste." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "Esto ye un direutoriu." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "Pa continuar, visite la siguiente URL:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "Puede llanzar un restolador agora, o copiar esta URL a un restolador n'otru " "equipu." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Llanzar un restolador agora" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" "Nun hai informes de fallos pendientes. Intenta --help pa mas información." #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "El to sistema atopó un problema seriu del núcleu" #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>¿Unviar informe del problema a los desendolcadores?</b></big>\n" #~ "\n" #~ "Una vegada se heba unviáu l'informe del problema, rellena'l formulariu " #~ "qu'aparecerá na ventana del restolador (que s'abrirá automáticamente)." #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "Informe completu (recomendáu; %s)" #~ msgid "Content of the report" #~ msgstr "Conteníu del informe" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "Si nun tabes faciendo res confidencial (como introducir contraseñes o otra " #~ "información privada), puedes informar del problema p'aidar a meyorar " #~ "l'aplicación." #~ msgid "Kernel problem" #~ msgstr "Problema nel núcleu" #~ msgid "Package problem" #~ msgstr "Problema nel paquete" #~ msgid "Restart _Program" #~ msgstr "Reaniciar el _programa" #~ msgid "_Report Problem..." #~ msgstr "Info_rmar del problema..." #~ msgid "_Send Report" #~ msgstr "_Unviar informe" #~ msgid "&Report Problem..." #~ msgstr "&Informar d'un problema..." #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s zarróse de forma inesperada en %s a %s." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "Si nun tabes faciendo res confidencial (como introducir contraseñes o\n" #~ "otra información privada), puedes informar del problema p'aidar a\n" #~ "meyorar l'aplicación." #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "&Unviar l'informe completu (recomendáu; %s)" #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Esto asocedió durante una suspensión anterior ya impidió reanudase " #~ "afayadizamente." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Esto asocedió durante una ivernación anterior ya impidió reanudase " #~ "afayadizamente." #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">Sentímoslo; falló la instalación o " #~ "anovación del paquete «%s».</span>" #~ msgid "Application problem" #~ msgstr "Problema n'aplicación" #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "Informe reducíu (conexón lenta a Internet; %s)" #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "Esto desaniciará dalgunos elementos grandes del informe. Éstos son mui " #~ "útiles pa que los desendolcadores depuren el problema, pero puede resulta-" #~ "yos mui grandes pa unviarlos si tienes una conexón lenta a Internet." #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "" #~ "Puedes aidar a los desendolcadores a igüar el paquete informando del " #~ "problema." #~ msgid "_Ignore future crashes of this program version" #~ msgstr "_Inorar fallos futuros d'esta versión del programa" #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "Si lo notifiques, aidarás a los desendolcadores a iguar el problema." #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "Unviar informe &reducíu (conexones d'internet lentes; %s)" #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "Falló la instalación o l'anovamientu del paquete «%s»." #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "Esti nun ye un paquete %s xenuín" #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [opciones] <informe apport del problema | ID del fallu>" #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "" #~ "tampoco necesita facer una operación llocal (-s,-g,-o) o suministrar un " #~ "ficheru d'autentificación (--auth); vea --help pa una pequeña aida" #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "númberu incorreutu d'argumentos use --help pa una pequeña aida" #, python-format #~ msgid "Sorry, the application %s has closed unexpectedly." #~ msgstr "Sentímoslo, l'aplicación %s zarróse de manera inesperada." #~ msgid "Your system might become unstablenow and might need to be restarted." #~ msgstr "" #~ "El sistema agora podría volvese inestable y pue necesitar un reaniciu." ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/az.po������������������������������������������������������������������������������0000644�0000000�0000000�00000100106�12677230222�012620� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Azerbaijani translation for apport # Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2014. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2014-07-01 14:13+0000\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: Azerbaijani <az@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:17+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: az\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "" #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "" #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/be.po������������������������������������������������������������������������������0000644�0000000�0000000�00000164622�12677230222�012611� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Belarusian translation for apport # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2007. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-09-17 07:37+0000\n" "Last-Translator: Mikola Tsekhan <mail@tsekhan.com>\n" "Language-Team: Belarusian <be@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:17+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: be\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "Apport" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "Скасаваць" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "Добра" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Справаздача аб непаладцы" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>Выбачайце, паўстала ўнутраная памылка.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "Калі праблема з'явіцца зноў, паспрабуйце перазагрузіць кампутар." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "Адправіць справаздачу пра памылку, каб ліквідаваць яе" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "Ігнараваць далейшыя збоі ў гэтай версіі праграмы" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Паказаць падрабязнасці" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "_Лакальная праверка" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Пакінуць зачыненым" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Працягнуць" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>Збор інфармацыі аб няспраўнасці</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "Адбываецца збор інфармацыі, якая можа дапамагчы распрацоўшчыкам выправіць " "гэтую памылку." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "Перадача інфармацыі аб непаладцы" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>Перадача звестак аб няспраўнасці</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "Сабраныя дадзеныя перасылаюцца ў сістэму ўліку памылак. Гэта можа заняць " "некалькі хвілін." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Файл справаздачы Apport" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(двайковыя дадзеныя)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "Выбачайце, прылада %s нечакана прыпынілася." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "Выбачайце, %s нечакана зачынілася." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "Прабачце, у %s адбылася ўнутраная памылка." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Даслаць распрацоўшчыкам паведамленне аб праблеме?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Даслаць" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "Прымусовае закрыццё" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Перазапусціць" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "Дадатак %s перастаў адказваць." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "Праграма \"%s\" перастала адказваць." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Пакет: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "Прабачце, пры ўсталяванні адбылася памылка." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "У дадатку %s адбылася ўнутраная памылка." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "Дастасаванне %s нечакана зачынілася." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "Ігнараваць такія праблемы ў будучыні" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Схаваць падрабязнасці" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Выкарыстанне: %s <справаздача> <тэчка прызначэння>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "Тэчка прызначэння існуе і яна не пустая." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "Імя карыстальніка:" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "Пароль:" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "Збор інфармацыі аб праблеме" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Збор інфармацыі аб праблеме" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "Сабраную інфармацыю можна даслаць распрацоўшчыкам, каб палепшыць " "прыкладанне. Гэта можа заняць некалькі хвілін." #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "Перадача інфармацыі аб непаладцы" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Сабраць сістэмную інфармацыю" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "Трэба даць права, каб сабраць патрэбныя дадзеныя для справаздачнасці гэтай " "праблемы" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "Справаздачы аб сістэмных памылках" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" "Калі ласка, увядзіце пароль для доступу да справаздач пра памылкі ў " "сістэмных праграмах" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Паведаміць аб праблеме..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Паведаміць аб недапрацоўцы распрацоўшчыкам" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "Глядзіце падрабязнасці ў старонках man" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "вызначце імя log файлу valgrind" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" "выкарыстоўваць раней створаны каталог пясочніцы (SDIR) або стварыць яго калі " "яго не існуе" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" "не ствараць і не выкарыстоўваць каталог пясочніцы для дадатковых сімвалаў " "адладкі, а спадзявацца толькі на устаноўленыя сімвалы адладкі." #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" "выкарыстоўваць раней створаны каталог кэша (CDIR) або стварыць яго калі яго " "не існуе" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" "паказваць прагрэс загрузкі/ўстаноўкі пры ўсталёўцы пакетаў у пясочніцу" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" "выкананы файл, які запускаецца пад кантролем valgrind memcheck для " "вызначэння уцечак памяці" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" "Усталяваць у часовае асяроддзе дадатковы пакет (можа задавацца некалькі " "разоў)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "Памылка: %s - не выканальны файл. Прыпынак." #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "Сістэма можа стаць нестабільнай, магчыма спатрэбіцца перазагрузка." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" "Не дадаваць новыя трасіроўкі ў справаздачу, а адсылаць на стандартны вывад." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "Запусціць інтэрактыўны сеанс gdb з дампам ядра са справаздачы (-o " "ігнаруецца; справаздача не перазапісваецца)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "Захаваць змененую справаздачу ў файл замест змены арыгінальнай справаздачы" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "Выдаліць дамп ядра са справаздачы пасля ўзнаўлення трасіроўкі стэка" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "Замяніць CoreFile у справаздачы" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "Замяніць ExecutablePath у справаздачы" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "Замяніць ProcMaps у справаздачы" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "Нанава пабудаваць інфармацыю аб пакетах у справаздачы" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" "Стварыць часавае асяроддзе, затым загрузіць / ўсталяваць у яе неабходныя " "пакеты і адладкавыя сімвалы; без гэтага параметра прадугледжваецца, што " "неабходныя пакеты і адладкавыя сімвалы ў сістэме ўжо ўсталяваныя. Аргумент " "паказвае на базавую тэчку канфігурацыі сістэмы пакетаў; калі Вы паказалі " "\"system\", будуць выкарыстоўвацца сістэмныя файлы канфігурацыі, але толькі " "ў выпадку выяўлення аварыйных сітуацый, якія адбыліся ў выпуску сістэмы, які " "працуе ў дадзены момант." #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" "Паведамляць аб ходзе выканання загрузкі / ўсталёўкі пакетаў у часовае " "асяроддзе" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" "Дадаваць часовыя пазнакі да паведамленняў у часопісе, для групавых аперацый" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" "Стварэнне і выкарыстанне іншых сховішчаў на аснове зыходных, указаных у " "справаздачах" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "Тэчка для захавання пакетаў, загружаных у часовае асяроддзе" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" "Дырэкторыя для распакавання пакетаў. Пры наступных запусках ўсё ўжо " "загружаны пакеты будуць распакоўваць ў гэта ізаляванае асяроддзе." #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" "Шлях да файла з інфармацыяй аб праверцы сапраўднасці базы збояў. " "Выкарыстоўваецца пры ўказанні ID збою для адпраўкі трасіровак стэка (толькі " "калі -g, -o ці -s не пазначаныя)" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "Адлюстраваць трасіроўкі і запытаць пацверджанне перад іх адпраўкай у базу " "дадзеных збояў." #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" "Шлях да дублюючай базы дадзеных sqlite (па змаўчанні: без праверкі " "дублікатаў)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "Нельга выкарыстоўваць -C без -S. Прыпынак." #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "Адправіць гэтыя дастасаванні? [y/n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "Падобна на тое, што гэты пакет усталяваны неправільна" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "Дадзены пакет %s не з'яўляецца афіцыйным. Калі ласка, выдаліце ўсе староннія " "пакеты і паўторыце зноў." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "У Вашай сістэме ўсталяваныя састарэўшыя версіі некаторых пакетаў. Абнавіце " "наступныя пакеты і праверце, ці засталася праблема:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "невядомая праграма" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Прабачце, праграма «%s» аварыйна завяршыла сваю работу" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Праблема ў %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "На Вашым кампутары недастаткова вольнай памяці для таго, каб аўтаматычна " "прааналізаваць няспраўнасць і даслаць справаздачу распрацоўшчыкам." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Няправільная справаздача аб памылцы" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "У Вас не хапае правоў, каб паведамляць аб праблемах." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Памылка" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "Недастаткова месца на дыску для апрацоўкі дадзенай справаздачы." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "Не пазначаны пакет" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "Неабходна пазначыць пакет альбо PID. Запусціце праграму з параметрам --help " "каб атрымаць дадатковую інфармацыю." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Доступ забаронены" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "Пазначаны працэс запушчэны іншым карыстальнікам. Запусціце дадзеную праграму " "з правамі ўладальніка працэса альбо адміністратара сістэмы." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "Памылковы PID" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "Пазначаны PID належыць іншаму працэсу." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "Сімптаматычны скрыпт %s ня можа вызначыць закрануты пакет" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "Пакет %s не існуе" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "Нельга стварыць справаздачу" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "Абнаўленне справаздачы аб праблеме" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "Вы не з'яўляецеся аўтарам альбо атрымальнікам гэтай справаздачы аб праблеме, " "магчыма яна ўжо існуе ці была зачыненая." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "Вы не з'яўляецеся стваральнікам дадзенай справаздачы. Нашмат прасцей, " "адзначыць памылку што яна ўжо існуе, чым ствараць свае каментары і ўкладаць " "іх у новую памылку\n" "\n" "Пасля, мы рэкамендуем Вам падаць новае паведамленне аб памылцы выкарыстання " "\"памылка apport\", і зрабіць заўвагу аб гэтай памылцы ў тым жа файле.\n" "\n" "Вы сапраўды хочаце працягнуць?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "Не сабрана ніякай дадатковай інфармацыі." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "Пра які тып праблемы Вы хочаце паведаміць?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Невядомы сімптом" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "Сімптом \"%s\" невядомы." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "Пасля закрыцця гэтага паведамлення, калі ласка, націсніце на вакно " "прыкладання, каб паведаміць аб праблеме." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "xprop не ўдалося вызначыць ID працэсу акна" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "%prog <нумар справаздачы>" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "Пазначце імя пакета." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" "Дадаць дадатковы тэг да справаздачы. Можа быць паказаны некалькі разоў." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [параметры] [прыкмета|pid|пакет|шлях да праграмы|.apport/.crash файл]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Запуск у рэжыме адпраўкі справаздачы аб памылцы. Патрабуе параметр --package " "і неабавязковы --pid, або толькі --pid. Калі параметры не перададзеныя, " "адлюстроўвае спіс вядомых сімптомаў. (Ужываецца, калі перададзены адзіны " "параметр.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "Цокніце па намечаным акне каб запоўніць справаздачу аб праблеме." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" "Запусціць у рэжыме абнаўлення памылкі. Можа прымаць дадатковы ключ - package." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "Адправіць справаздачу аб памылцы з сімптомам. (Ужываецца, калі назва " "сімптома перададзена ў якасці адзінага параметра.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "Пазначыць імя пакета ў рэжыме --file-bug. Неабавязкова, калі пазначаны --" "pid. (Ужываецца, калі імя пакета перададзена ў якасці адзінага праметра.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "Пазначце запушчаную праграму ў рэжыме - file-bug. У гэтым выпадку " "справаздача аб памылцы будзе ўтрымліваць больш інфармацыі. (Маецца на ўвазе, " "што пазначаны адзіны аргумент - pid.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "Згаданы ідэнтыфікатар належыць працэсу, які не адказвае." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "Адправіць дадзеныя аб збоі з азначанага файла .apport або .crash замест " "ччакаемых у %s. (Ужываецца, калі файл перададзены ў якасці адзінага " "параметра.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" "У рэжыме збору справаздачы аб памылках, сабраная інфармацыя захоўваецца ў " "файле замест яе адпраўкі. Гэты файл можна будзе адправіць пазней, ці з " "іншага кампутара." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Раздрукаваць нумар версіі Apport ." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" "Будзе ажыццёўлены запуск «apport-retrace» у акне тэрміналу для праверкі " "аварыйнага завяршэння працы." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "Запусціць сеанс gdb" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "Запусціць сеанс gdb, абыходзячы загрузкі адладкавых сімвалаў" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "Абнавіць %s з поўным адсочваннем сімвалічнага стэку" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "Дадзеная справаздача адносіцца да праграмы, якая не ўсталявана." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" "Праблема ў праграме %s, да якой былі ўнесены змены з моманту аварыйнага " "завяршэння яе работы." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "Дадзеная справаздача аб непаладцы пашкоджана і не можа апрацоўвацца." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "Справаздача датычыцца пакета, які не быў усталяваны." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "Адбылася памылка пры спробе апрацоўкі справаздачы:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "Немагчыма вызначыць імя пакету альбо крыніцы." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Не атрымалася запусціць вэб-браўзэр" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "Немагчыма запусціць вэб-браўзэр, каб адчыніць %s." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" "Калі ласка, увядзіце інфармацыю аб уліковым запісы для %s сістэмы сачэння " "за памылкамі" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Праблема з сеткай" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "Не атрымоўваецца падлучыцца да базы дадзеных па збоях, калі ласка, праверце " "падлучэнне да Інтэрнэту." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Нястача памяці" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "У сістэме недастаткова памяці для апрацоўкі дадзенай справаздачы аб памылцы." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "Немагчыма паведаміць аб праблеме:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Праблема ўжо вядомая" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "Аб дадзенай няспраўнасці ўжо вядома. Існуючая справаздача аб ёй адкрыта ў " "Вашым браўзэры. Калі ласка, праверце, ці можаце Вы дадаць да яе карысную " "інфармацыю, якая магла бы дапамагчы распрацоўшчыкам." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "Аб гэтай праблеме распрацоўнікам ужо вядома. Дзякуй!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" "Гэта адбылося падчас папярэдняга сеансу прыпынення працы і прывяло да " "немагчымасці належнага аднаўлення працы сістэмы." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" "Гэта адбылося падчас папярэдняга сеансу ўсыплення і прывяло да немагчымасці " "належнага аднаўлення працы сістэмы." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "Адбылася памылка ў працэсе стварэння справаздачы, бо сам працэс завіс перад " "сваім завяршэннем; для нармальнага завяршэння ён павінен быў з'явіцца." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Каб працягнуць, націсніце любую клавішу ..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "Што вы жадаеце зрабіць? Магчымыя варыянты:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Калі ласка выберыце (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i байт)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "Пасля таго, як справаздача будзе дасланая, запоўніце\n" "форму ў акне браўзэра , што адчынілася аўтаматычна." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "&Даслаць паведамленне (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "&Локальна перевірка" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "&Паказаць справаздачу" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" "&Захаваць файл справаздачы для наступнай адпраўкі альбо капіявання куды-" "небудзь" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "Адмяніць і &ігнараваць будучыя збоі ў гэтай версіі праграмы" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Скасаваць" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Файл справаздачы аб праблеме:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&Пацвердзіць" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Памылка: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "Сабраная інфармацыя можа быць накіравана распрацоўшчыкам для\n" "паляпшэння дастасавання. Гэта можа заняць некалькі хвілін." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "Сабраная інфармацыя накіроўваецца да сістэмы адсочвання памылак.\n" "Гэта можа заняць некалькі хвілін." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Зроблена" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "нічога" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Абрана: %s. Некалькі варыянтаў:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Выбар:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Шлях да файла (Enter — адмена):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "Файл не існуе." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "Гэта - дырэкторыя." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "Каб працягнуць, Вы павінны наведаць наступны адрас:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "Зараз Вы можаце адкрыць браўзар ці скапіяваць URL у браўзар на іншы кампутар." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Запусціць браўзар" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "Няма чакаючых паведамленьняў аб збоях. Паспрабуйце ключ --help." #~ msgid "&Report Problem..." #~ msgstr "&Паведаміць аб праблеме..." #~ msgid "_Report Problem..." #~ msgstr "_Паведаміць аб праблеме..." #~ msgid "Package problem" #~ msgstr "Праблемы з пакетам" #~ msgid "Kernel problem" #~ msgstr "Праблемы з ядром" #, python-format #~ msgid "Sorry, %s closed unexpectedly" #~ msgstr "Прабачце, праграма %s нечакана зачыніліся" #~ msgid "&Ignore future crashes of this program version" #~ msgstr "&Ігнараваць будучыя збоі ў гэтай версіі праграмы" #, python-format #~ msgid "Sorry, the program \"%s\" closed unexpectedly." #~ msgstr "Прабачце, праграма \"%s\" нечакана зачыніліся." #~ msgid "Restart &Program" #~ msgstr "&Перазапусціць праграму" #~ msgid "&Details..." #~ msgstr "&Падрабязнасці..." #~ msgid "Send this data to the developers?" #~ msgstr "Адаслаць гэтыя дадзеныя распрацоўшчыкам?" #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "" #~ "Вы можаце дапамагчы распрацоўшчыкам, адаслаўшы справаздачу аб знойдзенай " #~ "непаладцы." #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "" #~ "Вы можаце дапамагчы распрацоўшчыкам выправіць дадзеную праблему, адаслаўшы " #~ "справаздачу аб ёй." #~ msgid "" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "Пасля таго, як справаздача будзе даслана, запоўніце форму ў аўтаматычна " #~ "выплыўшым акне аглядальніка." #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "Кароткая версія справаздачы (пры марудным злучэнні з Інтэрнэтам; %s)" #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Гэта здарылася падчас папярэдняга пераходу ў рэжым чакання і перашкаджала " #~ "аднаўленню сістэмы." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Гэта адбылося падчас папярэдняга засынання і перашкаджала ўзнаўленню сістэмы." #~ msgid "Restart _Program" #~ msgstr "Перазапусціць _праграму" #~ msgid "_Ignore future crashes of this program version" #~ msgstr "_Ігнараваць будучыя збоі ў гэтай версіі праграмы" #~ msgid "Content of the report" #~ msgstr "Змест справаздачы" #~ msgid "Application problem" #~ msgstr "Праблемы дастасавання" #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">Прабачце, не ўдалося ўсталяваць альбо " #~ "абнавіць пакет «%s».</span>" #~ msgid "_Send Report" #~ msgstr "Да_слаць паведамленне" #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [парамэтры] <справаздача аб праблеме apport | ID збою>" #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "" #~ "Вы можаце выконваць лакальныя аперацыі (-s, -g, -o), інакш прадастаўце файл " #~ "праверкі сапраўднасці (--auth); набярыце --help для кароткай даведкі" #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "няправільны лік аргументаў; набярыце - help для кароткай даведкі" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "Калі Вы не ўводзілі сакрэтную інфармацыю (паролі або асабістыя дадзеныя),\n" #~ "Вы можаце дапамагчы нам палепшыць праграму, адправіўшы справаздачу аб " #~ "памылцы." #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s нечакана зачынілася %s у %s." #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "Ня атрымалася ўсталяваць альбо абнавіць пакет «%s»." #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "" #~ "Адаслаць &скарочаную версію справаздачы (павольнае злучэнне з Інтэрнэтам; %s)" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "Калі Вы ня ўводзілі сакрэтную інфармацыю (паролі або асабістыя дадзеныя), Вы " #~ "можаце дапамагчы нам палепшыць праграму, адправіўшы справаздачу аб непаладцы." #, python-format #~ msgid "Sorry, %s closed unexpectedly." #~ msgstr "Прабачце, праграмы %s нечакана зачыніліся." #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "У Вашай сістэме выяўлена сур'ёзная няспраўнасць ядра." #, python-format #~ msgid "Sorry, the package \"%s\" failed to install or upgrade." #~ msgstr "Прабачце, адбылася памылка ўсталёўкі або абнаўлення пакета \"%s\"." #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>Пераслаць распрацоўшчыкам справаздачу аб няспраўнасці?</b></big>\n" #~ "\n" #~ "Пасля таго, як справаздача будзе адаслана, запоўніце, калі ласка, форму, " #~ "якая аўтаматычна адкрыецца ў браўзары." #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "Гэтае дзеянне выдаліць некаторыя вялікія элементы з паведамлення. Дадзеныя " #~ "элементы вельмі карысныя для распрацоўшчыкаў, але могуць быць занадта " #~ "вялікімі для загрузкі ў выпадку, калі Вы падлучаны да Інтэрнэту праз " #~ "павольны канал." #~ msgid "Your system might become unstablenow and might need to be restarted." #~ msgstr "" #~ "Праца вашай сістэмы цяпер можа стаць нестабільнай. Сістэму варта " #~ "перазагрузіць." ��������������������������������������������������������������������������������������������������������������apport-2.20.1/po/bg.po������������������������������������������������������������������������������0000644�0000000�0000000�00000155734�12677230222�012617� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Bulgarian translation for apport # Copyright (c) 2006 Rosetta Contributors and Canonical Ltd 2006 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:47+0000\n" "Last-Translator: Martin Pitt <martin.pitt@ubuntu.com>\n" "Language-Team: Bulgarian <bg@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:17+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: bg\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "Apport" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Доклад за грешка" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>Извинете, възникна вътрешна грешка.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" "Ако се сблъскате с този проблем в бъдеще, опитайте да рестартирате компютъра." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" "Изпратете доклад за грешка, за да помогнете за решаването на този проблем" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "Игнорирай бъдещи проблеми с тази версия на програмата" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Покажи детайлите" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "_Локална проверка" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Остави затворено" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Продължи" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>Събиране на информация за проблем</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "Бива събирана информация, която може да помогне на разработчиците да " "поправят проблема, който докладвате." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "Прехвърляне на информация за проблема" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>Качване на информация за проблем</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "Събраната информация бива изпращана към системата за следене на грешки. Това " "може да отнеме няколко минути." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Apport файл с доклад за срив" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(двоични данни)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "Извинете, приложението %s внезапно спря." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "Извинете, %s беше затворено неочаквано." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "Извинете, възникна вътрешна грешка в %s." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Да се изпраща ли доклад за грешка до разработчиците?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Изпрати" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "Принудително затваряне" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Стартирай отново" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "Приложението «%s» престана да отговаря." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "Програмата «%s» престана да отговаря." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Пакет: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "Извинете, възникна проблем при инсталирането на софтуер." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "В приложението %s възникна вътрешна грешка." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "Приложението %s внезапно се затвори." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "Игнорирай бъдещи проблеми от този тип" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Скрий детайлите" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "Потребителско име:" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "Парола:" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "Събиране на информация за проблема" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Събиране на информация за проблема" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "Прехвърляне на информация за проблема" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Събери информация за системата" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "За да изпратите съобщение за проблем и събиране на информация за системата, " "е необходимо да се идентифицирате" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "Доклади за системни грешки" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" "Моля, въведете паролата си за достъп до докладите за проблеми на системни " "програми" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Докладвай за проблем..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Докладвай за неизправност на разработчиците" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "Вижте повече подробности в man страницата." #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "укажете името на лог файла за valgrind" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" "използвай по-рано създадената директория за времената среда (SDIR) или я " "създайте, ако тя не съществува" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" "не създавай и не използвай директорията на времената среда, за допълнителни " "символи за отстраняване на грешки, а разчитай само на установените символи " "за отстраняване на грешки." #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" "използвай по-рано създадената кеш директория (CDIR) или я създаде, ако тя не " "съществува" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" "докладвай прогреса за сваляне/инсталиране по врене на инсталирането на " "пакетите в времената среда" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" "изпълним файл, който стартира под контрола на valgrind memcheck за откриване " "на изтичане на памет" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" "Инсталирай във времената среда допълнителен пакет (може да се указва няколко " "пъти)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "Грешка: %s не е изпълним файл. Спиране." #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" "Сега вашата система може да стане нестабилна и да се наложи да я " "рестартирате." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "Стартирай интерактивна gbg сесия с дъмпа от ядрото на доклада (-о " "игнорирано; не презаписва доклада)." #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "Съхрани модифициран доклад с дадено име на файл вместо променяне на " "оригиналния доклад." #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" "Изтрий дъмпа от ядрото от доклада след регенериране трасирането на стека." #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "Замени CoreFile в доклада" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "Замени ExecutablePath в доклада" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "Замени ProcMaps в доклада" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "Изгради наново пакетната информация в доклада" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" "Създай временна среда, след това изтегли/инсталирай необходимите пакети и " "символи за отстраняване на грешки; без тази опция се предполага, че " "необходимите пакети и символи за отстраняване на грешки вече са инсталирани. " "Аргумента указва базовата директория за конфигурация на пакетната система; " "ако сте задали «system», ще се използват системните конфигурационни файлове, " "но само в случай на извънредни ситуации, възникнали в изданието на " "работещата в момента система." #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" "Докладвай за напредъка при сваляне/инсталиране на пакети във времената среда" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" "Добави временни отметки до съобщенията в дневника за групови операции" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" "Кеш директория за съхраняване на пакетите, изтеглени във времената среда" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" "Директория за разопаковане на пакети. Когато повторение всички вече " "изтеглени пакети ще се разопаковат в тази времена среда." #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" "Път към дублираната sqlite база данни (стандартно: без проверка за дублиране)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "Не може да се използва без -C без -S. Спиране." #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "Да се изпрати ли прикаченото? [y/n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "Този пакет не изглежда да е инсталиран правилно" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "Това не е официален %s пакет. Моля, премахнете пакетите от трети страни и " "опитайте отново." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "В системата ви има инсталирани остарели версии на някои пакети. Моля, " "надградете тези пакети и проверете, останал ли е проблема:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "неизвестна програма" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Извинете, програмата «%s» аварийно се затвори" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Проблем в %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "Вашият компютър няма достатъчно свободна памет, за да се анализира " "автоматично проблема и да изпрати доклада на разработчиците." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Невалиден доклад с проблем" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "Нямате достъп до този доклад за проблем." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Грешка" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "Няма достатъчно свободно място за обработка на този доклад." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "Не е указан пакет" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "Трябва да укажете пакет или PID. Вижте --help за повече информация." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Достъпа е отказан" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "Указаният процес не ви принадлежи. Моля, стартирайте тази програма от името " "на собственика на процеса или като root потребител." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "Невалиден PID" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "Указания идентификатор не принадлежи на програма." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "Симптомният скрипт %s не може да определи засегнат пакет" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "Пакета %s не съществува" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "Не може да бъде създаден доклад" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "Актуализиране на доклада за проблема" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "Вие не се явявате изпращач или абонат на доклада за проблем, възможно е " "доклада да е дублиран или вече е затворен.\n" "Моля създайте нов доклад като използвате «apport-bug»." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "Вие не сте създателят на този доклад за проблем. По-лесно е да маркирате " "тази грешка като дублиран на друг, от колкото да преместите вашите коментари " "и прикачени файлове в нова грешка.\n" "\n" "Освен това, ние ви препоръчваме да регистрирате нов доклад за грешка като " "използвате «apport-bug» и създадете коментар в тази грешка в същият файл.\n" "\n" "Наистина ли искате да продължите?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "Не е събрана допълнителна информация." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "Какъв вид проблем искате да докладвате?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Неизвестен симптом" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "Симптомът «%s» е неизвестен." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "След като затворите това съобщение, моля кликнете на прозореца на " "приложението, за да докладвате за този проблем." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "xprop неуспя да определи идентификатора на процеса за прозореца" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "%prog <номер на доклада>" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "Посочете име на пакета." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" "Добавете допълнителен етикет към доклада си. Може да бъде указан няколко " "пъти." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [параметри] [признак|pid|пакет|път до програмата|.apport/.crash файл]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Стартиране в режим на регистриране на грешка. Изисква --package и по избор --" "pid, или само --pid. Ако не е подаден аргумент се показва списък с известни " "симптоми. (Стандартно ако е подаден единствен аргумент.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "Кликнете на целевият прозорец, за да попълните доклад за грешка." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" "Стартиране в режим на обновяване на грешка. Приема се аргумент по избор --" "package." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "Регистриране на доклад за грешка относно симптом. (Стандартно ако името на " "симптома е подадено като единствен аргумент.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "Посочете името на пакета в --file-bug режима. Това е по избор ако --pid e " "посочен. (Стандартно ако името на пакета е подадено като единствен аргумент.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "Определете работеща програма -- в -file-bug режим. Ако това е посочено, " "доклада за грешка ще съдържа повече информация. (Стандартно ако pid е даден " "като единствен аргумент.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "Посоченият идентификатор принадлежи на процес, който не отговаря." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "Докладване на срив от даден .apport или .crash файл вместо от висящите в %s. " "(Стандартно ако файла е подаден като единствен аргумент.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Отпечатай номера на версията на Apport." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" "Ще се стартира «apport-retrace» в терминален прозорец и ще извърши проверка " "на аварийното завършване на работата." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "Стартирай gdb сесия" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" "Стартирай gdb сесия без изтегляне на символите за отстраняване на грешки" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" "Актуализирай %s с пълно проследяване на символичното трасиране на стека" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "Проблемът се отнася за програма, която вече не е инсталирана." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" "Проблемът възникна с програмата %s, в която са внесени промени след нейното " "аварийно завършване на работа." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "Този доклад за проблем е повреден и не може да бъде обработен." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "Доклада се отнася за пакет, който не е инсталиран." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "Възникна грешка при обработката на този доклад за проблем:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "" "Не може да бъде определено името на пакета или на пакета с изходния код." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Не може да се стартира уеб браузъра" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "Не може да се стартира уеб браузъра, за да се отвори %s." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" "Моля въведете вашите потребителски данни за %s системата за следене за грешки" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Мрежов проблем" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "Не може да се свърже с базата данни за сривове, моля проверете връзката с " "интернет." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Изчерпване на паметта" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "Вашата система не разполага с достатъчно памет, за да обработи този доклад " "за срив." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "Проблемът не може да бъде докладван:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Проблемът вече е известен" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "За този проблем е вече известно. Съществуващият доклад за него е отворен в " "браузъра ви. Моля, проверете дали можете да добавите друга полезна " "информация, която може да помогне на разработчиците." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "Този проблем вече е бил докладван на разработчиците. Благодарим ви!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "Продължаването заби към края, но изглежда процедурата беше завършена " "нормално." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Натиснете някой клавиш, за да продължите..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "Какво бихте искали да направите? Вашите опции са:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Моля, изберете (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i байта)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "След като доклада за проблема бъде изпратен, моля попълнете формата\n" "в браузъра, който ще се отвори след това." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "&Изпрати доклад (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "&Локална проверка" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "&Прегледай доклада" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" "&Съхрани файла на доклада за изпращане по-късно или копиране на друго място" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "Отмени и &игнорирай бъдещи сривове на тази версия на програмата" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Отмени" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Отчетен файл на проблем:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&Потвърди" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Грешка %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "Събраната информация може да се изпрати на разработчиците, за да\n" "подобрят приложението. Това може да отнеме няколко минути." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "Събраната информация се изпраща на системата за следене за грешки.\n" "Това може да отнеме няколко минути." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Готово" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "нищо" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Избран: %s. Множество избори:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Избори:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Път до файл (Enter за отказ):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "Файлът не съществува." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "Това е папка." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "За да продължите, трябва да посетите следния адрес:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "Можете да стартирате браузъра сега или да копирате връзката в браузър на " "друг компютър." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Стартирай сега браузъра" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" "Няма предстоящи доклади за сривове. Пробвайте --help за повече информация." #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "Пълен доклад (препоръчва се; %s)" #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>Изпращане на доклад с проблем към разработчиците?</b></big>\n" #~ "\n" #~ "След като бъде изпратен доклада с проблем, моля, отворете формуляра в " #~ "автоматично отворилия се прозорец на уеб-браузера!" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "Ако не правехте нищо конфиденциално (въвеждане на пароли или друга лична " #~ "информация), можете да помогнете да бъде подобрено приложението, като " #~ "докладвате за проблема." #~ msgid "Application problem" #~ msgstr "Проблем с приложение" #~ msgid "_Send Report" #~ msgstr "_Изпращане на доклад" #~ msgid "Restart _Program" #~ msgstr "Рестартиране на _програмата" #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">Съжалявам,пакета \"%s\" не успя да се " #~ "инсталира или надгради.</span>" #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "Намален доклад (при бавна Интернет връзка; %s)" #~ msgid "_Ignore future crashes of this program version" #~ msgstr "_Игнориране на бъдещи сривове в тази версия на програмата" #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "Това ще премахне голяма част от доклада. Тази част е изключително полезна за " #~ "разработчиците при откриване на проблема, но може да е твърде голяма за " #~ "качване, ако имате бавна Интернет връзка." #~ msgid "_Report Problem..." #~ msgstr "_Докладване на проблем..." #~ msgid "Kernel problem" #~ msgstr "Проблем с ядрото" #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "" #~ "Можете да помогнете на разработчиците да поправят пакета като докладвате за " #~ "проблема." #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "Това не е автентичен пакет %s" #~ msgid "Content of the report" #~ msgstr "Съдържание на доклада" #~ msgid "Package problem" #~ msgstr "Проблем с пакет" #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "Вашата система срещна сериозен проблем с ядрото." #~ msgid "&Report Problem..." #~ msgstr "&Докладване на проблем..." #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "" #~ "Можете да помогнете на разработчиците да поправят проблем като го докладвате." #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "Пакетът \"%s\" не успя да се инсталира или надгради." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "Ако не правите нищо поверително (въведени пароли или друга\n" #~ "лична информация), Вие може да помогнете за подобряване на\n" #~ "програмата като докладване проблема." #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s се затвори неочаквано на %s в %s." #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "&Изпращане на пълен доклад (препоръчително; %s)" #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "Изпращане на &кратък доклад (бавна интернет връзка; %s)" #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Това се случи при предишно заспиване и попречи на правилното продължаване." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Това се случи при предишно дълбоко заспиване и попречи на правилното " #~ "продължаване." #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [параметри] <доклад за проблем apport | ID на грешката>" #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "неправилен брой аргументи; използвайте --help за кратка справка" ������������������������������������apport-2.20.1/po/bn.po������������������������������������������������������������������������������0000644�0000000�0000000�00000113605�12677230222�012615� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Bengali translation for apport # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2009. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2011-10-07 06:10+0000\n" "Last-Translator: Khandakar Mujahidul Islam <suzan229@gmail.com>\n" "Language-Team: Bengali <bn@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:17+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: bn\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "ক্র্যাশ প্রতিবেদন" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>দুঃখিত, আভ্যন্তরীন ত্রুটি ঘটেছে।</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" "যদি আপনি অতিরিক্ত কোন সমস্যা উল্লেখ করেন, কম্পিউটার পুনরায় আরম্ভ করার " "চেষ্টা করুন।" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "এই সমস্যা নির্ধারনে সহায়তা করতে ত্রুটির প্রতিবেদন পাঠান" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "এই প্রোগ্রাম সংস্করনের ভবিষ্যত সমস্যা উপেক্ষা করুন" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "বিস্তারিত প্রদর্শন করুন" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "স্থানীয়ভাবে পরীক্ষা করুন (_E)" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "পরিত্যাগ পরিবেষ্টিত" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "চালিয়ে যান" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "দুঃখিত, %s অপ্রত্যাশিতভাবে বন্ধ হয়ে গেছে।" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "দুঃখিত, %s অভ্যন্তরীণ ত্রুটি অভিজ্ঞ হয়েছে।" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "পাঠান" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "পুনরায় আরম্ভ করুন" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "প্যাকেজ: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "দুঃখিত, সফটওয়্যার ইন্সটল করার সময় সমস্যা হয়েছে।" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "অ্যাপ্লিকেশন %s অপ্রত্যাশিতভাবে বন্ধ হয়ে গেছে।" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "এই ধরণের ভবিষ্যৎ সমস্যা উপেক্ষা করুন" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "বিস্তারিত আড়াল করুন" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "" #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "ব্যাচ অপারেশনের জন্য, বার্তা লগ করতে টাইমস্ট্যাম্প শুরুতে যোগ করুন" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "এই প্যাকেজ সঠিকরূপে ইনস্টল করা যাবেনা বলে মনে হচ্ছে" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "এটি একটি অফিসিয়াল %s প্যাকেজ নয়। অনুগ্রহ করে কোনো তৃতীয় পক্ষের প্যাকেজ " "অপসারণ করুন এবং পুনরায় চেষ্টা করুন।" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "অজানা প্রোগ্রাম" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "দুঃখিত, \"%s\" প্রোগ্রামটি অপ্রত্যাশিতভাবে বন্ধ হয়ে গেল" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "%s এ সমস্যা" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "স্বয়ংক্রিয়ভাবে সমস্যাটি পর্যালোচনা করা এবং ডেভেলপারদেরকে রিপোর্ট করার জন্য " "আপনার কম্পিউটারে পর্যাপ্ত পরিমাণ খালি মেমোরি নেই।" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "অবৈধ সমস্যা রিপোর্ট" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "এই সমস্যা রিপোর্টটিতে আপনার প্রবেশাধিকার নেই।" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "ত্রুটি" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "কোন প্যাকেজ নির্দিষ্ট করা হয় নি" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "অনুমতি প্রত্যাখ্যাত" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "%s প্যাকেজের অস্তিত্ব নেই" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "কি ধরণের সমস্যা আপনি রিপোর্ট করতে চান?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "অজানা লক্ষণ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "\"%s\" লক্ষণটি পরিচিত নয়।" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" "ক্র্যাশ পরীক্ষা করতে টার্মিনালের উইন্ডোর অ্যাপোর্ট-অনুসন্ধান চালু করা হবে।" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "gdb সেশনে সচল" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "ডিবাগ প্রতীকে ডাউনলোড করা ছাড়া gdb সেশনে সচল" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "সম্পূর্ণ প্রতীকী স্ট্যাক ট্রেস দ্বারা %s হালনাগাদ করুন" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" "প্রোগ্রাম %s দ্বারা সমস্যা ঘটেছে, ক্র্যাশ সংঘটন হতে যা পরিবর্তিত হয়েছে।" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "" #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "এই সমস্যা প্রতিবেদন প্রক্রিয়াকরণ প্রচেষ্টার সময় একটি ত্রুটি ঘটেছে:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "ওয়েব ব্রাউজার চালু করতে অসমর্থ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "%s খুলতে ওয়েব চালু করতে অসমর্থ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "%s বাগ পর্যবেক্ষণ সিস্টেমের জন্য আপনার অ্যাকাউন্টের তথ্য দিন" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "নেটওয়ার্ক সমস্যা" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "বিধস্ত ডাটাবেসে সংযোগ করতে পারছি না, অনুগ্রহ করে আপনার ইন্টারনেট সংযুক্তি " "পরীক্ষা করুন।" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "এই বিধস্ত রিপোর্ট প্রক্রিয়াজাত করার জন্য আপনার সিস্টেমে পর্যাপ্ত মেমোরি নেই।" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "সমস্যাটি রিপোর্ট করা যাবে না:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "সমস্যাটি ইতঃপূর্ব জ্ঞাত" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "এই সমস্যাটি ইতোমধ্যে ডেভেলপারকে প্রতিবেদন করা হয়েছে। আপনাকে ধন্যবাদ!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "এগিয়ে যাওয়ার জন্য যে কোন একটি কী চাপুন..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "আপনি কি করতে পছন্দ করেন? আপনার বাছাইযোগ্য তালিকা:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "স্থানীয়ভাবে পরীক্ষা করুন (&E)" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "বাতিল (&C)" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" #, python-format #~ msgid "Sorry, the application %s has closed unexpectedly." #~ msgstr "দুঃখিত, অ্যাপ্লিকেশন %s অপ্রত্যাশিতভাবে বন্ধ হয়ে গেছে।" ���������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/br.po������������������������������������������������������������������������������0000644�0000000�0000000�00000100074�12677230222�012615� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Breton translation for apport # Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2011. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2011-10-07 06:10+0000\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: Breton <br@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:17+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: br\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "" #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "" #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/bs.po������������������������������������������������������������������������������0000644�0000000�0000000�00000126541�12677230222�012625� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Bosnian translation for apport # Copyright (c) 2006 Rosetta Contributors and Canonical Ltd 2006 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:47+0000\n" "Last-Translator: Martin Pitt <martin.pitt@ubuntu.com>\n" "Language-Team: Bosnian <bs@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:17+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: bs\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "Apport" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "Otkaži" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "Uredu" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Izvještaj o padu" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>Nažalost, desila se interna greška.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "Ako primjetite dodatne probleme, pokušajte ponovo pokrenuti računar." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "Pošaljite izvještaj o grešci kako bi pomogli u njenoj popravci" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "Ignoriši buduće probleme ove verzije programa" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Prikaži detalje" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "_Ispitaj lokalno" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Ostavi zatvoreno" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Nastavi" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>Sakupljanje informacija o problemu</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "Prikupljaju se informacije koje mogu da pomognu autorima u rješavanju " "problema koji ste prijavili." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "Šaljem informaciju o problemu" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>Šaljem informaciju o problemu</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "Prikupljene informacije se šalju sistemu za praćenje grešaka. Ovo može " "potrajati par minuta." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Apport datoteka urušavanja" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(binarni podaci)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "Nažalost, aplikacija %s se zaustavila neočekivano." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "Nažalost, %s je neočekivano zatvoren." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "Nažalost, u %s se desila interna greška." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Želite li da pošaljete izvještaj autorima?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Pošalji" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "Forsiraj zatvoreno." #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Ponovo pokreni" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "Aplikacija %s ne odgovara." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "Program \"%s\" je prestao odgovarati." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Paket: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "Nažalost, desio se problem pri instalaciji programa." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "Aplikacija %s je imala internu grešku." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "Program %s je neočekivano zatvoren." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "Ignoriši buduće probleme ove vrste" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Sakrij detalje" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Upotreba: %s <report> <target directory>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "Odredišni direktorij postoji i nije prazan." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "Korisničko ime:" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "Šifra:" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "Prikupljanje informacija o problemu" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Prikupljanje informacija o problemu" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "Sakupljene informacije će biti poslane razvojnom timu kako bi poboljšali " "program. Ovo može potrajati par minuta." #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "Šaljem informaciju o problemu" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Sakupljanje sistemskih informacija" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "Potrebna je autentifikacija za prikupljanje sistemskih informacija za " "prijavu ovog problema" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "Izvještaji o problemima u sistemu" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" "Molimo unesite svoju šifru kako bi pristupili izvještaju o problemima " "nastalim u sistemskim programima" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Prijavi problem..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Prijavi greške u radu autorima" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "Vidi man stranicu za detalje" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "navedi log datoteku koju proizvodi valgrind" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" "iskoristi prethodno kreiran zaštićeni direktorij (SDIR) ili, ako ne postoji, " "kreiraj ga" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" "nemoj kreirati ili koristiti zaštićeni direktorij za debagerske simbole, ali " "koristi instalirane debagerske simbole" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" "iskoristi prethodno kreirani keš direktorij (CDIR), ako ne postoji, kreiraj " "ga" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" "prijavi napredak o preuzimanjui/instalaciji kada se instaliraju paketi u " "zaštićenu kutiju" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" "izvršni program koji se pokreće pod valgrind memcheck za otkrivanje otivanja " "memorije" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" "Instaliraj dodatne pakete u zatvorenu kutiju (može se navesti više puta)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "Greška: %s nije izvršni program. Prekidam." #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "Ne unosi nove tragove u izvještaj, već ih zapisuje u ''stdout''." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "Pokreće interaktivnu ''gdb'' sesiju sa jezgrom pripremljenog izvještaja (-o " "ignorisano; neće prepisati izvještaj)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "Zapisuje izmijenjeni izvještaj u zadatu datoteku umjesto da mijenja " "originalni." #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "Uklanja prikaz jezgra iz izvještaja nakon regeneracije traga gomile" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "Zaobiđi JezgruDatoteke izvještaja" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "Zaobiđi IzvršnuPutanju izvještaja" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "Zamenjuje ProcMaps izveštaja" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "Obnavlja izveštajnu informaciju paketa" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" "Napravi privremenu zatvorenu kutiju i preuzmi pakete u nju. Bez ove opcije " "se podrazumijeva da su neophodni paketi i debagerski simboli već tamo. " "Argument pokazuje na osnovni direktorij paketskog sistema, ako navedete " "\"sistem\" koristiće se sistemske konfiguracione datoteke, ali će samo tada " "biti u mogućnosti uloviti trag sistemskim padovima koji su se desili na " "trenutno izvršavajućoj verziji." #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" "Prijavi napredak preuzimanja/instaliranja pri instaliranju paketa u " "zatvorenu kutiju" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "Pridodaj oznaku vremena porukama dnevnika, za grupnu radnju" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" "Kreirajte i koristite tuđe repozitorije sa izvora navedenih u izvještajima" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "Keš direktorij za pakete preuzete u zatvorenu kutiju" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" "Direktorij za otpakovane pakete. Buduća pokretanja pretpostaviti da su već " "preuzeti paketi takođe izdvojeni u zatvorenu kutiju." #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" "Putanja do datoteke sa informacijama autentifikacije baze podataka " "urušavanja. Ovo se koristi kada navodite ID urušavanja da biste poslali " "pronađene tragove steka (samo ako ni -g, ni -o, ni -s nisu navedeni)" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "Prikazuje pronađene tragove steka i traži potvrdu prije nego što ih pošalje " "u bazu podataka o urušavanjima." #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" "Putanja do duplikata ''sqlite'' baze podataka (inicijalno: ne vršiti " "provjeru duplikata)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "Ne možete koristiti -C bez -S. Prekidam." #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "Da li je uredu da da šaljete ovo kao prilog? [y/n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "Izgleda da ovaj paket nije ispravno instaliran" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "Ovo nije zvaničan %s paket. Uklonite neki paket treće strane i pokušajte " "opet." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "Imate neke zastarjele verzija paketa instalirane. Molim Vas nadogradite " "sljedeće pakete i provjerite da li i dalje dolazi do problema:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "nepoznat program" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Izvinite, program „%s“ je neočekivano zatvoren" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Problem u %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "Vaš računar nema dovoljno slobodne memorije da automatski analizira problem " "i pošalje izvještaj autorima." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Neispravan izvještaj o problemu" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "Nemate prava pristupa izvještavanju o problemu." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Greška" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "Nema dovoljno prostora na disku za obradu ovog izvještaja." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "Nije naveden paket." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "Morate navesti paket ili PID. Pogledajte --help za više informacija" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Dozvola je odbijena" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "Navedeni proces vam ne pripada. Molim pokrenite ovaj proces kao vlasnik ili " "root." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "Nevažeći PID" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "Specificirani PID ne pripada programu." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "Skripta simptoma %s nije odredio nijedan poduticajni paket" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "Paket %s ne postoji" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "Ne mogu da napravim izvještaj" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "Slanje izveštaja o problemu" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "Vi niste izvještač ili niste upisani za izvještavanje o ovom problemu, ili " "je izvještaj duplikat ili je već zatvoren.\n" "\n" "Molim napravite novi izvještaj koristeći \"apport-bug\"." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "Vi niste izvještač o ovom problemu. Mnogo je lakše označiti 'grešku' kao " "duplikat nekog drugog problema nego praviti novi izvještaj.\n" "\n" "Preporučujemo vam da ubacite izvještaj o grešci u neki već postojeći " "koristeći \"apport-bug\" i da isti prokomentarišete.\n" "\n" "Da li zaista želite da nastavite?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "Nema dodatno prikupljenih informacija." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "O kakvom problemu želite da izvijestite?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Nepoznati simptom" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "Simptom \"%s\" nije poznat." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "Nakon zatvaranja ove poruke, kliknite na prozor aplikacije da prijavite " "problem u vezi toga." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "xprop nije uspio da odredi ID procesa prozora" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "%prog <report number>" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "Navedite ime paketa." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "Dodajte dodatnu oznaku u izvještaju. Može biti navedeno više puta." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [opcije] [symptom|pid|package|program path|.apport/.crash file]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Pokrenuti u režimu prijavljivanja greške. Zahtjeva --package i jedan " "opcionalan --pid, ili samo --pid. Ako nijedan nije dat, prikaži listu " "poznatih simptoma. (Podrazumijeva se ako ako je dat samo jedan argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" "Kliknite na prozor kao odredište za podnošenje izvještaja o problemu." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" "Pokrenuti u režimu slanja greške. Može da sadrži opcionalni --package." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "Popunite izvještaj greške o simptomu. (Podrazumijeva se ako je ime simptoma " "dato kao jedini argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "Specificirajte ime paketa u --file-bug režimu. Ovo je opcija ako je " "specificiran --pid. (Podrazumijeva se ako je ime paketa dato kao jedini " "argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "Navedite izvršavajući program u --file-bug režimu. Ako je ovo navedeno, " "izvještaj o greškama će sadržati više informacija. (ugrađeno ako je PID kao " "jedini argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "Navedeni pid je viseća aplikacija" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "Prijavite o padu iz date .apport ili .crash datoteke umjesto jednog " "pripravnog u %s. (Podrazumijeva se ako je datoteka data kao jedini argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" "U režimu podnošenja greški , snimi prikupljene informacije u datoteku " "umjesto da izvještavanja. Ova datoteka se zatim može prijaviti kasnije s " "druge mašine." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Prikaži broj verzije Apport-a." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "Ovo će pokrenuti „apport-retrace“ u prozoru terminala da ispita pad." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "Pokreni gdb sesiju" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "Pokreni gdb sesiju bez preuzimanja simbola za uklanjanje grešaka" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "Ažuriraj %s potpunom simboličkim tragom gomile" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" "Ovaj izvještaj o problemu se odnosi na program koji nije više instaliran." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" "Problem se desio s programom %s koji je promijenjen nakon što se dogodio pad." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "Ovaj izvještaj o greški je oštećen i ne može da se obradi." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "Izvještaj pripada paketu koji nije instaliran." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "Desila se greška u pokušaju obrade izvještaja o problemu:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "Ne mogu da utvrdim paket ili izvorno ime paketa." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Ne mogu da pokrenem internet pretraživač" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "Ne mogu da pokrenem internet pretraživač da bih otvorio %s." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" "Molim unesite vaše informacije o članstvu za %s sistem praćenja grešaka." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Mrežni problem" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "Ne mogu da uspostavim vezu sa bazom podataka o urušavanjima, molim " "provjerite vašu internet vezu." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Nedostatak memorije" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "Vaš sistem nema dovoljno memorije da obradi ovaj izvještaj o padu sistema." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "Problem ne može biti prijavljen:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Problem je već poznat" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "Ovaj problem je već prijavljen u izvještaju o greški prikazanom u internet " "pretraživaču. Molim Vas provjerite da li možete da dodate bilo kakvu dodatnu " "informaciju koja bi mogla da bude od pomoći autorima." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "Ovaj problem je već prijavljen programerima. Hvala vam!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" "Ovo se desilo prilikom prethodnog suspendovanja i spriječilo je sistem da se " "ispravno obnovi." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" "Ovo se desilo prilikom prethodne hibernacije i spriječilo je sistem da se " "ispravno obnovi." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "Proces restauriranja se ''zaledio'' pri samom kraju i sve izgleda kao da je " "uspješno završen." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Pritisnite bilo koju tipku za nastavak ..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "Šta biste željeli da uradite? Vaše mogućnosti su:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Molim Vas izaberite (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i bajta)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "Posle slanja izvještaja o problemu, molim Vas popunite formular u\n" "automatski otvorenom internet pretraživaču." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "&Pošalji izvještaj (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "&Ispitaj lokalno" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "&Pogledaj izvještaj" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" "&Zadrži datoteku o izvještaju za kasnije slanje ili kopiranje na neko drugo " "mjesto" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "Prekini i &ignoriši buduće greške u radu ove verzije programa" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Odustani" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Datoteka izvještaja o problemu:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&Potvrdi" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Greška: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "Prikupljena informacija se šalje razvojnom timu da poprave \n" "program. Ovo može potrajati nekoliko minuta." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "Prikupljena informacija se šalje sistemu za otkrivanje grešaka.\n" "Ovo može potrajati nekoliko minuta." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Gotovo" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "ništa" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Izabrano: %s. Više izbora:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Izbori:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Putanja do datoteke (kliknite Enter tipku za otkazivanje):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "Datoteka ne postoji." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "Ovo je direktorijum." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" "Da bi ste nastavili, morate da posjetite sledeću internet lokaciju (URL):" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "Sada možete pokrenuti pretraživač, ili kopirati ovu internet lokaciju u " "pretraživaču na nekom drugom računaru." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Pokrenuti pretraživač sada" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" "Nema očekujućeg izvještaja o padu. Probajte --help za više informacija." #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "Ovo će izbaciti neke velike stvari iz izvještaja. Ovi su veoma korisni za " #~ "programere pri ispravljanju problema, ali mogu biti veliki za vaš upload ako " #~ "imate spor priključak na Internet." #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "Ovo nije originalni %s paket" #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Do ovoga je došlo prilikom prethodne hibernacije što je istu spriječilo da " #~ "pravilno nastavi." #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Do ovoga je došlo prilikom prethodne suspenzije što je istu spriječilo da " #~ "pravilno nastavi." #~ msgid "Your system might become unstablenow and might need to be restarted." #~ msgstr "" #~ "Vaš sistem može postati nestabilan te će ga biti potrebno restartovati." ���������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/ca.po������������������������������������������������������������������������������0000644�0000000�0000000�00000141656�12677230222�012610� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Catalan translation for apport # Copyright (c) 2006 Rosetta Contributors and Canonical Ltd 2006 # This file is distributed under the same license as the apport package. # David Planella Molas <david.planella@gmail.com>, 2007. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:47+0000\n" "Last-Translator: David Planella <david.planella@ubuntu.com>\n" "Language-Team: Ubuntu Catalan Translators list <Ubuntu-l10n-" "ca@lists.ubuntu.com>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:17+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: \n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "Apport" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "Canceŀla" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "D'acord" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Informe de fallades" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>S'ha produït un error intern.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "Si observeu altres problemes, intenteu reiniciar l'ordinador." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "Envia un informe d'error per ajudar a solucionar aquest problema" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "Ignora els problemes d'aquesta versió del programa en el futur" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Mostra els detalls" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "_Examina localment" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Mantén-la tancada" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Continua" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>S'està recollint informació sobre el problema</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "S'està recollint informació que pot ajudar els desenvolupadors a solucionar " "el problema del qual esteu informant." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "S'està pujant la informació del problema" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>S'està pujant informació sobre el problema</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "La informació recollida s'està enviant al sistema de seguiment d'errors. " "Això pot trigar uns quants minuts." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Fitxer de fallada de l'Apport" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(dades binàries)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "L'aplicació %s s'ha aturat inesperadament." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "%s s'ha tancat inesperadament." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "%s ha experimentat un error intern." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Voleu enviar l'informe del problema als desenvolupadors?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Envia" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "Força el tancament" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Torna-la a executar" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "L'aplicació %s ha deixat de respondre." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "El programa «%s» ha deixat de respondre." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Paquet: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "S'ha produït un problema mentre s'instal·lava el programa." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "L'aplicació %s ha experimentat un error intern." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "L'aplicació %s s'ha tancat inesperadament." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "En el futur ignora problemes d'aquest tipus" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Oculta els detalls" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Utilització: %s <informe> <directori objectiu>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "El directori de destinació existeix i no està buit." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "Nom d'usuari:" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "Contrasenya:" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "S'està recollint informació sobre el problema" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "S'està recollint informació sobre el problema" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "La informació recollida es pot enviar als desenvolupadors per a millorar " "l'aplicació. Això pot trigar uns quants minuts." #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "S'està pujant la informació del problema" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Recopila informació del sistema" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "Cal autenticació per recollir informació del sistema per l'informe d'aquest " "problema" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "Informes d'error del sistema" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" "Introduïu la vostra contrasenya per accedir als informes d'error dels " "programes del sistema" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Informeu d'un problema..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Informeu els desenvolupadors sobre un funcionament erroni" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" "Vegeu la pàgina de manual (ordre «man») per consultar-ne els detalls." #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "Especifiqueu el nom del fitxer de registre que produeix el Valgrind" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" "Reutilitza una carpeta de proves (SDIR) existent o bé crea'n una de nova" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" "No creïs o reutilitzis una carpeta de proves per als símbols de depuració " "addicionals. Utilitza només els símbols de depuració instal·lats." #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" "Reutilitza una carpeta de memòria cau (CDIR) existent o bé crea'n una de nova" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" "Mostra un informe del progrés de les baixades i instal·lacions en instal·lar " "paquets dins de la carpeta de proves" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" "El nom del fitxer executable que s'inicia a través de l'eina «memcheck» del " "Valgrind per detectar pèrdues de memòria" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" "Instal·la un paquet addicional a l'entorn de proves (es pot especificar " "diverses vegades)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "S'ha produït un error: %s no és un fitxer executable. S'aturarà." #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" "Pot ser que el vostre sistema esdevingui ara inestable i que l'hàgiu de " "reiniciar." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" "En lloc de posar les traces noves a l'informe escriviu-les a la sortida " "estàndard." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "Inicieu una sessió interactiva del gdb amb el bolcat de memòria de l'informe " "(-o s'ignorarà; no torna a escriure l'informe)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "Escriviu l'informe modificat en el fitxer proporcionat en lloc de canviar " "l'informe original" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" "Suprimiu el bolcat de memòria de l'informe després de la regeneració de la " "traça de la pila" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "Sobreescriu el CoreFile de l'informe" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "Sobreescriu l'ExecutablePath de l'informe" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "Sobreescriu el ProcMaps de l'informe" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "Torna a construir la informació del paquet de l'informe" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" "Construïu un entorn de proves temporal i baixeu-hi/instal·leu-hi els paquets " "i els símbols de depuració necessaris. Sense aquesta opció s'assumeix que " "els paquets i els símbols de depuració necessaris ja estan instal·lats al " "sistema. L'argument apunta al directori base de la configuració del sistema " "de paquets; si especifiqueu «system», s'utilitzaran els fitxers de " "configuració del sistema però només es podran seguir les fallades que hagin " "passat a la versió actualment en execució." #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" "Informa del progrés de la baixada/instal·lació quan s'instal·lin paquets a " "l'entorn de proves" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" "Afegeix marques horàries als missatges del registre per poder-los processar " "en lot" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "Directori temporal per als paquets baixats a l'entorn de proves" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" "El directori per als paquets descomprimits. Les pròximes execucions " "assumiran que qualsevol paquet que s'hagi baixat també s'ha extret en aquest " "entorn de proves." #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" "Camí a un fitxer amb la informació d'autenticació de la base de dades de " "fallades. S'utilitza quan s'especifica un identificador d'error per a pujar " "les traces de pila tornades a traçar (només si no s'especifiquen -g, -o o -s)" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "Mostra les traces de pila tornades a traçar i demana confirmació abans " "d'enviar-les a la base de dades de fallades." #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" "Camí a la base de dades sqlite de duplicats (per defecte: sense comprovació " "de duplicat)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "No podeu utilitzar l'opció -C sense l'opció -S. S'interromprà." #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "Esteu d'acord en enviar-los com a adjuncions? [y/n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "Sembla ser que aquest paquet no s'ha instal·lat correctament" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "Aquest no és un paquet oficial del %s. Suprimiu tots els paquets de tercers " "i torneu-ho a provar." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "Teniu algunes versions de paquets obsolets instal·lades. Hauríeu " "d'actualitzar els paquets següents i comprovar si el problema persisteix:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "programa desconegut" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "El programa «%s» s'ha tancat de manera inesperada" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Problema a %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "El vostre sistema no té prou memòria disponible per a analitzar el problema " "de manera automàtica i enviar un informe d'error als desenvolupadors." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Informe d'error no vàlid" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "No teniu permís per a accedir a aquest informe d'error." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Error" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "No hi ha prou espai disponible per a processar aquest informe." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "No s'ha especificat cap paquet" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "Cal que especifiqueu un paquet o un PID. Consulteu --help per a obtenir més " "informació." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Se us ha denegat el permís" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "El procés especificat no us pertany. Hauríeu d'executar aquest programa com " "a propietari del procés o bé com a superusuari." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "PID no vàlid" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "L'identificador de procés especificat no pertany a cap programa." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "L'script de símptomes %s no ha determinat cap paquet afectat" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "El paquet %s no existeix" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "No es pot crear l'informe" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "S'està actualitzant l'informe del problema" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "No sou ni l'informador ni el subscriptor d'aquest informe de problema, o bé " "l'informe és un duplicat o ja està tancat.\n" "\n" "Creeu un informe nou utilitzant l'«apport-bug»." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "No sou l'informador d'aquest informe d'error. És molt més senzill marcar un " "error com a duplicat d'un altre que moure els vostres comentaris i adjunts a " "un error nou.\n" "\n" "Per tant, us recomanem que ompliu un informe d'error nou utilitzant " "l'«apport-bug» i feu un comentari en aquest error sobre el que esteu " "omplint.\n" "\n" "Segur que voleu continuar?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "No s'ha recollit informació addicional." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "Sobre quin tipus de problema voleu informar?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Símptoma desconegut" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "Es desconeix el símptoma «%s»." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "Després de tancar aquest missatge feu clic a una finestra de l'aplicació per " "informar d'un problema sobre aquesta." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" "L'xprop ha fallat en determinat l'identificador de procés de la finestra" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "%prog <número de l'informe>" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "Especifiqueu el nom del paquet." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" "Afegeix una etiqueta addicional a l'informe. Es pot especificar diverses " "vegades." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [opcions] [símptoma|pid|paquet|camí al programa|fitxer .apport/.crash]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Comenceu en el mode d'enviament d'errors. Requereix un --package i un --pid " "opcional o només un --pid. Si no se'n proporciona cap, es mostrarà una " "llista de símptomes coneguts. (Implícit si només es proporciona un argument)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "Feu clic a una finestra per associar-la a l'informe d'error." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" "Inicieu en mode d'actualització d'errors. Admet un --package opcional." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "Ompliu un informe d'error sobre un símptoma. (Implícit si només es " "proporciona el nom del símptoma com a argument)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "Especifiqueu el nom del paquet en el mode --file-bug. Això és opcional si " "s'ha especificat un --pid. (Implícit si només es proporciona el nom del " "paquet com a argument)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "Especifiqueu un programa executant-se en mode --file-bug. Si s'especifica, " "l'informe d'error contindrà més informació (en cas que el pid es doni com a " "únic argument)." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "El PID proporcionat és una aplicació que es penja." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "Informeu de la fallada a partir d'un fitxer .apport o .crash en lloc dels " "pendents a %s. (Implícit si només es proporciona el fitxer com a argument)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" "En el mode d'enviament d'errors, desa la informació obtinguda en un fitxer " "en lloc d'enviar l'informe. Aquest fitxer es pot enviar més tard des d'una " "màquina diferent." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Mostra el número de versió de l'Apport." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" "Això executarà l'Apport-retrace en un terminal per examinar la fallada." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "Executa una sessió del Gdb" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" "Executa una sessió del Gdb sense descarregar els símbols de depuració" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "Actualitza el fitxer %s amb la traça simbòlica completa de la pila." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" "Aquest informe de problema fa referència a un programa que ja no està " "instal·lat." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" "El problema ha passat amb el programa %s, el qual ha canviat des que es " "produí la fallada." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "Aquest informe d'error està malmès i no es pot processar." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "L'informe és per a un paquet que no està instal·lat." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" "S'ha produït un error mentre s'intentava processar l'informe d'error:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "" "No s'ha pogut determinar el nom del paquet del programa o del paquet del " "codi font." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "No s'ha pogut iniciar el navegador web" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "No s'ha pogut iniciar el navegador web per a obrir %s." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" "Introduïu la informació del vostre compte per al sistema de seguiment " "d'errors %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Problema de la xarxa" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "No es pot connectar a la base de dades de fallades, comproveu la vostra " "connexió a Internet." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Exhauriment de la memòria" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "El vostre sistema no té prou memòria disponible per a processar aquest " "informe de fallada." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "No es pot informar del problema:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "El problema ja és conegut" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "Ja hi ha informació sobre aquest problema en l'informe d'error que es mostra " "al navegador web. Comproveu si podeu afegir cap informació addicional que " "pugui ser d'ajuda per als desenvolupadors." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" "Aquest problema ja fou enviat als desenvolupadors anteriorment. Us agraïm la " "vostra ajuda." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "El procés de represa es va penjar molt a prop del final i per això semblarà " "que s'hagi completat correctament." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Premeu qualsevol tecla per a continuar…" #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "Què voleu fer? Teniu les opcions següents:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Trieu (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i bytes)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "Després d'haver enviat l'informe, ompliu el formulari que veureu en el\n" "navegador web que s'iniciarà de manera automàtica." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "En&via l'informe (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "&Examina localment" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "&Visualitza l'informe" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" "&Desa el fitxer de l'informe per a enviar-lo més tard o bé copiar-lo a algun " "altre lloc" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" "Cancel·la i &ignora les fallades d'aquesta versió del programa en el futur" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Cancel·la" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Fitxer de l'informe d'error:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&Confirma" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Error: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "La informació recollida es pot enviar als desenvolupadors per a millorar\n" "l'aplicació. Això pot trigar uns quants minuts." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "La informació recollida s'està enviant al sistema de seguiment d'errors.\n" "Això pot trigar uns quants minuts." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Fet" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "cap" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "S'ha seleccionat: %s. Opcions múltiples:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Opcions:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Camí al fitxer (premeu Retorn per a cancel·lar):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "El fitxer no existeix." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "Això és un directori." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "Per a continuar, heu d'anar a l'URL següent:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "Podeu iniciar un navegador o copiar aquest URL a un navegador d'un altre " "ordinador." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Inicia un navegador" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" "No hi ha cap informe d'error pendent. Proveu amb --help per a obtenir més " "informació." #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "" #~ "Podeu ajudar els desenvolupadors a solucionar el problema si els informeu de " #~ "l'error." #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "Ha fallat la instal·lació o actualització del paquet «%s»." #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "Informe complet (recomanat; %s)" #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>Voleu enviar l'informe del problema als desenvolupadors?</b></big>\n" #~ "\n" #~ "Després d'haver enviat l'informe, ompliu el formulari que veureu en el " #~ "navegador web que s'iniciarà de manera automàtica." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "Si no és que estàveu fent quelcom confidencial (escrivint alguna contrasenya " #~ "o bé alguna altra informació privada), podeu contribuir a la millora del " #~ "programa informant del problema." #~ msgid "Application problem" #~ msgstr "Problema de programari" #~ msgid "_Send Report" #~ msgstr "_Envia l'informe" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "Si no és que estàveu fent quelcom confidencial (escrivint alguna " #~ "contrasenya\n" #~ "o bé alguna altra informació privada), podeu contribuir a la millora del\n" #~ "programa informant del problema." #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s s'ha tancat de manera inesperada el %s a les %s." #~ msgid "Restart _Program" #~ msgstr "Reinicia el _programa" #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">Ha fallat la instal·lació o " #~ "actualització del paquet «%s».</span>" #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "En&via l'informe complet (es recomana; %s)" #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "" #~ "Informe reduït (en cas que tingueu una connexió lenta a Internet; %s)" #~ msgid "_Ignore future crashes of this program version" #~ msgstr "_Ignora les fallades d'aquesta versió del programa en el futur" #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "Envia l'informe &resumit (per connexions d'Internet lentes; %s)" #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "Això suprimirà certs elements de mida considerable de l'informe. Aquests " #~ "elements són normalment molt útils per als desenvolupadors en depurar el " #~ "problema. Tot i això, pot ser que si els incloeu en l'informe la mida " #~ "d'aquest sigui massa gran per a pujar-lo si és que teniu una connexió lenta " #~ "a Internet." #~ msgid "&Report Problem..." #~ msgstr "Info&rmeu sobre el problema..." #~ msgid "_Report Problem..." #~ msgstr "Info_rma sobre el problema..." #~ msgid "Kernel problem" #~ msgstr "Problema del nucli" #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "" #~ "Podeu ajudar els desenvolupadors a arreglar el paquet de programari si els " #~ "informeu de l'error." #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "Aquest no és un paquet %s genuí" #~ msgid "Content of the report" #~ msgstr "Contingut de l'informe" #~ msgid "Package problem" #~ msgstr "Problema del paquet" #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "S'ha produït un error greu del nucli." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Això va succeir durant la hibernació anterior i us va impedir reprendre " #~ "correctament." #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Això va succeir durant l'aturada temporal anterior i us va impedir reprendre " #~ "correctament." #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "" #~ "%prog [opcions] <informe de problema de l'Apport | identificador de la " #~ "fallada>" #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "" #~ "us cal o bé realitzar una operació local (-s, -g o -o) o bé proporcionar un " #~ "fitxer d'autenticació (--auth); utilitzeu --help per a obtenir una breu ajuda" #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "" #~ "nombre incorrecte d'arguments; utilitzeu --help per a obtenir una breu ajuda" #, python-format #~ msgid "Sorry, the application %s has closed unexpectedly." #~ msgstr "L'aplicació %s s'ha tancat inesperadament." #~ msgid "Your system might become unstablenow and might need to be restarted." #~ msgstr "" #~ "El vostre sistema pot esdevenir inestable i que sigui necessari reiniciar-lo." ����������������������������������������������������������������������������������apport-2.20.1/po/ca@valencia.po���������������������������������������������������������������������0000644�0000000�0000000�00000112473�12677230222�014406� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Catalan (Valencian) translation for apport # Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2011. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:46+0000\n" "Last-Translator: Martin Pitt <martin.pitt@ubuntu.com>\n" "Language-Team: Catalan (Valencian) <ca@valencia@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:19+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: \n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Informe de fallades" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>S'ha produït un error intern.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "Si observeu altres problemes, intenteu reiniciar l'ordinador." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "Envia un informe d'error per ajudar a solucionar este problema" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "Ignora els problemes d'esta versió del programa en el futur" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Mostra els detalls" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "_Examina localment" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Mantén-la tancada" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Continua" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "L'aplicació %s s'ha aturat inesperadament." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "%s s'ha tancat inesperadament." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "%s ha experimentat un error intern." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Envia" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "Força el tancament" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Torna-la a executar" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "L'aplicació %s ha deixat de respondre." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "El programa «%s» ha deixat de respondre." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Paquet: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "S'ha produït un problema mentre s'instal·lava el programa." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "L'aplicació %s ha experimentat un error intern." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "L'aplicació %s s'ha tancat inesperadament." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "En el futur ignora problemes d'este tipus" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Oculta els detalls" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Recopila informació del sistema" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "Cal autenticació per recollir informació del sistema per l'informe d'este " "problema" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "Informes d'error del sistema" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" "Introduïu la vostra contrasenya per accedir als informes d'error dels " "programes del sistema" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "" #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "Vegeu la pàgina de manual (orde «man») per consultar-ne els detalls." #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "Especifiqueu el nom del fitxer de registre que produeix el Valgrind" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" "Reutilitza una carpeta de proves (SDIR) existent o bé crea'n una de nova" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" "No crees o reutilitzis una carpeta de proves per als símbols de depuració " "addicionals. Utilitza només els símbols de depuració instal·lats." #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" "Reutilitza una carpeta de memòria cau (CDIR) existent o bé crea'n una de nova" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" "Mostra un informe del progrés de les baixades i instal·lacions en instal·lar " "paquets dins de la carpeta de proves" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" "El nom del fitxer executable que s'inicia a través de l'eina «memcheck» del " "Valgrind per detectar pèrdues de memòria" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" "Instal·la un paquet addicional a l'entorn de proves (es pot especificar " "diverses vegades)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "S'ha produït un error: %s no és un fitxer executable. S'aturarà." #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" "Construïu un entorn de proves temporal i baixeu-hi/instal·leu-hi els paquets " "i els símbols de depuració necessaris. Sense esta opció s'assumeix que els " "paquets i els símbols de depuració necessaris ja estan instal·lats al " "sistema. L'argument apunta al directori base de la configuració del sistema " "de paquets; si especifiqueu «system», s'utilitzaran els fitxers de " "configuració del sistema però només es podran seguir les fallades que hagen " "passat a la versió actualment en execució." #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" "Informa del progrés de la baixada/instal·lació quan s'instal·len paquets a " "l'entorn de proves" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" "Afig marques horàries als missatges del registre per poder-los processar en " "lot" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "Directori temporal per als paquets baixats a l'entorn de proves" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" "El directori per als paquets descomprimits. Les pròximes execucions " "assumiran que qualsevol paquet que s'haja baixat també s'ha extret en este " "entorn de proves." #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "No podeu utilitzar l'opció -C sense l'opció -S. S'interromprà." #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "Pareix ser que este paquet no s'ha instal·lat correctament" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "Este no és un paquet oficial del %s. Suprimiu tots els paquets de tercers i " "torneu-ho a provar." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "Especifiqueu el nom del paquet." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" "Afig una etiqueta addicional a l'informe. Es pot especificar diverses " "vegades." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "Especifiqueu un programa executant-se en mode --file-bug. Si s'especifica, " "l'informe d'error contindrà més informació (en cas que el pid es doni com a " "únic argument)." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "El PID proporcionat és una aplicació que es penja." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" "Això executarà l'Apport-retrace en un terminal per examinar la fallada." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "Executa una sessió del Gdb" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" "Executa una sessió del Gdb sense descarregar els símbols de depuració" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "Actualitza el fitxer %s amb la traça simbòlica completa de la pila." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" "El problema ha passat amb el programa %s, el qual ha canviat des que es " "produí la fallada." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "" #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" "S'ha produït un error mentre s'intentava processar l'informe d'error:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" "Este problema ja fou enviat als desenvolupadors anteriorment. Vos agraïm la " "vostra ajuda." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "&Examina localment" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" #, python-format #~ msgid "Sorry, the application %s has closed unexpectedly." #~ msgstr "L'aplicació %s s'ha tancat inesperadament." #~ msgid "_Ignore future crashes of this program version" #~ msgstr "_Ignora les fallades d'aquesta versió del programa en el futur" #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "Això suprimirà certs elements de mida considerable de l'informe. Aquests " #~ "elements són normalment molt útils per als desenvolupadors en depurar el " #~ "problema. Tot i això, pot ser que si els incloeu en l'informe la mida " #~ "d'aquest sigui massa gran per a pujar-lo si és que teniu una connexió lenta " #~ "a Internet." #~ msgid "&Ignore future crashes of this program version" #~ msgstr "&Ignora les fallades d'aquesta versió del programa en el futur" #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "Aquest no és un paquet %s genuí" #~ msgid "Send this data to the developers?" #~ msgstr "Voleu enviar aquestes dades als desenvolupadors?" #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Això va succeir durant l'aturada temporal anterior i vos va impedir " #~ "reprendre correctament." �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/ce.po������������������������������������������������������������������������������0000644�0000000�0000000�00000100076�12677230222�012603� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Chechen translation for apport # Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2014. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2014-08-11 10:26+0000\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: Chechen <ce@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:17+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: ce\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "" #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "" #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/cs.po������������������������������������������������������������������������������0000644�0000000�0000000�00000137723�12677230222�012632� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Czech translation for apport # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:46+0000\n" "Last-Translator: František Zatloukal <Zatloukal.Frantisek@gmail.com>\n" "Language-Team: Czech <cs@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: cs\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "Apport" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "Zrušit" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "OK" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Hlášení o chybě" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>Omlouváme se, nastala vnitřní chyba.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "Pokud problémy neustanou, zkuste restartovat počítač." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "Zaslat hlášení o chybě. Pomůžete tím vyřešení tohoto problému" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "Ignorovat budoucí problémy této verze programu" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Zobrazit podrobnosti" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "_Prozkoumat místně" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Ponechat uzavřené" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Pokračovat" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>Shromažďování informací o problému</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "Shromažďují se informace, které mohou pomoci vývojářům opravit vámi " "nahlášený problém." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "Odesílání informací o problému" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>Odesílání informací o problému</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "Sesbírané informace se odesílají do systému pro sledování chyb. To může " "trvat i několik minut." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Soubor apport crash" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(binární data)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "Omlouváme se, aplikace %s byla neočekávaně ukončena." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "Omlouváme se, %s byl neočekávaně ukončen." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "Omlouváme se, %s zaznamenal vnitřní chybu." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Odeslat hlášení o problému vývojářům?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Odeslat" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "Násilně ukončeno" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Restartovat" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "Aplikace %s neodpovídá." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "Program %s neodpovídá." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Balík: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "Omlouváme se, při instalaci softwaru nastala chyba." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "V aplikaci %s došlo k chybě." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "Aplikace %s byla neočekávaně ukončena." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "Ignorovat budoucí problémy tohoto typu" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Skrýt podrobnosti" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Použití: %s <hlášení> <cílový adresář>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "Cílový adresář existuje a není prázdný." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "Uživatelské jméno:" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "Heslo:" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "Shromažďování informací o problému" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Shromažďování informací o problému" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "Shromážděné informace mohou být zaslány vývojářům za účelem případného " "vylepšení aplikace. Odesílání může trvat několik minut." #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "Odesílání informací o problému" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Získat informace o systému" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "Pro získání systémových informací potřebných k nahlášení tohoto problému je " "vyžadováno ověření" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "Zpráva o problému se systémem" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" "Zadejte prosím své heslo, aby mohl být problém systémového programu " "reportován." #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Nahlásit problém..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Oznámit problém vývojářům" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "Více informací je na manuálové stránce" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "specifikujte jméno log souboru valgrindu" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" "použít dříve vytvořený adresář sandbox (SDIR) nebo, pokud neexistuje, jej " "vytvořit" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" "nevytvářet nebo znovu nepoužívat adresář sandbox pro dodatečné debugovací " "symboly, ale pouze pro instalované debugovací symboly." #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" "použít dříve vytvořený cache adresář (CDIR) nebo, pokud neexistuje, jej " "vytvořit" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" "hlásit postup stahování/instalace během instalování balíku do sandboxu" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" "spustitelný soubor, který běží pod testem paměti valgrind na únik paměti" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "Nainstalovat do sandboxu extra balík (může být vybráno vícekrát)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "Chyba: %soubor není spustitelný. Ukončuji proces." #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" "Váš systém může být nyní nestabilní a bude jej možná nutné restartovat." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" "Nepřidávejte do hlášení další sledování, přesměrujte je na standardní výstup." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "Spusťte interaktivní gdb úlohu s hlášením core dump (-případně ignorujte; " "nepřepisujte report)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "Zapsat upravené hlášení do daného souboru místo změny původního hlášení" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" "Odstraňte core dump z hlášení potom, co bude výstupní hlášení znovu " "vygenerováno" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "Potlačit zprávy CoreFile" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "Potlačit zprávy ExecutablePath" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "Potlačit zprávy ProcMaps" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "Obnovit zprávy o informacích o balíčcích" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" "Vytvořit dočasný sandbox a stáhnout/instalovat tam potřebné balíčky a " "symboly pro ladění; bez této volby bude předpokládat, že potřebné balíčky a " "symboly pro ladění jsou již v systému instalovány. Argument odkazuje na " "kořenový adresář s konfigurací balíkovacího systému; pokud uvedete " "\"system\", tak budou použity systémové konfigurační soubory, ale pak bude " "možné retrasovat havárie pouze u právě spuštěné verze." #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "Hlásit postup stahování/instalace při instalaci balíčků do sandboxu" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "Pro dávkové zpracování vložit časové razítko před zpávu do logu" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "Vytvořit a použít repozitáře třetích stran pocházející z hlášení" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "Kešovací adresář pro stažené balíčky do sandboxu" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" "Adresář pro rozbalené soubory. V budoucnu by tam měly být k dispozici " "všechny stažené a rozbalené balíky." #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" "Cesta k souboru s pověřením k databázi havárií. Při definování ID havárie je " "použit k nahrání retrasovaných trasování zásobníku (pouze pokud není použit " "parametr -g, -o nebo -s)" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "Zobrazit retasované trasování zásobníku a poptat na potvrzení před jejich " "odesláním do databáze havárií." #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "Cesta k duplikátu databáze sqlite (výchozí: žádná kontrola duplicit)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "Nelze užít -C bez -S. Zastavuji proces." #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "Souhlasíte s odesláním těchto jako příloh? [y/n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "Tento balík zřejmě není nainstalován správně" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "Toto není oficiální %s balík. Prosíme odstraňte všechny balíky třetích stran " "a zkuste to znovu." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "Máte nainstalovány zastaralé verze některých balíků. Prosím aktualizujte " "následující balíky a zkontrolujte, zda se problém vyskytuje i nadále.\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "neznámý program" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Omlouváme se, program \"%s\" byl neočekávaně uzavřen" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Problém v %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "Váš počítač nemá dostatek volné paměti pro automatickou analýzu problému a " "odeslání hlášení vývojářům." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Neplatné hlášení o problému" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "Nemáte oprávnění k přístupu k tomuto hlášení problému." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Chyba" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "Pro zpracování tohoto hlášení není na disku dost místa." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "Nebyl specifikován žádný balík" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "Musíte určit, o který balík nebo PID se jedná. Pro více informací použijte " "přepínač --help." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Přístup odepřen" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "Nejste vlastníkem vybraného procesu. Prosím, spusťte tuto aplikaci jako " "vlastník onoho procesu nebo jako root." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "Neplatný PID" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "Zadané ID procesu neodpovídá žádnému programu." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "Skript %s neurčuje problematický balík" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "Balík %s neexistuje" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "Nelze vytvořit hlášení" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "Probíhá aktualizace chybového hlášení" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "Tento problém jste buď nenahlásili a ani nejste přihlášeni k jeho odběru, " "nebo je toto hlášení problém duplicitní nebo již uzavřené.\n" "\n" "Vytvořte prosím nové hlášení pomocí \"apport-bug\"." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "Nejste ten, kdo nahlásil tento problém. Je mnohem jednodušší označit chybu " "jako duplikát jiné, než přesouvat komentáře a přílohy k nově hlášené chybě.\n" "\n" "V návaznosti doporučujeme vyplnit nové hlášení o chybě pomocí \"apport-bug\" " "a u stávajícího hlášení o chybě přidat poznámku o Vašem novém hlášení o " "chybě.\n" "\n" "Opravdu chcete pokračovat?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "Nebyly shromážděny žádné další informace." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "Jaký druh problému si přejete nahlásit?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Neznámý příznak" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "Příznak \"%s\" je neznámý." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "Po uzavření této zprávy klikněte na okno s nahlášením problému." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "xprop selhal při rozeznávávání ID procesu okna" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "%prog <číslo hlášení>" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "Upřesněte název balíku." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "Přidejte do hlášení další tagy - může jich být více." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [přepínače] [příznak|pid|balík|cesta k programu|soubor .apport/.crash]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Spustit režim popisování chyby. Vyžaduje přepínač --package a volitelně --" "pid, nebo pouze --pid. Pokud není zadán ani jeden, zobrazí se seznam známých " "příznaků. (Použito, pokud je zadán jediný argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "Kliknutím vyberte okno pro vytvoření hlášení o chybě." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "Spustit režim aktualizace chyb. Může mít volbu --packages" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "Podat hlášení o chybě o příznaku. (Použito, pokud je zadán název příznaku " "jako jediný argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "Určit název balíku v režimu --file-bug. Toto je volitelné, pokud je určeno --" "pid. (Použito, pokud je zadán název balíku jako jediný argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "Upřesněte běžící program v režimu --file-bug mode. S tímto upřesněním bude " "hlášení obsahovat více informací. (Je-li číslo procesu uvedeno jako jediný " "argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "Poskytnuté pid je zamrzlá aplikace." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "Podat hlášení o havárii ze zadaného souboru .apport nebo .crash místo " "některých nevyřízených z %s. (Použito, pokud je zadán soubor jako jediný " "argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" "Uložte hlášení do souboru namísto přímého reportování. Tento soubor může být " "nahlášen později nebo z jiného počítače." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Vypsat číslo verze Apport." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "Tímto spustíte apport-retrace v terminálovém okně." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "Spustit gdb" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "Spustit gdb bez stahování debugovacích symbolů" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "Aktualizovat %s pomocí úplného symbolického trasování zásobníku" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" "Toto hlášení o problému se týká programu, který již není nainstalován." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "Problém byl zaznamenán v programu %s, který byl od pádu změněn." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "Toto hlášení o problému je poškozené a nemůže být zpracováno." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "Toto hlášení náleží k balíku, který není nainstalován." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "Při zpracování chybového hlášení došlo k chybě:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "Nelze určit název balíku nebo zdrojového balíku." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Nelze spustit webový prohlížeč" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "Nelze spustit webový prohlížeč a otevřít %s." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "Zadejte prosím informace o svém účtu k systému pro sledování chyb %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Problém se sítí" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "Nelze se připojit k databází havárií, prosím zkontrolujte své internetové " "připojení." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Vyčerpání paměti" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "Váš systém nemá dostatek paměti pro zpracování tohoto hlášení o havárii." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "Problém nemůže být nahlášen:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Problém je již znám" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "Tento problém byl již nahlášen v hlášení zobrazeném ve vašem webovém " "prohlížeči. Prosím zkontrolujte, zda můžete přidat další informace, které by " "mohly být vývojářům nápomocné." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "Tato chyba byla vývojářům již ohlášena. Děkujeme!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" "Toto se stalo v průběhu minulého uspání do paměti a zabránilo systému v " "probuzení." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" "Toto se stalo v průběhu minulého uspání na disk a zabránilo systému v " "probuzení." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "Proces probouzení byl porušen téměř u konce a vypadá tedy jako řádně " "ukončený." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Pro pokračování stiskněte libovolnou klávesu..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "Co chcete udělat? Máte tyto možnosti:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Prosím vyberte (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i bajtů)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "Po odeslání hlášení o problému vyplňte prosím formulář v nově\n" "otevřeném okně prohlížeče." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "&Odeslat hlášení (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "&Prozkoumat místně" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "Zobrazi&t hlášení" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" "&Ponechat soubor s hlášením pro pozdější odeslání nebo kopírování někam jinam" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "Zrušit a &ignorovat budoucí havárie této verze programu" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Zrušit" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Soubor s hlášením o problému:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&Potvrdit" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Chyba: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "Sesbírané informace mohou být odeslány vývojářům za účelem zlepšení\n" "aplikace. To může trvat i několik minut." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "Sesbírané informace se odesílají do systému pro sledování chyb.\n" "To může trvat i několik minut." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Hotovo" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "nic" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Vybráno: %s. Více možností:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Volby" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Cesta k souboru (Enter pro zrušení):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "Soubor neexistuje." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "Toto je adresář." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "Pro pokračování musíte navštívit následující adresu:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "Nyní můžete spustit prohlížeč nebo zkopírovat tuto adresu do prohlížeče nebo " "jiného počítače." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Spustit prohlížeč nyní" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" "Žádná nevyřízená hlášení o haváriích. Pro více informací použijte přepínač --" "help." #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "Kompletní hlášení (doporučeno; %s)" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "Pokud jste nedělali nic soukromého (zadávání hesla nebo jiné osobní " #~ "informace), můžete pomoci vylepšit aplikaci zasláním hlášení o problému." #~ msgid "Application problem" #~ msgstr "Problém aplikace" #~ msgid "Restart _Program" #~ msgstr "Spustit _program znovu" #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">Omlouváme se, avšak balík \"%s\" se " #~ "nepodařilo nainstalovat nebo aktualizovat.</span>" #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "Stručné hlášení (pomalé internetové připojení; %s)" #~ msgid "_Ignore future crashes of this program version" #~ msgstr "_Ignorovat budoucí havárie této verze programu" #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "Tímto odstraníte některé rozsáhlé položky z hlášení. Jsou sice užitečné pro " #~ "vývojáře při hledání problému, ale mohou být příliš objemné, pokud máte " #~ "pomalé internetové připojení." #~ msgid "_Report Problem..." #~ msgstr "_Nahlásit problém..." #~ msgid "Kernel problem" #~ msgstr "Problém jádra" #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "" #~ "Můžete pomoci vývojářům spravit tento balík zasláním hlášení o problému." #~ msgid "Content of the report" #~ msgstr "Obsah hlášení" #~ msgid "Package problem" #~ msgstr "Problém balíku" #~ msgid "&Report Problem..." #~ msgstr "&Nahlásit problém..." #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "Aplikace \"%s\" se neočekávaně ukončila dne %s v %s." #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "Ve vašem systému došlo k vážnému problému v jádře." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "Pokud jste nedělali nic soukromého (zadávání hesla nebo\n" #~ "jiné osobní informace), můžete pomoci vylepšit aplikaci\n" #~ "zasláním hlášení o problému." #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "Můžete pomoci vývojářům opravit problém tím, že jej nahlásíte." #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "&Odeslat úplné hlášení (doporučeno; %s)" #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "Nepodařilo se nainstalovat nebo aktualizovat balík \"%s\"." #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>Odeslat hlášení o problému vývojářům?</b></big>\n" #~ "\n" #~ "Po odeslání hlášení o problému vyplňte prosím formulář v nově otevřeném okně " #~ "prohlížeče." #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "Odeslat &stručné hlášení (pomalé internetové připojení; %s)" #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "Toto není původní balík pro %s" #~ msgid "_Send Report" #~ msgstr "_Odeslat hlášení" #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "" #~ "nesprávný počet argumentů; pro stručnou nápovědu použijte přepínač --help" #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Tato situace nastala v průběhu předchozího uspání do paměti a zabránila " #~ "správnému probuzení." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Tato situace nastala v průběhu předchozího uspání na disk a zabránila " #~ "správnému probuzení." #, python-format #~ msgid "Sorry, the application %s has closed unexpectedly." #~ msgstr "Omlouváme se, aplikace %s byla neočekávaně ukončena." #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [volby] <hlášení problému appoer | crash ID>" #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "" #~ "potřebujete provést lokální operaci (-s, -g, -o) nebo poskytnout soubor s " #~ "oprávněním (--auth); pro stručnou nápovědu použijte --help" #~ msgid "Your system might become unstablenow and might need to be restarted." #~ msgstr "" #~ "Váš systém se nyní může stát nestabilním a možná bude vyžadovat restart." ���������������������������������������������apport-2.20.1/po/cv.po������������������������������������������������������������������������������0000644�0000000�0000000�00000100231�12677230222�012615� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Chuvash translation for apport # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2009. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2011-10-07 06:10+0000\n" "Last-Translator: Ali Savatar <Unknown>\n" "Language-Team: Chuvash <cv@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: cv\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "" #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Jănăš" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "\"PID\" tĕrĕs mar" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "" #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Tetel jănăšĕ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Părahăşla" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Jănăš: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Hatĕr" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "şuk" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "Fajl tupănmarĕ" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/da.po������������������������������������������������������������������������������0000644�0000000�0000000�00000134505�12677230222�012604� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Danish translation for apport # Copyright (c) 2006 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the apport package. # Mads Bille Lundby <lundbymads@gmail.com>, 2009. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:46+0000\n" "Last-Translator: Aputsiaĸ Niels Janussen <aj@isit.gl>\n" "Language-Team: Danish <dansk@dansk-gruppen.dk>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: da\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "Apport" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "Annullér" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "O.k." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Nedbrudsrapport" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>Beklager, men der opstod en intern fejl.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" "Hvis du bemærker yderligere problemer, så prøv at genstarte computeren." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "Send en fejlrapport for at hjælpe med at fikse dette problem" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "Ignorér fremtidige problemer for denne programversion" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Vis detaljer" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "_Undersøg lokalt" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Lad være lukket" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Fortsæt" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>Indsamler probleminformation</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "Der indsamles informationer, som kan hjælpe udviklerne med at løse det " "problem, du rapporterer." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "Sender probleminformation" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>Sender probleminformation</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "Den indsamlede information sendes til fejlregistreringssystemet. Dette kan " "tage et par minutter." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Apport-nedbrudsfil" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(binære data)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "Beklager, men programmet %s er stoppet uventet." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "Beklager, men %s lukkede ned uventet." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "Beklager, men der opstod en intern fejl i %s." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Send problemrapport til udviklerne?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Send" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "Gennemtving lukning" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Genstart" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "Programmet %s er holdt op med at svare." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "Programmet \"%s\" er holdt op med at svare." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Pakke: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "Beklager, men der opstod et problem under installation af software." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "Programmet %s er stødt på en intern fejl." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "Programmet %s lukkede ned uventet." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "Ignorér fremtidige problemer af denne type" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Skjul detaljer" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Brug: %s <rapport> <målkatalog>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "Destinationskatalog eksisterer og er ikke tomt." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "Brugernavn:" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "Adgangskode:" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "Indsamler information om problemet" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Indsamler information om problem" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "Den indsamlede information kan sendes til udviklerne for at forbedre " "programmet. Dette kan tage nogle få minutter." #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "Afsender probleminformation" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Indsaml systemoplysninger" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "Der kræves godkendelse for at indsamle systemoplysninger til denne " "fejlrapport" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "Rapporter om systemfejl" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" "Angiv venligst din adgangskode for at se rapporter over problemer med " "systemprogrammer" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Rapportér et problem..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Rapportér en funktionsfejl til udviklerne" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "Se manualsiden for detaljer." #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "angiv navnet på logfilen som blev fremstillet af valgrind" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" "genbrug en tidligere oprettet sandkassemappe (SDIR) eller, hvis denne ikke " "findes, opret den" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" "undlad at oprette eller genbruge en sandkassemappe for yderligere " "fejlsøgningssymboler, og gør kun brug af installerede fejlsøgningssymboler." #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" "genbrug en tidligere oprettet cachemappe (CDIR) eller, hvis denne ikke " "findes, opret den" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" "rapportér hentning/installationsforløb, når der installeres pakker i " "sandkassen" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" "den eksekvérbare fil, der køres under memcheck, valgrinds værktøj til " "hukommelsestjek for registrering af læk i hukommelsen" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "Installér en ekstra pakke til sandkassen (kan angives flere gange)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "Fejl: %s er ikke en eksekvérbar fil. Afbryder." #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" "Dit system kan blive ustabilt nu og kan få brug for at blive genstartet." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "Føj ikke nye spor ind i rapporten, men skriv dem til stdout." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "Start en interaktiv gdb-session med rapportens kernedump (-o ignoreret; " "genskriver ikke rapport)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "Skriv tilpasset rapport til en angivet fil i stedet for at ændre den " "oprindelige rapport" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "Fjern kernedump fra rapporten efter genoprettelsen af stakspor" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "Tilsidesæt rapports kernefil (CoreFile)" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "Tilsidesæt rapports ExecutablePath" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "Tilsidesæt rapports ProcMaps" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "Genopbyg rapports pakkeinformation" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "Foranstil tidsstempler i logbeskeder til batch-operation" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" "Opret og benyt tredjepartsarkiver fra kilder som er angivet i rapporter" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "Mellemlagermappe for pakker som er hentet til sandkassen" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" "Katalog for udpakkede pakker. Fremtidige kørsler vil antage at enhver pakke " "som allerede er hentet, også udpakkes til denne sandkasse." #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" "Sti til en fil med godkendelsesinformation for nedbrudsdatabasen. Dette " "bruges, når et nedbruds-id angives til at sende de gensporerede stakspor " "(kun hvis hverken -g, -o, eller -s er angivet)" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "Vis gensporerede stakspor og spørg om bekræftelse før de afsendes til " "nedbrudsdatabasen." #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" "Sti til sqlite-duplikatdatabasen (standard: ingen duplikeret kontrol)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "Du kan ikke benytte -C uden -S. Afbryder." #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "O.k. at sende disse som bilag [y/n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "Denne pakke synes ikke at være korrekt installeret" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "Dette er ikke en officiel %s-pakke. Fjern venligst tredjepartspakken, hvis " "der er en, og prøv igen." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "Du har nogle forældede pakkeversioner installeret. Opgrader venligst de " "følgende pakker og se om problemet stadig opstår:\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "ukendt program" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Undskyld, programmet \"%s\" lukkede uventet" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Problem i %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "Din computer har ikke nok ledig hukommelse til en automatisk analyse af " "problemet og afsendelse af en rapport til udviklerne." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Ugyldig problemrapport" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "Du har ikke tilladelse til at tilgå denne problemrapport." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Fejl" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" "Der er ikke nok diskplads til rådighed til at behandle denne rapport." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "Ingen pakke angivet" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "Du skal angive en pakke eller en PID. Se --help for mere information." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Tilladelse nægtet" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "Den angivne proces tilhører ikke dig. Kør venligst dette program som ejer af " "processen eller som administrator." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "Ugyldigt PID" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "Det angivne proces-ID tilhører ikke et program." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "Symptomskript %s udpegede ikke en berørt pakke" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "Pakke %s eksisterer ikke" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "Kan ikke oprette rapport" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "Opdaterer problemrapport" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "Ingen yderligere oplysninger indsamlet." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "Hvilken slags problem ønsker du at rapportere?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Ukendt symptom" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "Symptomet \"%s\" er ikke kendt." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "Tryk venligst på et programvindue - efter du lukker denne besked - for at " "rapportere et problem med det." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "xprop kunne ikke bestemme proces-id for vinduet" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "%prog <rapportnummer>" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "Angiv pakkenavn." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "Tilføj et ekstra mærke til rapporten. Kan gives flere gange." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "%prog [tilvalg] [symptom|pid|pakke|programsti|.apport/.crash-fil]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Start i fejlrapporteringstilstand. Kræver --pakke og valgfrit et --pid, " "eller blot et --pid. Fremvis en liste over kendte symptomer, hvis ingen af " "delene er angivet. (Underforstået hvis et enkelt argument er angivet.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "Klik på et vindue som et mål for indsendelse af en fejlrapport." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "Start i fejlopdateringstilstand. Kan have et valgfrit --package." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "Opret en fejlrapport om et symptom. (Underforstået hvis symptomnavn er " "angivet som eneste argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "Angiv pakkenavn i --file-bug-tilstand. Dette er valgfrit hvis et --pid er " "angivet. (Underforstået hvis pakkenavn er angivet som eneste argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "Vælg et kørende program i tilstanden --file-bug. Hvis dette er givet, vil " "fejlrapporten indeholde mere information. (Underforstået, hvis pid gives som " "eneste argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "Det angivne pid er et program som hænger." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "Rapportér nedbruddet fra en given .apport- eller .crash-fil i stedet for de " "igangværende filer i %s. (Underforstået hvis fil er angivet som eneste " "argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" "Gem, under fejludfyldelsestilstanden, den indsamlede information i en fil i " "stedet for at rapportere den. Denne fil kan så rapporteres fra en anden " "maskine på et senere tidspunkt." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Skriv Apport-versionnummer." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" "Dette vil køre apport-retrace i et terminalvindue for at undersøge " "nedbruddet." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "Kør gdb-session" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "Kør gdb-session uden at hente fejlsøgningssymboler" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "Opdatér %s med fuldt symbolsk stakspor" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" "Problemrapporten vedrører et program, som ikke længere er installeret." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" "Problemet opstod med programmet %s, som har ændret sig siden sidste nedbrud." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "Denne problemrapport er beskadiget og kan ikke behandles." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "Rapporten tilhører en pakke, som ikke er installeret." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "Der opstod en fejl ved forsøg på at behandle denne problemrapport:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "Kunne ikke bestemme pakken eller kildepakkenavn." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Kan ikke starte internetbrowser" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "Kan ikke starte internetbrowser for at åbne %s." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" "Indtast venligst dine kontoinformationer til %s-fejlregistreringssystemet" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Netværksproblem" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "Kan ikke forbinde til nedbrudsdatabase. Kontrollér venligst din " "internetforbindelse." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Overbelastning af hukommelse" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "Dit system har ikke hukommelse nok til at behandle denne nedbrudsrapport." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "Problemet kan ikke rapporteres:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Problemet er allerede kendt" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "Dette problem er allerede blevet rapporteret i fejlrapporten, som er vist i " "din internetbrowser. Kontrollér venligst om du kan tilføje yderligere " "information, som kan være til hjælp for udviklerne." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" "Dette problem er allerede blevet rapporteret til udviklerne. Mange tak!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" "Dette skete under en tidligere hviletilstand, og forhindrede systemet i at " "vågne op korrekt." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" "Dette skete under en tidligere dvaletilstand, og forhindrede systemet i at " "vågne op korrekt." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "Opvågningsprocessen gik i stå meget tæt på slutningen, og den har set ud, " "som om den er blevet fuldført på normal vis." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Tryk på en tast for at fortsætte..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "Hvad ønsker du at foretage dig? Dine valg er:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Vælg venligst (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i bytes)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "Efter problemrapporten er afsendt, bedes du udfylde formularen i den\n" "internetbrowser, som åbner automatisk." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "&Send rapport (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "&Undersøg lokalt" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "&Læs rapport" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" "&Behold rapportfil til senere afsendelse eller kopiér den til et andet sted" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "Annullér og &ignorér fremtidige nedbrud af denne programversion" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Annullér" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Problemrapportfil:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&Bekræft" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Fejl: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "De indsamlede informationer kan sendes til udviklerne med henblik på\n" " at forbedre programmet. Dette kan tage nogle få minutter." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "De indsamlede informationer sendes til fejlregistreringssystemet.\n" "Dette kan tage et par minutter." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Færdig" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "intet" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Valgt: %s. Flere valg:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Valg:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Sti til fil (Enter for at annullere):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "Fil eksisterer ikke." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "Dette er et katalog." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "Du skal beøge følgende internetadresse for at fortsætte:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "Du kan åbne en browser nu eller kopiere adressen til en browser på en anden " "computer." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Åbn en browser nu" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "Ingen ventende nedbrudsrapporter. Prøv --help for mere information." #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "" #~ "Du kan hjælpe udviklerne med at rette dette problem ved at rapportere det." #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">Undskyld, pakken \"%s\" fejlede under " #~ "installation eller opgradering.</span>" #~ msgid "Content of the report" #~ msgstr "Indhold af rapporten" #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "Hele rapporten (anbefalet; %s)" #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "" #~ "Du kan hjælpe udviklerne med at ordne pakken ved at rapportere problemet." #~ msgid "_Report Problem..." #~ msgstr "_Rapportér problem..." #~ msgid "_Send Report" #~ msgstr "_Send rapport" #~ msgid "&Report Problem..." #~ msgstr "&Rapportér problem..." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "Hvis ikke du foretog dig noget fortroligt (indtastning af adgangskode eller " #~ "anden\n" #~ "privat information), kan du hjælpe udviklerne med at forbedre programmet ved " #~ "at\n" #~ "rapportere problemet." #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s lukkede uventet på %s ved %s." #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "&Send komplet rapport (anbefalet; %s)" #~ msgid "Application problem" #~ msgstr "Programproblem" #~ msgid "Package problem" #~ msgstr "Pakkeproblem" #~ msgid "Restart _Program" #~ msgstr "Genstart _program" #~ msgid "Kernel problem" #~ msgstr "Kerneproblem" #~ msgid "_Ignore future crashes of this program version" #~ msgstr "_Ignorér fremtidige nedbrud af denne programversion" #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "Pakken \"%s\" fejlede under installation eller opgradering." #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "Send &reduceret rapport (langsom Internetforbindelse; %s)" #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "Dette er ikke en original %s-pakke" #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "Dit system stødte på et alvorligt kerneproblem." #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Dette skete under en tidligere hviletilstand og forhindrede den i at vågne " #~ "korrekt." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Dette skete under en tidligere dvaletilstand og forhindrede den i at vågne " #~ "korrekt." #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>Send problemrapport til udviklerne?</b></big>\n" #~ "\n" #~ "Efter problemrapporten er afsendt, bedes du udfylde formularen i den\n" #~ "internetbrowser, som åbner automatisk." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "Hvis du ikke var i gang med noget fortroligt (indtastning af adgangskode " #~ "eller anden privat information), kan du hjælpe med at forbedre programmet " #~ "ved at rapportere problemet." #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "Begrænset rapport (langsom internetforbindelse; %s)" #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "Dette vil fjerne nogle store elementer fra rapporten. Disse er meget nyttige " #~ "for udviklerne til at fejlsøge problemet, men kan være for store for dig at " #~ "afsende, hvis du har en langsom internetforbindelse." #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [tilvalg] <apport-problemrapport | nedbruds-id>" #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "forkert antal argumenter; brug --help for en kortfattet hjælp" #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "" #~ "du skal enten fortage en lokal operation (-s, -g, -o) eller angive en " #~ "godkendelsesfil (--auth); se --help for en kortfattet hjælp" #, python-format #~ msgid "Sorry, the application %s has closed unexpectedly." #~ msgstr "Beklager, men programmet %s lukkede ned uventet." #~ msgid "Your system might become unstablenow and might need to be restarted." #~ msgstr "" #~ "Dit system vil muligvis blive ustabilt nu, og det kan blive nødvendigt med " #~ "en genstart." �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/de.po������������������������������������������������������������������������������0000644�0000000�0000000�00000145214�12677230222�012607� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Copyright (C) 2007 Martin Pitt # This file is distributed under the same license as the apport package. # Martin Pitt <martin.pitt@ubuntu.com> # msgid "" msgstr "" "Project-Id-Version: apport 0.2\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-09-10 15:08+0000\n" "Last-Translator: Martin Pitt <martin.pitt@ubuntu.com>\n" "Language-Team: German <de@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: de\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "Apport" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "Abbrechen" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "OK" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Absturzbericht" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "" "<big><b>Entschuldigung, es ist ein interner Fehler aufgetreten.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" "Falls Sie weitere Probleme bemerken, versuchen Sie Ihren Rechner neu zu " "starten." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" "Einen Fehlerbericht senden, um beim Beheben dieses Problems zu helfen" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "Zukünftige Abstürze dieser Programmversion ignorieren" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Einzelheiten anzeigen" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "_Lokal analysieren" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Geschlossen lassen" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Fortfahren" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>Probleminformationen werden gesammelt</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "Es werden Informationen gesammelt, die den Entwicklern beim Lösen des " "Problems helfen können." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "Probleminformationen werden übermittelt" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>Probleminformationen werden übermittelt</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "Die gesammelten Informationen werden zum Fehlerverfolgungssystem gesendet. " "Das kann einige Minuten dauern." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Apport-Absturzberichtsdatei" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(binäre Daten)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "Entschuldigung, die Anwendung »%s« wurde unerwartet beendet." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "Entschuldigung, »%s« wurde unerwartet beendet." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "Entschuldigung, »%s« hat einen internen Fehler festgestellt." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Problembericht an die Entwickler senden?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Senden" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "Schließen erzwungen" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Neu starten" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "Die Anwendung %s reagiert nicht mehr." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "Das Programm »%s« reagiert nicht mehr." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Paket: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "" "Entschuldigung, beim Installieren der Anwendung ist ein Problem aufgetreten." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "Die Anwendung %s hat einen internen Fehler erlitten." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "Entschuldigung, %s wurde unerwartet beendet." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "Zukünftige Abstürze dieser Art ignorieren" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Einzelheiten ausblenden" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Benutzung: %s <Bericht> <Zielverzeichnis>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "Zielverzeichnis existiert und ist nicht leer." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "Benutzername:" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "Passwort:" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "Probleminformationen werden gesammelt" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Probleminformationen werden gesammelt" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "Die gesammelten Informationen können an die Entwickler gesendet werden um " "die Anwendung zu verbessern. Das kann einige Minuten dauern." #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "Probleminformationen werden übermittelt" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Systeminformationen werden gesammelt" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "Legitimation ist erforerlich, um Systeminformationen für diesen " "Problembericht zu sammeln." #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "Systemproblemberichte" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" "Bitte geben Sie Ihr Passwort ein, um zu den Problemberichten von " "Systemprogrammen zu gelangen" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Einen Fehler melden …" #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Den Entwicklern eine Fehlfunktion melden" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "Weitere Informationen finden Sie in der Handbuchseite." #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" "Den Namen der Protokolldatei festlegen, die von valgrind erstellt wurde" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" "Einen zuvor erzeugten Sandbox-Ordner (SDIR) verwenden oder einen neuen " "erzeugen, falls er noch nicht existiert" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" "Keinen Sandbox-Ordner erstellen oder wiederverwenden für zusätzliche " "Fehlerdiagnosesymbole, sondern auf installierte Fehlerdiagnosesymbole " "verlassen." #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" "Einen zuvor erzeugten Zwischenspeicherordner (CDIR) verwenden, oder einen " "neuen erstellen, falls er noch nicht existiert" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" "Übertragungs-/Installationsfortschritt anzeigen, wenn Pakete in einer " "Sandbox installiert werden" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" "Die ausführbare Datei, die unter valgrinds Speicherprüfungswerkzeug zur " "Speicherleckerkennung ausgeführt wird" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" "Ein zusätzliches Paket in die Sandbox installieren (kann mehrfach angegeben " "werden)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "Fehler: %s ist keine ausführbare Datei. Abbruch." #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" "Ihr System könnte nun instabil werden, und muss eventuell neu gestartet " "werden." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" "Die neuen Stapelspeicher nicht in die Berichtsdatei, sondern auf die " "Standardausgabe schreiben." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "Eine interaktive GDB-Sitzung mit dem Kernspeicherauszug des Berichtes " "starten (-o wird ignoriert; Bericht wird nicht neu geschrieben)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "Den aktualisierten Bericht in die angegebene Datei schreiben anstatt den " "Originalbericht zu ändern" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" "Den Kernspeicherauszug vom Bericht entfernen, nachdem der Stapelspeicher neu " "generiert wurde." #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "CoreFile des Berichts überschreiben" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "ExecutablePath des Berichts überschreiben" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "ProcMaps des Berichts überschreiben" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "Die Paketinformation des Berichts erneuern" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" "Erstellt eine temporäre Sandbox, lädt die benötigten Pakete und Symbole zur " "Fehlerdiagnose herunter und installiert diese in die Sandbox; ohne diese " "Option wird davon ausgegangen, dass die benötigten Pakete und Symbole zur " "Fehlerdiagnose bereits im System installiert sind.Der Parameter verweist auf " "das Stammverzeichnis des Paketsystemkonfigurationsverzeichnisses; wenn Sie " "»system« angeben werden die Systemkonfigurationsdateien verwendet, " "allerdings sind Sie dann nur in der Lage Abstürze in der aktuell laufenden " "Veröffentlichung zurück zu verfolgen." #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" "Übertragungs-/Installationsfortschritt anzeigen, wenn Pakete in einer " "Sandbox installiert werden" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" "Protokolleinträgen einen Zeitstempel voranstellen, für Stapelverarbeitung" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" "Verwende Paketquellen von Drittanbietern die in Berichten angegeben sind" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" "Ordner zum Zwischenspeichern von Paketen, die in der Sandbox heruntergeladen " "wurden" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" "Verzeichnis für entpackte Pakete. Ab dem nächsten Start wird davon " "ausgegangen, dass alle bereits heruntergeladenen Pakete in diese Sandbox " "entpackt worden sind." #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" "Pfad zu einer Datei mit den Legitimierungsinformationen der " "Absturzdatenbank. Er wird verwendet, wenn eine Absturzkennung zum Hochladen " "der Absturzdaten angegeben wird (nur wenn weder »-g«, »-o« oder »-s« " "angegeben werden)" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "Zurückverfolgte Stapelspeicher anzeigen und auf Bestätigung warten, bevor " "sie zur Fehlerdatenbank gesendet werden." #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" "Pfad zur sqlite-Datenbank mit den Duplikaten (Voreinstellung: Keine Prüfung " "auf Duplikate)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "Sie dürfen -C nicht ohne -S verwenden. Abbruch." #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "Dürfen diese als Anlage mitgeschickt werden? [y = Ja / n = Nein]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "Dieses Paket scheint nicht richtig installiert zu sein" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "Das ist kein offizielles %s-Paket. Bitte entfernen Sie alle Pakete von " "Drittanbietern und wiederholen Sie den Vorgang." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "Sie haben einige veraltete Paketversionen installiert. Bitte aktualisieren " "Sie die folgenen Pakete und prüfen Sie, ob das Problem danach noch " "auftritt:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "unbekanntes Programm" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Entschuldigung, das Programm »%s« wurde unerwartet beendet" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Problem in %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "Ihr System besitzt nicht genug Speicher, um den Absturzbericht zu " "verarbeiten und einen Bericht an die Entwickler zu senden." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Ungültiger Problembericht" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "Sie haben keine Berechtigung für diesen Problembericht." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Fehler" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" "Ihr System besitzt nicht genug Festplattenplatz, um den Absturzbericht zu " "verarbeiten." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "Kein Paket angegeben." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "Sie müssen ein Paketnamen oder eine PID angeben. Versuchen Sie --help für " "weitere Informationen." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Zugriff verweigert" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "Der angegebene Prozess gehört nicht Ihnen. Bitte starten Sie dieses Programm " "als den Prozesseigentümer oder als root." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "Ungültige Prozesskennung" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "Die angegebene Prozesskennung gehört zu keinem Programm." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "Symptom-Skript %s konnte kein betroffenes Paket finden" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "Paket %s existiert nicht." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "Bericht kann nicht erstellt werden" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "Problembericht wird aktualisiert" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "Sie haben den Problembericht weder erstellt noch abonniert oder der " "Problembericht ist bereits geschlossen oder er wurde als Duplikat " "gekennzeichnet.\n" "\n" "Bitte erstellen Sie mit »apport-bug« einen neuen Problembericht." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "Sie haben diesen Problembericht nicht erstellt. Es ist viel einfacher, ein " "Problem als Duplikat eines anderen Problems zu kennzeichnen, als Ihre " "Kommentare und Anhänge zum neuen Problem zu verschieben.\n" "\n" "Folglich wird empfohlen, dass Sie mit »apport-bug« einen neuen " "Problembericht erstellen und in diesen Fehlerbericht einen Kommentar zu " "Ihrem erstellten Fehlerbericht hinzufügen.\n" "\n" "Möchten Sie wirklich fortfahren?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "Keine zusätzlichen Informationen gesammelt." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "Welche Art von Problem möchten Sie melden?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Unbekanntes Symptom" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "Das Symptom »%s« ist nicht bekannt." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "Nachdem Sie diese Meldung geschlossen haben, klicken Sie bitte auf das " "Fenster der Anwendung, zu der Sie ein Problem melden möchten." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "Xprop konnte die Prozesskennung des Fensters nicht ermitteln" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "%prog <Berichtnummer>" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "Paketnamen angeben." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" "Eine zusätzliches Schlagwort zu dem Bericht hinzufügen. Kann mehrfach " "angegeben werden." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [Optionen] [Fehler|PID|Paket|Programmpfad|.apport/.crash-Datei]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Im Fehler-Melde-Modus starten. Benötigt --package und optional --pid oder " "nur --pid. Wenn keines angegeben wird, eine Liste bekannter Symptome " "anzeigen. (Implizit, wenn nur ein einzelnes Argument angegeben wird.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" "Klicken Sie bitte auf das Fenster der Anwendung, die im Bericht vorkommen " "soll." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" "Im Fehleraktualisierungsmodus starten. Option --package kann zusätzlich " "angegeben werden." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "Fehler als einen Bericht über ein Symptom melden. (Implizit, wenn der " "Symptom-Name als einziges Argument angegeben wird.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "Einen Paketnamen im Fehlerberichtsmodus (--file-bug) angeben. Das ist " "optional, wenn --pid angegeben wird. (Implizit, wenn der Paketname als " "einziges Argument angegeben wurde.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "Geben Sie ein laufendes Programm im --file-bug-Modus an. Dadurch wird der " "Fehlerbericht mehr Informationen enthalten. (Standard, wenn das einzige " "Argument eine PID ist.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "Die angegebene pid ist eine nicht reagierende Anwendung." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "Fehlerbericht aus einer angegebenen .apport- oder .crash-Datei erstellen, " "anstatt aus einer der in %s wartenden. (Implizit, wenn ein Dateiname als " "einziges Argument angegeben wurde.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" "Speichern Sie im Fehlerberichtmodus die gesammelten Informationen in einer " "Datei, anstatt sie direkt zu melden. Diese Datei kann später von einem " "anderen Rechner aus gesendet werden, um den Fehler zu melden." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Die Versionsnummer von Apport ausgeben." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" "Hierdurch wird apport-retrace in einem Terminal ausgeführt, um die " "Absturzursache zu untersuchen." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "Eine gdb-Sitzung ausführen" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" "Eine gdb-Sitzung ausführen ohne Fehlerdiagnosesymbole herunterzuladen" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "%s mit vollständig symbolischen Stapelspeicher aktualisieren" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" "Der Bericht gehört zu einem Programm welches nicht mehr installiert ist." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" "Das Problem trat in der Anwendung %s auf, die seit dem Absturz verändert " "wurde." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "" "Dieser Problembericht ist beschädigt und kann nicht verarbeitet werden." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "Der Bericht gehört zu einem nicht installierten Paket." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" "Bei der Verarbeitung dieses Fehlerberichts ist ein Problem aufgetreten:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "Paket- oder Quellpaketname konnten nicht bestimmt werden." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Konnte Web-Browser nicht starten" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "Konnte Web-Browser nicht starten um %s zu öffnen." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" "Bitte geben Sie Ihre Kontodaten für das %s-Fehlerverwaltungssystem ein" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Netzwerkproblem" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "Es konnte keine Verbindung zur Fehlerdatenbank aufgebaut werden. Bitte " "prüfen Sie Ihre Internetverbindung." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Kein Speicher mehr verfügbar" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "Ihr System besitzt nicht genug Speicher, um den Absturzbericht zu " "verarbeiten." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "Das Problem kann nicht gemeldet werden:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Dieses Problem ist bereits bekannt." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "Dieses Problem wurde bereits in dem Problembericht, welcher im Webbrowser " "angezeigt wird, gemeldet. Bitte überprüfen Sie, ob Sie noch irgendwelche " "weiteren Informationen, welche für die Entwickler hilfreich sein könnten, " "hinzufügen können." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "Dieses Problem wurde den Entwicklern bereits gemeldet. Vielen Dank!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" "Das geschah während eines vorhergehenden Bereitschaftsmodus und verhinderte " "ein ordnungsgemäßes Fortsetzen." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" "Das geschah während eines vorhergehenden Ruhezustandes und verhinderte ein " "ordnungsgemäßes Fortsetzen." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "Das Fortsetzen blieb nahe dem Ende des Vorgangs hängen und wird ausgesehen " "haben, also ob es ordnungsgemäß abgeschlossen wurde." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Bitte eine Taste drücken, um fortzufahren …" #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "Was möchten Sie tun? Ihre Möglichkeiten sind:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Bitte auswählen (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i Bytes)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "Bitte füllen Sie, nachdem der Problembericht versandt wurde, das Formular " "aus, welches sich automatisch in ihrem Browser öffnen wird." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "Bericht &senden (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "&Lokal analysieren" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "Bericht an&zeigen" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" "Berichtsdatei &behalten, für spätere Meldung oder um sie an einen anderen " "Ort zu kopieren." #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "Abbrechen und zukünftige Abstürze dieser Programmversion &ignorieren" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Abbruch" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Datei mit Problembericht:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&Bestätigen" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Fehler: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "Die gesammelten Informationen können an die Entwickler gesendet werden,\n" "um die Anwendung zu verbessern. Das kann einige Minuten dauern." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "Die gesammelten Informationen werden zum Fehlerverfolgungssystem gesendet.\n" "Das kann einige Minuten dauern." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Fertig" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "keine" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Gewählt: %s. Mehrfache Auswahl:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Auswahl:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Pfad zur Datei (Eingabetaste um abzubrechen):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "Datei existiert nicht." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "Das ist ein Verzeichnis." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "Um fortzufahren, müssen Sie die folgende Adresse aufrufen:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "Sie können jetzt einen Browser starten oder diese Adresse, in einen Browser " "auf einem anderen Rechner, kopieren." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Browser starten" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" "Keine aktuellen Absturzberichte. Versuchen Sie --help für weitere " "Informationen." #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "Das Paket \"%s\" lies sich nicht installieren oder aktualisieren." #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "Vollständiger Bericht (empfohlen; %s)" #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>Problembericht an die Entwickler senden?</b></big>\n" #~ "\n" #~ "Bitte füllen Sie das Formular aus, welches sich nach dem Senden des " #~ "Problemberichts in einem neuen Browser-Fenster öffnet." #~ msgid "Application problem" #~ msgstr "Anwendungsproblem" #~ msgid "_Send Report" #~ msgstr "_Bericht senden" #~ msgid "Generic error" #~ msgstr "Allgemeiner Fehler" #~ msgid "" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "Bitte füllen Sie, nachdem der Problembericht versandt wurde, das Formular " #~ "aus, welches sich automatisch in ihrem Browser öffnen wird." #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s wurde unerwartet beendet am %s um %s." #~ msgid "Restart _Program" #~ msgstr "_Programm neustarten" #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">Entschuldigung, das Paket \"%s\" lies " #~ "sich nicht installieren oder aktualisieren.</span>" #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "&Vollständiger Bericht (empfohlen; %s)" #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "Reduzierter Bericht (langsame Internetverbindung; %s)" #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "&Reduzierter Bericht (langsame Internetverbindung; %s)" #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "Dies wird einige große Teile aus dem Bericht entfernen. Diese sind für die " #~ "Entwickler sehr hilfreich um das Problem zu untersuchen, aber sie könnten zu " #~ "groß zum hochladen sein, wenn Sie eine langsame Internetverbindung haben." #~ msgid "&Report Problem..." #~ msgstr "&Fehler melden..." #~ msgid "_Report Problem..." #~ msgstr "_Fehler melden..." #~ msgid "&Send" #~ msgstr "&Senden" #~ msgid "Kernel problem" #~ msgstr "Kernel-Problem" #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "" #~ "Sie können den Entwicklern helfen das Paket zu korrigieren, indem sie das " #~ "Problem melden." #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "Dies ist kein %s-Paket" #~ msgid "Content of the report" #~ msgstr "Inhalt des Berichts" #~ msgid "Package problem" #~ msgstr "Paketproblem" #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "Ihr System erlitt ein ernstes Kernel-Problem" #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "" #~ "Sie können den Entwicklern helfen das Problem zu korrigieren, indem sie es " #~ "melden." #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "" #~ "Ungültige Anzahl von Argumenten; benutzen Sie --help für die Kurzhilfe" #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "" #~ "Sie müssen entweder eine lokale Operation (»-s«, »-g« oder »-o«) ausführen " #~ "oder eine Legitimierungsdatei (»--auth«) angeben; lesen Sie dazu die " #~ "Kurzhilfe mit »--help«" #~ msgid "Send this data to the developers?" #~ msgstr "Diese Daten an die Entwickler senden?" #~ msgid "&Details..." #~ msgstr "&Details …" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "Sofern Sie nicht etwas Vertrauliches durchgeführt haben (Eingabe von " #~ "Passwörtern oder anderen privaten Informationen), können Sie bei der " #~ "Verbesserung der Anwendung helfen, indem Sie den Fehler melden." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "Sofern Sie nicht etwas Vertrauliches durchgeführt haben (Eingabe von\n" #~ "Passwörtern oder anderen privaten Informationen), können Sie bei der\n" #~ "Verbesserung der Anwendung helfen, indem Sie den Fehler melden." #~ msgid "&Ignore future crashes of this program version" #~ msgstr "Zukünftige Abstürze dieser Programmversion &ignorieren" #~ msgid "_Ignore future crashes of this program version" #~ msgstr "Zukünftige Abstürze dieser Programmversion _ignorieren" #, python-format #~ msgid "Sorry, %s closed unexpectedly" #~ msgstr "Entschuldigung, \"%s\" wurde unerwartet beendet" #, python-format #~ msgid "Sorry, the program \"%s\" closed unexpectedly." #~ msgstr "Entschuldigung, das Programm \"%s\" wurde unerwartet beendet." #, python-format #~ msgid "Sorry, %s closed unexpectedly." #~ msgstr "Entschuldigung, \"%s\" wurde unerwartet beendet." #~ msgid "Restart &Program" #~ msgstr "&Programm neustarten" #, python-format #~ msgid "Sorry, the package \"%s\" failed to install or upgrade." #~ msgstr "Das Paket \"%s\" ließ sich nicht installieren oder aktualisieren." #, python-format #~ msgid "Sorry, the application %s has closed unexpectedly." #~ msgstr "Entschuldigung, die Anwendung %s wurde unerwartet beendet." #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [Optionen] <Apport-Berichtsdatei | Absturzkennung>" #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Das geschah während eines vorhergehenden Bereitschaftsmodus und verhinderte " #~ "ein ordnungsgemäßes Fortsetzen." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Das geschah während eines vorhergehenden Ruhezustandes und verhinderte ein " #~ "ordnungsgemäßes Fortsetzen." #~ msgid "Your system might become unstablenow and might need to be restarted." #~ msgstr "" #~ "Ihr System könnte instabil werden und muss eventuell neu gestartet werden." ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/el.po������������������������������������������������������������������������������0000644�0000000�0000000�00000172154�12677230222�012622� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Greek, Modern (1453-) translation for apport # Copyright (c) 2006 Rosetta Contributors and Canonical Ltd 2006 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:47+0000\n" "Last-Translator: Nick Andrik <nick.andrik@gmail.com>\n" "Language-Team: Greek, Modern (1453-) <el@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: \n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "Apport" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "Ακύρωση" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "Εντάξει" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Αναφορά αποτυχίας συστήματος" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>Μας συγχωρείτε, συνέβη ένα εσωτερικό σφάλμα.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" "Εάν συναντήσετε περαιτέρω προβλήματα, παρακαλούμε επανεκκινήστε τον " "υπολογιστή σας." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" "Αποστείλετε αναφορά λάθους για να βοηθήσει στην επίλυση του προβλήματος" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "Αγνοήστε μελλοντικά προβλήματα αυτής της έκδοσης προγράμματος" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Προβολή λεπτομερειών" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "Τοπική _εξέταση" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Να παραμείνει κλεισμένο" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Συνέχεια" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>Συλλογή πληροφοριών προβλήματος</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "Συλλέγονται πληροφορίες που μπορεί να βοηθήσουν τους υπευθύνους ανάπτυξης " "στην επιδιόρθωση του προβλήματος που αναφέρετε." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "Αποστολή πληροφοριών προβλήματος" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>Αποστολή πληροφοριών του προβλήματος</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "Οι πληροφορίες που συλλέχθηκαν αποστέλλονται στο σύστημα καταγραφής λαθών. " "Αυτό μπορεί να διαρκέσει λίγα λεπτά." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Αρχείο κατάρρευσης Apport" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(δυαδικά δεδομένα)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "Λυπούμαστε, η εφαρμογή %s σταμάτησε απροσδόκητα." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "Συγνώμη,το %s τερματίστηκε απροδόκητα." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "Συγνώμη, το %s παρουσίασε εσωτερικό σφάλμα." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Αποστολή αναφοράς προβλήματος στους προγραμματιστές;" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Αποστολή" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "Εξαναγκασμένος τερματισμός" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Επανεκκίνηση" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "Η εφαρμογή %s σταμάτησε να ανταποκρίνεται." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "Το πρόγραμμα \"%s\" σταμάτησε να ανταποκρίνεται." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Πακέτο: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "" "Συγνώμη , κάποιο πρόβλημα παρουσιάστηκε κατά την εγκατάσταση του λογισμικού." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "Η εφαρμογή %s παρουσίασε ένα εσωτερικό σφάλμα." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "Η εφαρμογή %s τερματίστηκε απροσδόκητα." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "Στο μέλλον να αγνοούνται προβλήματα αυτού του τύπου" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Απόκρυψη λεπτομεριών" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Χρήση: %s <αναφορά> <κατάλογος προορισμού>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "Ο κατάλογος προορισμού υπάρχει ήδη και δεν είναι κενός." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "Όνομα χρήστη:" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "Κωδικός πρόσβασης:" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "Συλλογή πληροφοριών προβλήματος" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Συλλογή πληροφοριών προβλήματος" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "Μπορείτε να στείλετε τις πληροφορίες που συλλέχθηκαν στους υπεύθυνους " "ανάπτυξης ώστε να βελτιώσουν την εφαρμογή. Αυτό μπορεί να διαρκέσει λίγα " "λεπτά." #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "Αποστολή πληροφοριών προβλήματος" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Συλλογή πληροφοριών συστήματος" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "Απαιτείται πιστοποίηση για την συλλογή πληροφοριών συστήματος για αυτήν την " "αναφορά προβλήματος" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "Αναφορές προβλημάτων συστήματος" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" "Παρακαλώ εισάγετε το συνθηματικό σας για να αποκτήσετε πρόσβαση στις " "αναφορές προβλημάτων των προγραμμάτων συστήματος" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Αναφορά προβλήματος..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Αναφορά δυσλειτουργίας στους προγραμματιστές" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "Δείτε τη σελίδα τεκμηρίωσης για λεπτομέρειες." #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "ορίστε το όνομα αρχείου καταγραφών που θα παράγεται από το valgrind" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" "επαναχρησιμοποίηση ενός καταλόγου απομόνωσης (SDIR) που δημιουργήθηκε την " "προηγούμενη φορά, ή αν δεν υπάρχει, δημιούργησε το" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" "να μη δημιουργηθεί ή επαναχρησιμοποιηθεί κατάλογος απομόνωσης για σύμβολα " "αποσφαλμάτωσης, αλλά να χρησιμοποιηθούν μόνο εγκαταστημένα σύμβολα " "αποσφαλμάτωσης." #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" "επαναχρησιμοποίηση ενός καταλόγου προσωρινής μνήμης (CDIR) που δημιουργήθηκε " "προηγούμενη φορά, ή αν δεν υπάρχει, δημιούργησε το" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" "να αναφέρεται η πρόοδος λήψης/εγκατάστασης όταν γίνεται εγκατάσταση πακέτων " "σε περιβάλλον απομόνωσης" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" "το εκτελέσιμο που τρέχει το εργαλείο ελέγχου μνήμης του valgrind για την " "ανίχνευση διαρροής μνήμης (memory leak)" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" "Εγκαταστήστε ένα επιπλέον πακέτο στο περιβάλλον δοκιμών (μπορεί να " "προσδιοριστεί πολλές φορές)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "Σφάλμα: το %s δεν είναι εκτελέσιμο. Διακοπή." #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" "Το σύστημά σας πιθανώς να καταστεί ασταθές και ίσως απαιτηθεί η " "επανεκκίνησή του." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" "Να μην γίνει προσθήκη νέων στοιχείων στην αναφορά, αλλά να γραφτούν στο " "stdout." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "Εκκινήστε μια διαδραστική συνεδρία gdb με το core dump της αναφοράς (το -o " "παραβλέπεται, δεν δημιουργείται εκ νέου η αναφορά)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "Εγγραφή της τροποποιημένης αναφοράς στο επιλεγμένο αρχείο αντί για αλλαγή " "της αρχικής αναφοράς" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" "Αφαίρεση του αρχείου εικόνας μνήμης (core dump) από την αναφορά μετά την " "επαναδημιουργία της ακολουθίας κλήσεων στοίβας" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "Παράκαμψη του CoreFile της αναφοράς" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "Παράκαμψη του ExecutablePath της αναφοράς" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "Παράκαμψη των ProcMaps της αναφοράς" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "Επανοικοδόμηση των πληροφοριών πακέτου της αναφοράς" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" "Φτιάξτε ένα προσωρινό περιβάλλον δοκιμών και κατεβάστε/εγκαταστήστε τα " "απαραίτητα πακέτα και διορθώστε σύμβολα εκεί· χωρίς η επιλογή αυτή να " "υποθέτει ότι τα απαραίτητα πακέτα και τα σύμβολα αποσφαλμάτωσης είναι ήδη " "εγκατεστημένα στο σύστημα. Τα σημεία παράμετροι για το σύστημα συσκευασίας " "ρυθμίζουν το βασικό κατάλογο· Αν ορίσετε «σύστημα», αυτό θα χρησιμοποιήσει " "τα αρχεία ρυθμίσεων του συστήματος αλλά τότε θα έχει μόνο τη δυνατότητα να " "εντοπίζει τα σπασμένα αρχεία που συνέβησαν όταν ήταν σε εκτέλεση η " "αποδέσμευση." #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" "Αναφορά προόδου λήψης/εγκατάστασης όταν εγκαθίστανται πακέτα στο δοκιμαστικό " "χώρο" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" "Βάζουμε μπροστά χρονικές ενδείξεις για να συνδεθούν μηνύματα, για τη " "λειτουργία παρτίδας" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" "Δημιουργία και χρήση αποθετηρίων τρίτων από πηγές που καθορίζονται στις " "αναφορές" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" "Προσωρινός κατάλογος για πακέτα που τοποθετούνται στο δοκιμαστικό χώρο " "(sandbox)" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" "Κατάλογος για χύμα πακέτα.Οι μελλοντικές διαδρομές ας υποθέσουμε πως ήδη τα " "πακέτα έχουν κατεβεί και εξάγονται στο sandbox." #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" "Διαδρομή προς ένα αρχείο με πληροφορίες πιστοποίησης της βάσης δεδομένων " "κατάρρευσης. Χρησιμοποιείται όταν προσδιορίζεται ένα ID κατάρρευσης για την " "αποστολή των επαναπροσδιορισμένων στοιχείων του stack (μόνο αν κανένα από τα " "-g, -o και -s δεν ορίζονται)" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "Προβολή των επαναπροσδιορισμένων στοιχείων του stack και ερώτηση για " "επιβεβαίωση πριν την αποστολή τους στη βάση δεδομένων κατάρρευσης." #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" "Διαδρομή προς τη διπλότυπη βάση δεδομένων sqlite (προεπιλογή: μη έλεγχος " "διπλότυπου)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "Δεν μπορείτε να χρησιμοποιήσετε το -C χωρίς το -S. Διακοπή." #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "Συμφωνείτε με την αποστολή αυτών ως συνημμένων; [y/n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "Αυτό το πακέτο δεν φαίνεται να έχει εγκατασταθεί σωστά" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "Αυτό δεν είναι ένα επίσημο πακέτο του %s. Παρακαλώ αφαιρέστε κάθε πακέτο από " "τρίτους και προσπαθήστε ξανά." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "Έχετε εγκατεστημένες κάποιες ξεπερασμένες εκδόσεις ορισμένων πακέτων. " "Παρακαλούμε αναβαθμίστε τα παρακάτω πακέτα και ελέγξτε αν το πρόβλημα " "συνεχίζει να υφίσταται:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "άγνωστο πρόγραμμα" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Συγνώμη, το πρόγραμμα \"%s\" τερματίστηκε απροσδόκητα" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Πρόβλημα στο %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "Ο υπολογιστής σας δεν έχει αρκετή ελεύθερη μνήμη για να αναλύσει αυτόματα το " "πρόβλημα και να στείλει μια αναφορά στους προγραμματιστές." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Μη έγκυρη αναφορά προβλήματος" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "" "Δεν σας επιτρέπεται να αποκτήσετε πρόσβαση σε αυτή την αναφορά προβλήματος." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Σφάλμα" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" "Δεν υπάρχει αρκετός χώρος στον δίσκο για την επεξεργασία αυτής της αναφοράς." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "Δεν ορίστηκε πακέτο" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "Χρειάζεται να ορίσετε ένα πακέτο ή ένα PID. Δείτε την --help για " "περισσότερες πληροφορίες." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Δεν επιτρέπεται η πρόσβαση" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "Η συγκεκριμένη διεργασία δεν ανήκει σε εσάς. Παρακαλούμε τρέξτε το πρόγραμμα " "ως ιδιοκτήτης της διεργασίας ή ως root." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "Άκυρος αριθμός αναγνώρισης της διεργασίας (PID)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "" "Αυτός ο αριθμός αναγνώρισης της διεργασίας (PID) δεν ανήκει σε κάποιο " "πρόγραμμα" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "Το σενάριο συμπτώματος %s δεν προσδιόρισε κανένα επηρεασμένο πακέτο" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "Το πακέτο %s δεν υπάρχει" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "Αδυναμία δημιουργίας αναφοράς" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "Ενημέρωση αναφοράς προβλήματος" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "Δεν αναφέρατε εσείς, ούτε είστε εγγεγραμμένος για ενημερώσεις σε αυτήν την " "αναφορά σφάλματος, ή η αναφορά είναι διπλή ή ήδη κλειστή.\n" "\n" "Παρακαλούμε δημιουργήστε μια νέα αναφορά με τη χρήση του \"apport-bug\"." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "Δεν έχετε δημιουργήσει εσείς αυτήν την αναφορά σφάλματος. Είναι πολύ " "ευκολότερο να σημειώσετε ένα σφάλμα ως διπλότυπο παρά να μετακινήσετε τα " "σχόλια και τα συνημμένα σας σε ένα νέο σφάλμα.\n" "\n" "Έπειτα, προτείνουμε να καταχωρίσετε μια νέα αναφορά σφάλματος με τη χρήση " "του \"apport-bug\" και να κάνετε ένα σχόλιο σε αυτό το σφάλμα για αυτό που " "καταχωρείτε.\n" "\n" "Θέλετε σίγουρα να προχωρήσετε;" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "Δεν έχουν συλλεχθεί επιπλέον πληροφορίες." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "Τι είδους πρόβλημα θέλετε να αναφέρετε;" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Άγνωστο σύμπτωμα" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "Το σύμπτωμα \"%s\" είναι άγνωστο." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "Αφού κλείσετε αυτό το μήνυμα παρακαλούμε κάντε κλικ στο παράθυρο μιας " "εφαρμογής για να αναφέρετε ένα πρόβλημα σχετικό με αυτήν." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "Το xprop απέτυχε να προσδιορίσει την ταυτότητα (PID) του παραθύρου." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "%prog <αριθμός αναφοράς>" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "Καθορίστε ένα όνομα πακέτου." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" "Προσθέστε μια επιπλέον ετικέτα στην αναφορά. Μπορεί να οριστεί πολλές φορές." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [επιλογές] [σύμπτωμα|pid|πακέτο|διαδρομή προγράμματος|αρχείο " ".apport/.crash]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Εκκίνηση σε λειτουργία υποβολής σφάλματος. Απαιτείται η παράμετρος --package " "και προαιρετικά --pid, ή απλά --pid. Εάν κανένα από αυτά δεν δίνεται, " "εμφανίστε έναν κατάλογο γνωστών συμπτωμάτων. ( Η εξ ορισμού επιλογή εάν " "δίνεται ένα και μοναδικό όρισμα.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" "Επιλέξτε ένα παράθυρο πατώντας το, για να συμπληρώσετε μια αναφορά " "προβλήματος." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" "Εκκίνηση σε λειτουργία ενημέρωσης σφάλματος. Δέχεται προαιρετικά την " "παράμετρο --package." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "Υποβάλετε αναφορά σφάλματος για ένα σύμπτωμα. (Στην περίπτωση που η ονομασία " "του συμπτώματος δίνεται ως μοναδικό όρισμα.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "Καθορίστε όνομα πακέτου σε κατάσταση --file-bug. Αυτό είναι προαιρετικό εάν " "έχει ήδη καθοριστεί ένα --pid. (Στην περίπτωση που το όνομα πακέτου δίνεται " "ως μοναδικό όρισμα.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "Προσδιορίστε ένα εκτελούμενο πρόγραμμα στην επιλογή --file-bug. Εάν αυτό " "προσδιοριστεί, η αναφορά θα περιέχει περισσότερες πληροφορίες. (Όταν η " "ταυτότητα διεργασίας (PID) δίνεται ως η μόνη παράμετρος.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" "Το παρεχόμενο αναγνωριστικό διεργασίας (PID) είναι για μια εφαρμογή που έχει " "κολλήσει." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "Αναφέρετε την κατάρρευση από το δεδομένο αρχείο .apport ή .crash αντί αυτών " "στο %s. (Στην περίπτωση που το αρχείο δίδεται ως το μοναδικό όρισμα.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" "Κατά τη λειτουργία αναφοράς σφαλμάτων, αποθηκεύστε τις συλλεχθείσες " "πληροφορίες σε ένα αρχείο αντί να τις αναφέρετε. Το αρχείο αυτό μπορεί να " "αποσταλεί για αναφορά αργότερα από έναν διαφορετικό υπολογιστή." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Τυπώστε τον αριθμό έκδοσης της εφαρμογής Apport." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" "Αυτό θα εκκινήσει το apport-retrace σε ένα παράθυρο τερματικού για να " "διερευνηθεί η σύγκρουση." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "Εκτέλεση συνεδρίας gdb" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "Εκτέλεση συνεδρίας gdb χωρίς λήψη συμβόλων εκφαλμάτωσης" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "Ενημέρωση %s με πλήρως συμβολική παρακολούθηση στίβας" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "Αυτή η αναφορά αφορά πρόγραμμα το οποίο έχει πλέον απεγκατασταθεί." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" "Το πρόβλημα παρουσιάστηκε με το πρόγραμμα %s το οποίο έχει αλλάξει από τη " "στιγμή που συνέβη η κατάρρευση." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "" "Αυτή η αναφορά προβλήματος έχει καταστραφεί και είναι αδύνατη η επεξεργασία " "της." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "Η αναφορά ανήκει σε ένα πακέτο το οποίο δεν είναι εγκατεστημένο." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" "Παρουσιάστηκε ένα σφάλμα κατά την προσπάθεια επεξεργασίας αυτής της αναφοράς " "προβλήματος:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "" "Αδύνατος ο καθορισμός του πακέτου ή του ονόματος του πακέτου πηγαίου κώδικα." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Αδύνατη η εκκίνηση του περιηγητή" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "Αδύνατη η εκκίνηση του περιηγητή για το άνοιγμα του %s." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" "Εισάγετε τα στοιχεία του λογαριασμού σας στο σύστημα παρακολούθησης " "σφαλμάτων %s." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Πρόβλημα δικτύου" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "Αδυναμία σύνδεσης στη βάση δεδομένων καταρρεύσεων, παρακαλώ ελέγξτε τη " "σύνδεσή σας στο διαδίκτυο." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Εξάντληση μνήμης" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "Το σύστημα δεν έχει αρκετή ελεύθερη μνήμη για τη διαδικασία αναφοράς " "κατάρρευσης." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "Αδυναμία αναφοράς του προβλήματος:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Πρόβλημα ήδη γνωστό" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "Αυτό το πρόβλημα έχει ήδη αναφερθεί στο σύστημα αναφοράς λαθών, στη σελίδα " "που βλέπετε. Παρακαλώ εξετάστε, αν μπορείτε να προσθέσετε κάποιες επιπλέον " "πληροφορίες, που να είναι χρήσιμες στους προγραμματιστές." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" "Αυτό το πρόβλημα έχει ήδη αναφερθεί στους συντελεστές της εφαρμογής. Σας " "ευχαριστούμε!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" "Αυτό προκλήθηκε από προηγούμενη αναστολή και απέτρεψε το σύστημα από το να " "συνεχίσει σωστά." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" "Αυτό προκλήθηκε από προηγούμενη αδρανοποίηση και απέτρεψε το σύστημα από το " "να συνεχίσει σωστά." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "Η διαδικασία επαναφοράς σταμάτησε λίγο πριν την ολοκλήρωσή της και φαίνεται " "σαν να ολοκληρώθηκε κανονικά." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Πατήστε ένα πλήκτρο για να συνεχίσετε..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "Τι θα θέλατε να κάνετε; Οι επιλογές σας είναι:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Παρακαλώ επιλέξτε (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i bytes)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "Μετά την αποστολή της αναφοράς προβλήματος, παρακαλώ\n" "συμπληρώστε την φόρμα στον περιηγητή ιστού που θα ανοίξει αυτόματα." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "Απο&στολή αναφοράς (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "&Διερεύνηση τοπικά" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "&Εμφάνιση αναφοράς" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" "&Κράτηση της αναφοράς για μετέπειτα αποστολή ή αντιγραφή της κάπου αλλού" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" "Ακύρωση και αγνόηση μελλοντ&ικών καταρρεύσεων αυτής της έκδοσης του " "προγράμματος" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Ακύρωση" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Αρχείο αναφοράς προβλήματος:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&Επιβεβαίωση" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Σφάλμα: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "Οι πληροφορίες που έχουν συλλεχθεί, μπορούν να αποσταλούν στους υπεύθυνους " "ανάπτυξης για την περαιτέρω βελτίωση της\n" "εφαρμογής. Η αποστολή μπορεί να διαρκέσει μερικά λεπτά." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "Οι πληροφορίες που συλλέχθηκαν αποστέλλονται στο σύστημα καταγραφής " "σφαλμάτων.\n" "Αυτό μπορεί να διαρκέσει μερικά λεπτά." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Ολοκληρώθηκε" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "κανένα" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Επιλέχθηκε: %s. Πολλαπλές επιλογές:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Επιλογές:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Διαδρομή προς το αρχείο (πατήστε Enter για ακύρωση):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "Το αρχείο δεν υπάρχει." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "Αυτό είναι κατάλογος αρχείων." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" "Για να συνεχίσετε πρέπει να επισκεφθείτε αυτή τη διεύθυνση διαδικτύου (URL):" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "Μπορείτε να εκκινήσετε τώρα ένα περιηγητή ιστοσελίδων ή να αντιγράψετε αυτή " "τη διεύθυνση σε έναν περιηγητή σε άλλον υπολογιστή." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Εκκινήστε έναν περιηγητή ιστοσελίδων τώρα" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" "Δεν εκκρεμούν αναφορές καταρρεύσεων. Δοκιμάστε την --help για περισσότερες " "πληροφορίες." #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "" #~ "Μπορείτε να βοηθήσετε τους υπεύθυνους ανάπτυξης να το φτιάξουν αναφέροντας " #~ "το." #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "Το πακέτο \"%s\" απέτυχε να εγκατασταθεί ή να ενημερωθεί." #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "Ολοκληρωμένη αναφορά (προτείνεται το %s)" #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>Να αποσταλεί η αναφορά του προβλήματος στους " #~ "προγραμματιστές;</b></big>\n" #~ "\n" #~ "Μετά την αναφορά του προβλήματος, παρακαλώ συμπληρώστε τη φόρμα που θα " #~ "ανοίξει αυτόματα στον περιηγητή ιστού." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "Αν δεν κάνατε κάτι πολύ εμπιστευτικό (εισαγωγή κωδικών πρόσβασης ή κάποιων " #~ "άλλων ιδιωτικών σας δεδομένων), μπορείτε να βοηθήσετε στην βελτίωση της " #~ "εφαρμογής, αναφέροντας το πρόβλημα." #~ msgid "Application problem" #~ msgstr "Πρόβλημα εφαρμογής" #~ msgid "_Send Report" #~ msgstr "Α_ποστολή Αναφοράς" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "Αν δεν κάνατε κάτι πολύ εμπιστευτικό (εισαγωγή κωδικών πρόσβασης ή \n" #~ "κάποιων άλλων ιδιωτικών σας δεδομένων), μπορείτε να βοηθήσετε στην \n" #~ "βελτίωση της εφαρμογής, αναφέροντας το πρόβλημα." #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "Το %s τερματίστηκε απροσδόκητα στο %s και στο %s." #~ msgid "Restart _Program" #~ msgstr "Επανεκκίνηση_Προγράμματος" #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\"> Λυπούμαστε, αλλά το πακέτο \"%s\" " #~ "απέτυχε να εγκατασταθεί ή να αναβαθμιστεί.</span>" #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "&Αποστολή ολοκληρωμένης αναφοράς (προτείνεται %s)" #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "Περιορισμένη αναφορά (αργή σύνδεση με το διαδίκτυο: %s)" #~ msgid "_Ignore future crashes of this program version" #~ msgstr "" #~ "Να αγνοηθούν μελλοντικές καταρρεύσεις αυτής της έκδοσης του προγράμματος" #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "Απόστολή &περιορισμένης αναφοράς (αργή σύνδεση με το διαδίκτυο %s)" #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "Αυτό θα αφαιρέσει κάποια ογκώδη στοιχεία από την αναφορά. Τα στοιχεία αυτά " #~ "είναι πολύ χρήσιμα στους προγραμματιστές για τον εντοπισμό και την διόρθωση " #~ "λαθών, αλλά είναι πολύ μεγάλα για να τα αποστείλετε αν έχετε αργή σύνδεση." #~ msgid "&Report Problem..." #~ msgstr "&Αναφορά Προβλήματος..." #~ msgid "_Report Problem..." #~ msgstr "_Αναφορά Προβλήματος..." #~ msgid "Kernel problem" #~ msgstr "Πρόβλημα πυρήνα" #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "" #~ "Μπορείτε να βοηθήσετε τους προγραμματιστές να διορθώσουν το πακέτο " #~ "αναφέροντας το πρόβλημα." #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "Αυτό δεν είναι γνήσιο το πακέτο %s" #~ msgid "Content of the report" #~ msgstr "Περιεχόμενο της αναφοράς" #~ msgid "Package problem" #~ msgstr "Πρόβλημα πακέτου" #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "Το σύστημα σας αντιμετώπισε ένα σοβαρό πρόβλημα στον πυρήνα." #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "" #~ "Λανθασμένος αριθμός παραμέτρων· χρησιμοποιήστε το --help για μια σύντομη " #~ "βοήθεια" #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [επιλογές] <αναφορά προβλήματος apport | ID κατάρρευσης>" #, python-format #~ msgid "Sorry, the application %s has closed unexpectedly." #~ msgstr "Συγνώμη, η εφαρμογή %s τερματίστηκε απροσδόκητα." #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Αυτό συνέβη σε προηγούμενη αναστολή λειτουργίας του υπολογιστή και εμπόδισε " #~ "την κανονική επαναφορά της." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Αυτό συνέβη σε προηγούμενη αδρανοποίηση λειτουργίας του υπολογιστή και " #~ "εμπόδισε την κανονική επαναφορά της." #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "" #~ "χρειάζεται είτε να πραγματοποιήσετε μια τοπική ενέργεια (-s, -g, -o) ή να " #~ "παρέχετε ένα αρχείο πιστοποίησης (--auth). Δείτε το --help για μια σύντομη " #~ "βοήθεια" #~ msgid "Your system might become unstablenow and might need to be restarted." #~ msgstr "" #~ "Το σύστημά σας τώρα υπάρχει περίπτωση να καταστεί ασταθές και ίσως χρειαστεί " #~ "επανεκκίνηση." ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/en_AU.po���������������������������������������������������������������������������0000644�0000000�0000000�00000137357�12677230222�013217� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# English (Australia) translation for apport # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:46+0000\n" "Last-Translator: Anthony Harrington <untaintableangel@ubuntu.com>\n" "Language-Team: English (Australia) <en_AU@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:19+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: \n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "Apport" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "Cancel" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "OK" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Crash report" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>Sorry, an internal error happened.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "If you notice further problems, try restarting the computer." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "Send an error report to help fix this problem" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "Ignore future problems of this program version" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Show Details" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "_Examine locally" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Leave Closed" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Continue" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>Collecting problem information</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "Information is being collected that may help the developers fix the problem " "you report." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "Uploading problem information" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>Uploading problem information</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Apport crash file" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(binary data)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "Sorry, the application %s has stopped unexpectedly." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "Sorry, %s has closed unexpectedly." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "Sorry, %s has experienced an internal error." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Send problem report to the developers?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Send" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "Force Closed" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Relaunch" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "The application %s has stopped responding." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "The program \"%s\" has stopped responding." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Package: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "Sorry, a problem occurred while installing software." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "The application %s has experienced an internal error." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "The application %s has closed unexpectedly." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "Ignore future problems of this type" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Hide Details" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Usage: %s <report> <target directory>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "Destination directory exists and is not empty." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "Username:" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "Password:" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "Collecting Problem Information" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Collecting problem information" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "Uploading Problem Information" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Collect system information" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "Authentication is required to collect system information for this problem " "report" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "System problem reports" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" "Please enter your password to access problem reports of system programs" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Report a problem..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Report a malfunction to the developers" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "See man page for details." #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "specify the log file name produced by valgrind" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" "report download/install progress when installing packages into sandbox" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" "Install an extra package into the sandbox (can be specified multiple times)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "Error: %s is not an executable. Stopping." #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" "Your system might become unstable now and might need to be restarted." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "Do not put the new traces into the report, but write them to stdout." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "Write modified report to given file instead of changing the original report" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "Remove the core dump from the report after stack trace regeneration" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "Override report's CoreFile" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "Override report's ExecutablePath" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "Override report's ProcMaps" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "Rebuild report's Package information" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" "Report download/install progress when installing packages into sandbox" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "Prepend timestamps to log messages, for batch operation" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" "Create and use third-party repositories from origins specified in reports" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "Cache directory for packages downloaded in the sandbox" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" "Path to the duplicate sqlite database (default: no duplicate checking)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "You cannot use -C without -S. Stopping." #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "OK to send these as attachments? [y/n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "This package does not seem to be installed correctly" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "This is not an official %s package. Please remove any third party package " "and try again." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "unknown program" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Sorry, the program \"%s\" closed unexpectedly" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Problem in %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "Your computer does not have enough free memory to automatically analyse the " "problem and send a report to the developers." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Invalid problem report" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "You are not allowed to access this problem report." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Error" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "There is not enough disk space available to process this report." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "No package specified" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "You need to specify a package or a PID. See --help for more information." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Permission denied" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "Invalid PID" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "The specified process ID does not belong to a program." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "Symptom script %s did not determine an affected package" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "Package %s does not exist" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "Cannot create report" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "Updating problem report" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "No additional information collected." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "What kind of problem do you want to report?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Unknown symptom" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "The symptom \"%s\" is not known." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "After closing this message please click on an application window to report a " "problem about it." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "xprop failed to determine process ID of the window" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "%prog <report number>" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "Specify package name." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "Add an extra tag to the report. Can be specified multiple times." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "Click a window as a target for filing a problem report." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "Start in bug updating mode. Can take an optional --package." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "The provided pid is a hanging application." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" "In bug-filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Print the Apport version number." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" "This will launch apport-retrace in a terminal window to examine the crash." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "Run gdb session" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "Run gdb session without downloading debug symbols" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "Update %s with fully symbolic stack trace" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" "This problem report applies to a program which is not installed any more." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" "The problem happened with the program %s which changed since the crash " "occurred." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "This problem report is damaged and cannot be processed." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "The report belongs to a package that is not installed." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "An error occurred while attempting to process this problem report:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "Could not determine the package or source package name." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Unable to start web browser" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "Unable to start web browser to open %s." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "Please enter your account information for the %s bug tracking system" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Network problem" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "Cannot connect to crash database, please check your Internet connection." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Memory exhaustion" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "Your system does not have enough memory to process this crash report." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "The problem cannot be reported:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Problem already known" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "This problem was already reported to developers. Thank you!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "The resume processing hung very near the end and will have appeared to have " "completed normally." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Press any key to continue..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "What would you like to do? Your options are:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Please choose (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i bytes)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "&Send report (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "&Examine locally" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "&View report" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "&Keep report file for sending later or copying to somewhere else" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "Cancel and &ignore future crashes of this program version" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Cancel" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Problem report file:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&Confirm" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Error: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Done" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "none" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Selected: %s. Multiple choices:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Choices:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Path to file (Enter to cancel):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "File does not exist." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "This is a directory." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "To continue, you must visit the following URL:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "You can launch a browser now, or copy this URL into a browser on another " "computer." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Launch a browser now" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "No pending crash reports. Try --help for more information." #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "This is not a genuine %s package" #~ msgid "&Report Problem..." #~ msgstr "&Report Problem..." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s closed unexpectedly on %s at %s." #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "Your system encountered a serious kernel problem." #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "&Send complete report (recommended; %s)" #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "You can help the developers to fix the problem by reporting it." #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "Send &reduced report (slow Internet connection; %s)" #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "The package \"%s\" failed to install or upgrade." #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "This occurred during a previous suspend and prevented it from resuming " #~ "properly." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "This occurred during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgid "Application problem" #~ msgstr "Application problem" #~ msgid "Content of the report" #~ msgstr "Content of the report" #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "Complete report (recommended; %s)" #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "Reduced report (slow Internet connection; %s)" #~ msgid "Restart _Program" #~ msgstr "Restart _Program" #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow Internet connection." #~ msgid "_Ignore future crashes of this program version" #~ msgstr "_Ignore future crashes of this program version" #~ msgid "_Report Problem..." #~ msgstr "_Report Problem..." #~ msgid "Package problem" #~ msgstr "Package problem" #~ msgid "Kernel problem" #~ msgstr "Kernel problem" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgid "_Send Report" #~ msgstr "_Send Report" #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [options] <apport problem report | crash ID>" #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "incorrect number of arguments; use --help for a short help" #~ msgid "Send this data to the developers?" #~ msgstr "Send this data to the developers?" #, python-format #~ msgid "Sorry, the package \"%s\" failed to install or upgrade." #~ msgstr "Sorry, the package \"%s\" failed to install or upgrade." #, python-format #~ msgid "Sorry, %s closed unexpectedly" #~ msgstr "Sorry, %s closed unexpectedly" #~ msgid "Generic error" #~ msgstr "Generic error" #~ msgid "&Ignore future crashes of this program version" #~ msgstr "&Ignore future crashes of this program version" #, python-format #~ msgid "Sorry, the program \"%s\" closed unexpectedly." #~ msgstr "Sorry, the program \"%s\" closed unexpectedly." #~ msgid "Restart &Program" #~ msgstr "Restart &Program" #, python-format #~ msgid "Sorry, %s closed unexpectedly." #~ msgstr "Sorry, %s closed unexpectedly." #~ msgid "&Details..." #~ msgstr "&Details..." #~ msgid "&Send" #~ msgstr "&Send" #~ msgid "" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #, python-format #~ msgid "Sorry, the application %s has closed unexpectedly." #~ msgstr "Sorry, the application %s has closed unexpectedly." #~ msgid "Your system might become unstablenow and might need to be restarted." #~ msgstr "" #~ "Your system might become unstable now and might need to be restarted." ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/en_CA.po���������������������������������������������������������������������������0000644�0000000�0000000�00000136211�12677230222�013161� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# English (Canada) translation for apport # Copyright (c) 2006 Rosetta Contributors and Canonical Ltd 2006 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:47+0000\n" "Last-Translator: Martin Pitt <martin.pitt@ubuntu.com>\n" "Language-Team: English (Canada) <en_CA@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:19+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: \n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "Apport" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Crash report" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>Sorry, an internal error happened.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "If you notice further problems, try restarting the computer." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "Send an error report to help fix this problem" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "Ignore future problems of this program version" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Show Details" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "_Examine locally" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Leave Closed" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Continue" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>Collecting problem information</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "Information is being collected that may help the developers fix the problem " "you report." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "Uploading problem information" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>Uploading problem information</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Apport crash file" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(binary data)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "Sorry, the application %s has stopped unexpectedly." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "Sorry, %s has closed unexpectedly." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "Sorry, %s has experienced an internal error." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Send problem report to the developers?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Send" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "Force Closed" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Relaunch" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "The application %s has stopped responding." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "The program \"%s\" has stopped responding." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Package: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "Sorry, a problem occurred while installing software." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "The application %s has experienced an internal error." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "The application %s has closed unexpectedly." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "Ignore future problems of this type" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Hide Details" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Usage: %s <report> <target directory>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "Destination directory exists and is not empty." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "Username:" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "Password:" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "Collecting Problem Information" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Collecting problem information" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "Uploading Problem Information" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Collect system information" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "Authentication is required to collect system information for this problem " "report" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "System problem reports" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" "Please enter your password to access problem reports of system programs" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Report a problem..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Report a malfunction to the developers" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "See man page for details." #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "specify the log file name produced by valgrind" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" "report download/install progress when installing packages into sandbox" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" "Install an extra package into the sandbox (can be specified multiple times)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "Error: %s is not an executable. Stopping." #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" "Your system might become unstable now and might need to be restarted." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "Do not put the new traces into the report, but write them to stdout." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "Write modified report to given file instead of changing the original report" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "Remove the core dump from the report after stack trace regeneration" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "Override report's CoreFile" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "Override report's ExecutablePath" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "Override report's ProcMaps" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "Rebuild report's Package information" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" "Report download/install progress when installing packages into sandbox" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "Prepend timestamps to log messages, for batch operation" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "Cache directory for packages downloaded in the sandbox" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" "Path to the duplicate sqlite database (default: no duplicate checking)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "You cannot use -C without -S. Stopping." #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "OK to send these as attachments? [y/n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "This package does not seem to be installed correctly" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "This is not an official %s package. Please remove any third party package " "and try again." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "unknown program" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Sorry, the program \"%s\" closed unexpectedly" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Problem in %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Invalid problem report" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "You are not allowed to access this problem report." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Error" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "There is not enough disk space available to process this report." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "No package specified" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "You need to specify a package or a PID. See --help for more information." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Permission denied" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "Invalid PID" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "The specified process ID does not belong to a program." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "Symptom script %s did not determine an affected package" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "Package %s does not exist" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "Cannot create report" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "Updating problem report" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "No additional information collected." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "What kind of problem do you want to report?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Unknown symptom" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "The symptom \"%s\" is not known." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "After closing this message please click on an application window to report a " "problem about it." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "xprop failed to determine process ID of the window" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "%prog <report number>" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "Specify package name." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "Add an extra tag to the report. Can be specified multiple times." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "Click a window as a target for filing a problem report." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "Start in bug updating mode. Can take an optional --package." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "The provided pd is a hanging application." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Print the Apport version number." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" "This will launch apport-retrace in a terminal window to examine the crash." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "Run gdb session" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "Run gdb session without downloading debug symbols" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "Update %s with fully symbolic stack trace" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" "This problem report applies to a program which is not installed any more." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" "The problem happened with the program %s which changed since the crash " "occurred." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "This problem report is damaged and cannot be processed." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "The report belongs to a package that is not installed." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "An error occurred while attempting to process this problem report:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "Could not determine the package or source package name." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Unable to start web browser" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "Unable to start web browser to open %s." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "Please enter your account information for the %s bug tracking system" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Network problem" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "Cannot connect to crash database, please check your Internet connection." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Memory exhaustion" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "Your system does not have enough memory to process this crash report." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "The problem cannot be reported:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Problem already known" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "This problem was already reported to developers. Thank you!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "The resume processing hung very near the end and will have appeared to have " "completed normally." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Press any key to continue..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "What would you like to do? Your options are:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Please choose (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i bytes)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "&Send report (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "&Examine locally" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "&View report" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "&Keep report file for sending later or copying to somewhere else" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "Cancel and &ignore future crashes of this program version" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Cancel" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Problem report file:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&Confirm" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Error: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Done" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "none" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Selected: %s. Multiple choices:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Choices:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Path to file (Enter to cancel):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "File does not exist." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "This is a directory." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "To continue, you must visit the following URL:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "You can launch a browser now, or copy this URL into a browser on another " "computer." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Launch a browser now" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "No pending crash reports. Try --help for more information." #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "Your system encountered a serious kernel problem." #, python-format #~ msgid "Sorry, %s closed unexpectedly" #~ msgstr "Sorry, %s closed unexpectedly" #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "You can help the developers to fix the problem by reporting it." #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgid "Application problem" #~ msgstr "Application problem" #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "Reduced report (slow Internet connection; %s)" #~ msgid "Restart _Program" #~ msgstr "Restart _Program" #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow Internet connection." #~ msgid "Package problem" #~ msgstr "Package problem" #~ msgid "Kernel problem" #~ msgstr "Kernel problem" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgid "Content of the report" #~ msgstr "Content of the report" #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "Complete report (recommended; %s)" #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgid "_Ignore future crashes of this program version" #~ msgstr "_Ignore future crashes of this program version" #~ msgid "_Report Problem..." #~ msgstr "_Report Problem..." #~ msgid "_Send Report" #~ msgstr "_Send Report" #, python-format #~ msgid "Sorry, the program \"%s\" closed unexpectedly." #~ msgstr "Sorry, the program \"%s\" closed unexpectedly." #, python-format #~ msgid "Sorry, %s closed unexpectedly." #~ msgstr "Sorry, %s closed unexpectedly." #~ msgid "&Details..." #~ msgstr "&Details..." #~ msgid "&Send" #~ msgstr "&Send" #~ msgid "" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgid "Generic error" #~ msgstr "Generic error" #~ msgid "&Ignore future crashes of this program version" #~ msgstr "&Ignore future crashes of this program version" #~ msgid "Restart &Program" #~ msgstr "Restart &Program" #~ msgid "&Report Problem..." #~ msgstr "&Report Problem..." #, python-format #~ msgid "Sorry, the package \"%s\" failed to install or upgrade." #~ msgstr "Sorry, the package \"%s\" failed to install or upgrade." #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "The package \"%s\" failed to install or upgrade." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s closed unexpectedly on %s at %s." #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "&Send complete report (recommended; %s)" #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "Send &reduced report (slow Internet connection; %s)" #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "This is not a genuine %s package" #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "This occurred during a previous suspend and prevented it from resuming " #~ "properly." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "This occurred during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [options] <apport problem report | crash ID>" #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "incorrect number of arguments; use --help for a short help" #~ msgid "Send this data to the developers?" #~ msgstr "Send this data to the developers?" ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/en_GB.po���������������������������������������������������������������������������0000644�0000000�0000000�00000137362�12677230222�013176� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# English (United Kingdom) translation for apport # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:46+0000\n" "Last-Translator: Anthony Harrington <untaintableangel@ubuntu.com>\n" "Language-Team: English (United Kingdom) <en_GB@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:19+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: \n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "Apport" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "Cancel" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "OK" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Crash report" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>Sorry, an internal error happened.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "If you notice further problems, try restarting the computer." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "Send an error report to help fix this problem" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "Ignore future problems of this program version" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Show Details" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "_Examine locally" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Leave Closed" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Continue" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>Collecting problem information</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "Information is being collected that may help the developers fix the problem " "you report." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "Uploading problem information" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>Uploading problem information</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Apport crash file" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(binary data)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "Sorry, the application %s has stopped unexpectedly." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "Sorry, %s has closed unexpectedly." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "Sorry, %s has experienced an internal error." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Send problem report to the developers?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Send" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "Force Closed" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Relaunch" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "The application %s has stopped responding." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "The program \"%s\" has stopped responding." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Package: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "Sorry, a problem occurred while installing software." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "The application %s has experienced an internal error." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "The application %s has closed unexpectedly." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "Ignore future problems of this type" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Hide Details" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Usage: %s <report> <target directory>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "Destination directory exists and is not empty." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "Username:" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "Password" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "Collecting Problem Information" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Collecting problem information" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "Uploading Problem Information" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Collect system information" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "Authentication is required to collect system information for this problem " "report" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "System problem reports" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" "Please enter your password to access problem reports of system programs" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Report a problem..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Report a malfunction to the developers" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "See man page for details." #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "specify the log file name produced by Valgrind" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" "report download/install progress when installing packages into sandbox" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" "the executable that is run under Valgrind's memcheck tool for memory leak " "detection" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" "Install an extra package into the sandbox (can be specified multiple times)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "Error: %s is not an executable. Stopping." #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" "Your system might become unstable now and might need to be restarted." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "Do not put the new traces into the report, but write them to stdout." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "Write modified report to given file instead of changing the original report" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "Remove the core dump from the report after stack trace regeneration" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "Override report's CoreFile" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "Override report's ExecutablePath" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "Override report's ProcMaps" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "Rebuild report's Package information" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" "Report download/install progress when installing packages into sandbox" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "Prepend timestamps to log messages, for batch operation" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" "Create and use third-party repositories from origins specified in reports" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "Cache directory for packages downloaded in the sandbox" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" "Path to the duplicate sqlite database (default: no duplicate checking)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "You cannot use -C without -S. Stopping." #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "OK to send these as attachments? [y/n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "This package does not seem to be installed correctly" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "This is not an official %s package. Please remove any third party package " "and try again." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "unknown program" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Sorry, the program \"%s\" closed unexpectedly" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Problem in %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "Your computer does not have enough free memory to automatically analyse the " "problem and send a report to the developers." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Invalid problem report" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "You are not allowed to access this problem report." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Error" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "There is not enough disk space available to process this report." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "No package specified" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "You need to specify a package or a PID. See --help for more information." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Permission denied" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "Invalid PID" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "The specified process ID does not belong to a program." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "Symptom script %s did not determine an affected package" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "Package %s does not exist" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "Cannot create report" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "Updating problem report" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "No additional information collected." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "What kind of problem do you want to report?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Unknown symptom" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "The symptom \"%s\" is not known." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "After closing this message please click on an application window to report a " "problem about it." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "xprop failed to determine process ID of the window" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "%prog <report number>" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "Specify package name." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "Add an extra tag to the report. Can be specified multiple times." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "Click a window as a target for filing a problem report." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "Start in bug updating mode. Can take an optional --package." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "The provided pid is a hanging application." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Print the Apport version number." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" "This will launch apport-retrace in a terminal window to examine the crash." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "Run gdb session" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "Run gdb session without downloading debug symbols" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "Update %s with fully symbolic stack trace" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" "This problem report applies to a program which is not installed any more." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" "The problem happened with the program %s which changed since the crash " "occurred." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "This problem report is damaged and cannot be processed." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "The report belongs to a package that is not installed." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "An error occurred while attempting to process this problem report:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "Could not determine the package or source package name." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Unable to start web browser" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "Unable to start web browser to open %s." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "Please enter your account information for the %s bug tracking system" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Network problem" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "Cannot connect to crash database, please check your Internet connection." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Memory exhaustion" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "Your system does not have enough memory to process this crash report." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "The problem cannot be reported:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Problem already known" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "This problem has already been reported to developers. Thank you!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "The resume processing hung very near the end and appears to have completed " "normally." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Press any key to continue..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "What would you like to do? Your options are:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Please choose (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i bytes)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "&Send report (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "&Examine locally" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "&View report" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "&Keep report file for sending later or copying to somewhere else" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "Cancel and &ignore future crashes of this program version" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Cancel" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Problem report file:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&Confirm" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Error: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Done" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "none" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Selected: %s. Multiple choices:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Choices:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Path to file (Enter to cancel):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "File does not exist." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "This is a directory." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "To continue, you must visit the following URL:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "You can launch a browser now, or copy this URL into a browser on another " "computer." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Launch a browser now" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "No pending crash reports. Try --help for more information." #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "The package \"%s\" failed to install or upgrade." #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "Complete report (recommended; %s)" #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #, python-format #~ msgid "Sorry, %s closed unexpectedly" #~ msgstr "Sorry, %s closed unexpectedly" #~ msgid "Application problem" #~ msgstr "Application problem" #~ msgid "&Details..." #~ msgstr "&Details..." #~ msgid "_Send Report" #~ msgstr "_Send Report" #~ msgid "Generic error" #~ msgstr "Generic error" #~ msgid "" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s closed unexpectedly on %s at %s." #~ msgid "Restart _Program" #~ msgstr "Restart _Program" #, python-format #~ msgid "Sorry, the package \"%s\" failed to install or upgrade." #~ msgstr "Sorry, the package \"%s\" failed to install or upgrade." #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "&Send complete report (recommended; %s)" #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "Reduced report (slow Internet connection; %s)" #, python-format #~ msgid "Sorry, %s closed unexpectedly." #~ msgstr "Sorry, %s closed unexpectedly." #~ msgid "_Ignore future crashes of this program version" #~ msgstr "_Ignore future crashes of this program version" #~ msgid "Restart &Program" #~ msgstr "Restart &Program" #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "Send &reduced report (slow Internet connection; %s)" #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow Internet connection." #~ msgid "&Report Problem..." #~ msgstr "&Report Problem..." #~ msgid "_Report Problem..." #~ msgstr "_Report Problem..." #~ msgid "&Send" #~ msgstr "&Send" #~ msgid "Kernel problem" #~ msgstr "Kernel problem" #~ msgid "&Ignore future crashes of this program version" #~ msgstr "&Ignore future crashes of this program version" #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "" #~ "You can help the developers to fix the package by reporting the problem." #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "This is not a genuine %s package" #, python-format #~ msgid "Sorry, the program \"%s\" closed unexpectedly." #~ msgstr "Sorry, the program \"%s\" closed unexpectedly." #~ msgid "Content of the report" #~ msgstr "Content of the report" #~ msgid "Package problem" #~ msgstr "Package problem" #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "You can help the developers to fix the problem by reporting it." #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "Your system encountered a serious kernel problem." #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "This occurred during a previous suspend and prevented it from resuming " #~ "properly." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "This occurred during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [options] <apport problem report | crash ID>" #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "incorrect number of arguments; use --help for a short help" #~ msgid "Send this data to the developers?" #~ msgstr "Send this data to the developers?" #, python-format #~ msgid "Sorry, the application %s has closed unexpectedly." #~ msgstr "Sorry, the application %s has closed unexpectedly." #~ msgid "Your system might become unstablenow and might need to be restarted." #~ msgstr "" #~ "Your system might become unstable now and might need to be restarted." ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/eo.po������������������������������������������������������������������������������0000644�0000000�0000000�00000133273�12677230222�012624� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Esperanto translation for apport # Copyright (c) 2006 Rosetta Contributors and Canonical Ltd 2006 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:47+0000\n" "Last-Translator: Michael Moroni <michael.moroni@openmailbox.org>\n" "Language-Team: Esperanto <eo@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: eo\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "Aporto" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "Nuligi" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "Bone" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Raporto de kolapso" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>Pardonu, interna eraro okazis.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" "Se vi renkontiĝas pliajn problemojn, klopodu restartigi la komputilon." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "Sendi raporton de eraro por helpi en riparado de ĉi tiu problemo" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "Ignori ontajn problemojn de la programaro en ĉi tiu versio" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Montri detalojn" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "Lok_e testi" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Lasi fermitan" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Daŭrigi" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>Kolektado de informoj pri la problemo</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "La sistemo nun kolektas informojn, kiuj eble helpos al la evoluigantoj " "ripari la problemon, kiun vi raportas." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "Alŝutado de informoj pri la problemo" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>Alŝutado de informoj pri la problemo</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "La kolektitaj informoj estas sendataj al la sistemo de cimspurado. Tio povas " "daŭri kelkajn minutojn." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Kolapsdosiero de Aporto" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(duumaj datumoj)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "Pardonu, %s fermiĝis neatendite." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "Pardonu, interna eraro okazis en %s." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Ĉu sendi problem-raporton al la evoluigantoj?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Sendi" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Relanĉi" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Pakaĵo: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "Pardonu, problemo okazis dum instalado de la programaro." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "La aplikaĵo %s fermiĝis neatendite." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "Ignori onte tian problemon" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Kaŝi detalojn" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Uzado: %s <raporto> <celdosierujo>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "La celdosierujo ekzistas kaj ne estas malplena." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "Uzantnomo:" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "Pasvorto:" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "Kolektanta probleminformojn" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Kolektado de informoj pri la problemo" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "La kolektitaj informoj povas esti senditaj al la programistoj por plibonigi " "la aplikaĵon. Tio povas daŭri kelkajn minutojn." #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "Alŝutanta probleminformojn" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Raporti problemon..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Raporti misfunkcion al la programistoj" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "Instali kroman pakaĵon en la provejon (plurfoje specifeblas)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" "Via sistemo povas nun nestabiliĝi kaj eble ĝi devas esti restartigata" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "Ne meti la novajn spurojn en la raporto sed sendi ilin al 'stdout'." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "Startigi dialogan gdb-seancon kun la nekropsio de la raporto (-o estas " "ignorata; ne reskribas raporton)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "Konservi la modifitan raporton al la indikita dosiero anstataŭ ol ŝanĝi la " "originalan raporton." #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "Forigi la nekropsion de la raporto por regenero de la stak-spurado" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "Transpasi CoreFile de raporto" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "Transpasi ExecutablePath de raporto" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "Transpasi ProcMaps de raporto" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "Refari pakaĵinformojn de raporto" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" "Fari provizoran provejon kaj elŝuti/instali en ĝin la necesajn pakaĵojn kaj " "sencimigajn simbolojn; sen ĉi tiu opcio estas supozate, ke la necesaj " "pakaĵoj kaj sencimigaj simboloj jam troveblas en la sistemo. La argumento " "ligas al la pakaĵsistema baza dosierujo por agordoj; se vi specifas " "\"system\", ĝi uzos la sistemagordajn dosierojn, sed tiam ĝi havos nur la " "eblon por retrovi kolapsojn okazitajn sur la nune funkcianta sistemo." #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" "Raporti progreson de elŝutado/instalado dum instalado de pakaĵoj en la " "provejon." #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "Antaŭmeti tempindikojn al protokolmesaĝoj. Por komandoj" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "Kaŝmemora dosierujo por pakaĵoj elŝutitaj en la provejo" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" "Pado al la dosiero kun la aŭtentigaj informoj por la kolapsdatumbazo. Tio " "estas uzata dum specifigo de kolaps-identigilo por alŝuti la respuritajn " "stakspurojn (nur se nek -g, nek -o, nek -s estas specifitaj)" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "Montri respuritajn stakspurojn kaj peti konfirmon antaŭ ol sendi ilin al la " "kolapsdatumbazo." #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" "Pado al la duobligita sqlite-datumbazo (apriore: neniu kontrolo por " "duobligoj)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "Ĉu sendi ĉi tiujn kiel kunsendaĵoj? [y/n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "Ŝajnas, ke ĉi tiu pakaĵo ne estas korekte instalita" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "Ĉi tio ne estas oficiala pakaĵo de %s. Bonvole forigu ĉiun ajn pakaĵon de " "ekstera liveranto kaj provu denove." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "Via sistemo enhavas kelkajn malaktualajn pakaĵojn. Bonvole aktualigu la " "sekvajn pakaĵojn kaj kontrolu ĉu la problemo ankoraŭ okazas:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "nekonata programaro" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Bedaŭrinde la programaro \"%s\" fermiĝis neatendite" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Problemo en %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "Via komputilo ne havas sufiĉe da libera memoro por analizi la problemon kaj " "sendi raporton al la evoluigantoj." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Nevalida problemraporto" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "Vi ne rajtas aliri ĉi tiun problemraporton." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Eraro" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "Spaco en disko ne sufiĉas por trakti ĉi tiun raporton." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "Neniu pakaĵo indikita." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "Vi devas indiki pakaĵon aŭ PID. Vidu --help por pliaj informoj." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Permeso malaprobita" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "La indikita procezo ne apartenas al vi. Bonvole rulu ĉi tiun programaron " "kiel posedanto de la procezo aŭ kiel ĉefuzanto." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "Nevalida PID" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "La indikita procesa identigilo ne apartenas al iu programaro." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "La skripto por analizi problemon %s ne trovis koncernatan pakaĵon" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "Pakaĵo %s ne ekzistas" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "La raporto ne kreeblas" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "Ĝisdatiganta problemraporton" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "Vi ne estas aŭtoro aŭ aboninto de ĉi tiu problemraporto aŭ la raporto estas " "duoblaĵo aŭ jam fermita.\n" "\n" "Bonvole kreu novan raporton per \"apport-bug\"." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "Vi ne estas la aŭtoro de ĉi tiu problemraporto. Estas multe pli facile marki " "eraron kiel duoblaĵon de alia eraro ol transmeti viajn komentojn kaj " "aldonaĵojn al nova eraro.\n" "\n" "Ni rekomendas, ke vi kreu novan problemraporton per \"apport-bug\" kaj metu " "komenton al ĉi tiu raporto, komentante pri la nova raporto.\n" "\n" "Ĉu vi vere volas daŭrigi?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "Neniu aldonaj informoj estis kolektitaj." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "Kiuspecan problemon vi volas raporti?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "nekonata simptomo" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "La simptomo \"%s\" ne estas konata." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "Ferminte ĉi tiun mesaĝon, bonvole alklaku aplikaĵfenestron por raporti " "problemon pri ĝi." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "xprop fiaskis en determinado de procesidentigilo de la fenestro" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "%prog <numero de raporto>" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "Specifi pakaĵnomon." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "Aldoni plian markon al la raporto. Tio plurfoje specifeblas." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [opcioj] [simptomo|pid|pakaĵo|dosierpado de programaro|dosiero " ".apport/.crash]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Startigi en problem-raporta reĝimo. Tio postulas --package kaj laŭvola --pid " "aŭ nur procesidentigilon. Se neniu el la du estas indikita, listo de konataj " "simptomoj aperas. (Ĉi tiu reĝimo validas aŭtomate, se nur unu argumento " "estas specifita.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "Alklaku sur fenestro kiel celo, por sendi problemraporton." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "Startigi en redakta reĝimo. La opcio --package aldoneblas." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "Sendu problemraporton pri simptomoj. (Ĉi tiu regimo validas aŭtomate, se la " "nomo de la simptomo estas donita kiel sola argumento.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "Specifu pakaĵnomon en reĝimo --file-bug. Ĉi tio estas opcia se --pid estas " "specifita. (Ĉi tiu regimo validas aŭtomate, se la nomo de la pakaĵo estas " "donita kiel sola argumento.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "Specifi rulatan programaron en reĝimo --file-bug. Se ĝi estas specifita, la " "cimraporto enhavos pli da informoj. (Ĉi tiu regimo validas aŭtomate, se pid " "estas donita kiel sola argumento.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "Raportu la kolapson el donita dosiero .apport aŭ .crash anstataŭ ol tiuj " "okazantaj en %s. (Ĉi tiu regimo validas aŭtomate, se la dosiero estas " "donita kiel sola argumento.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" "En cimpleniga reĝimo, konservi la kolektitajn informojn en dosieron anstataŭ " "ol raporti ĝin. Ĉi tiu dosiero povas poste esti raportata per alia maŝino." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Eligi la numeron de versio de Aporto." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" "Tio rulos apport-retrace en fenestro de terminalo por testi la kolapson." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "Ruli seancon de gdb" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "Ruli seancon de gdb sen elŝuti sencimigsimbolojn" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "Ĝisdatigi %s kun tute simbolika staka spuro" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "Ĉi tiu raporto apartenas al ne plu instalita programaro." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" "La problemo okazis kun la programaro %s, kiu ŝanĝis ekde la kolapso okazis." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "La raporto estas damaĝita kaj ne povas esti traktata." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "La raporto apartenas al pakaĵo, kiu ne estas instalita." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "Eraro okazis dum klopodado por procezi ĉi tiun raporton de problemo:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "Ne eblis eltrovi la nomon de la pakaĵo aŭ de la fonta pakaĵo." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Ne eblis startigi retfoliumilon." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "Ne eblis starti retfoliumilo por malfermi %s." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" "Bonvole indiku viajn informojn pri la uzantkonto por la sistemo de " "cimspurado por %s." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Reta problemo" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "Ne eblas konekti al la datumbazo pri kolapsoj. Bonvole kontrolu vian " "retkonekton." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Memoro elĉerpita" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "Via sistemo ne havas sufiĉe da memoro por trakti la kolapsraporton." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "Ne eblas raporti la problemon:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Jam konata problemo." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "Ĉi tiu problemo estis jam raportita en la raporto montrata en la " "retfoliumilo. Bonvole kontrolu, ĉu vi povas aldoni pliajn eble utilajn " "informojn por la evoluigantoj." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "Ĉi tiu problemo estas jam raportita al programistoj. Dankon!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "La vekiĝprocezo paraliziĝis tuj antaŭ la fino. Aspektis kiel ĝi normale " "kompletiĝis." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Premu klavon por daŭrigi..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "Kion vi ŝatus fari? Viaj ebloj estas:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Bonvole ekektu (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i bajtoj)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "Post sendo de la problem-raporto, bonvole plenigu la formularon en la\n" "fenestro de la retfoliumilo, kiu aŭtomate malfermiĝos." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "&Sendi raporton (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "Lok&e testi" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "&Montri raporton" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "&Konservi raportdosieron por poste sendi ĝin aŭ kopii aliloken." #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "Nuligi kaj &ignori ontajn kolapsojn de ĉi tiu programarversio." #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Nuligi" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Problemraporta dosiero:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&Konfirmi" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Eraro: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "La kolektitaj informoj povas esti senditaj al la evoluigantoj por\n" "plibonigi la aplikaĵon. Tio povas daŭri kelkajn minutojn." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "La kolektitaj informoj estas sendataj al la sistemo de cimspurado.\n" "Tio povas daŭri kelkajn minutojn." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Farite" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "nenio" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Elektita: %s. Pluraj ebloj:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Ebloj:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Pado al la dosiero (presi \"enigu\" por nuligi):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "Dosiero ne ekzistas." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "Ĉi tio estas dosierujo." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "Por daŭrigi vi devas viziti la sekvan URL:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "Vi povas nun lanĉi retfoliumilon aŭ kopii la URL en retfoliumilo en alia " "komputilo." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Nun lanĉi retfoliumilon" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" "Ne restas netrakitaj kolapsraportoj. Indiku --help por vidi pliajn informojn." #~ msgid "Content of the report" #~ msgstr "Enhavo de la raporto" #~ msgid "_Report Problem..." #~ msgstr "_Raporti problemon..." #~ msgid "Package problem" #~ msgstr "Pakaĵo-problemo" #~ msgid "Kernel problem" #~ msgstr "Kerno-problemo" #~ msgid "_Send Report" #~ msgstr "_Sendi raporton" #~ msgid "&Report Problem..." #~ msgstr "&Raportu problemon..." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "Se vi ne estis faranta ion konfidencan (enigante pasvorton aŭ aliajn\n" #~ "privatajn informojn), vi povas helpi plibonigi la aplikaĵon raportante\n" #~ "la problemon." #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s fermiĝis neatendite je %s je la %s." #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "Via sistemo suferis seriozan problemon pri la kerno." #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "" #~ "Vi povas helpi al la evoluigantoj korekti la pakaĵon, se vi raportas la " #~ "problemon." #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "" #~ "Vi povas helpi al la evoluigantoj korekti la problemon, raportante ĝin." #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "&Sendu kompletan raporton (rekomendite, %s)" #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "Ne eblis instali aŭ aktualigi la pakaĵon \"%s\"." #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "Kompleta raporto (rekomendita; %s)" #~ msgid "Application problem" #~ msgstr "Aplikaĵa problemo" #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">Pardonu, instalado aŭ aktualigo de " #~ "pakaĵo \"%s\" fiaskis.</span>" #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>Ĉu sendi problem-raporton al la evoluigantoj?</b></big>\n" #~ "\n" #~ "Post sendo de la raporto bonvolu plenigi la formularon en la aŭtomate " #~ "aperonta krozila fenestro." #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "Sendu &reduktitan raporton (se via retkonekto estas malrapida; %s)" #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "Reduktita raporto (se via retkonekto estas malrapida; %s)" #~ msgid "Restart _Program" #~ msgstr "Relanĉu la &programon" #~ msgid "_Ignore future crashes of this program version" #~ msgstr "_Ignoru estontajn kraŝojn de tiu ĉi program-versio" #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "" #~ "Erara nombro de la argumentoj; uzu --help por ricevi koncizan helpon." #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "Tio ĉi forigos kelkajn grandajn erojn el la raportaĵo. Tiuj estas tre utilaj " #~ "por programistoj por povi sencimigi la problemon. Sed eble tiel la alŝutaĵo " #~ "estos tro granda se vi havas malrapidan retkonekton." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "Se vi ne faris ion konfidencan (entajpi pasvortojn aŭ aliajn privatajn " #~ "informojn), vi povas helpi plibonigi la aplikaĵon raportante la problemon." #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [opcioj] <apport-problemraportaĵo | kolapsa ID>" #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "Ĉi tio ne estas aŭtentika pakaĵo de %s." #, python-format #~ msgid "Sorry, the application %s has closed unexpectedly." #~ msgstr "Pardonu, la aplikaĵo %s fermiĝis neatendite." #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "Tio okazis dum antaŭa suspendo kaj preventis, ke ĝi bone vekiĝis." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "Tio okazis dum antaŭa dormeto kaj preventis, ke ĝi bone vekiĝis." #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "" #~ "vi aŭ necesas fari lokan operacion (-s, -g, -o) aŭ provizi aŭtentigdosieron " #~ "(--auth); vidu --help por mallonga gvidilo" �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/es.po������������������������������������������������������������������������������0000644�0000000�0000000�00000143361�12677230222�012627� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Spanish translation for apport # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:46+0000\n" "Last-Translator: Adolfo Jayme <fitoschido@gmail.com>\n" "Language-Team: Spanish <es@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: es\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "Apport" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "Cancelar" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "Aceptar" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Informe de error" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>Lo sentimos, ocurrió un error interno.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "Si sigue teniendo problemas, intente reiniciar el equipo." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "Enviar un informe de error para ayudar a corregir este problema" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "Ignorar problemas futuros de esta versión del programa" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Mostrar detalles" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "_Examinar localmente" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Dejar cerrada" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Continuar" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>Recopilando información del problema</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "La información que se está recopilando puede ayudar a los desarrolladores a " "resolver el problema que va a notificar." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "Enviando la información del problema" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>Enviando información del problema</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "La información recopilada está enviándose al sistema de seguimiento de " "errores. Esto puede tardar unos minutos." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Archivo de fallo de Apport" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(datos binarios)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "Lo sentimos, la aplicación %s se detuvo inesperadamente." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "%s se cerró inesperadamente." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "Lo sentimos, %s ha experimentado un error interno." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "¿Enviar un informe del problema a los desarrolladores?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Enviar" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "Forzar cierre" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Reabrir" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "La aplicación %s ha dejado de responder." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "El programa «%s» ha dejado de responder." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Paquete: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "Lo sentimos, ha ocurrido un problema al instalar el software." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "La aplicación %s ha experimentado un error interno." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "La aplicación %s se cerró inesperadamente." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "Ignorar problemas futuros de este tipo" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Ocultar detalles" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Uso: %s <informe> <directorio objetivo>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "El directorio de destino existe y no está vacío." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "Nombre de usuario:" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "Contraseña:" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "Recopilando información del problema" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Recopilando información del problema" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "La información recopilada se puede enviar a los desarrolladores para mejorar " "la aplicación. Esto puede tardar algunos minutos." #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "Enviando información del problema" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Recopilar información del sistema" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "Se necesita autenticación para recopilar información del sistema para " "informar de este problema" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "Informes de problemas del sistema" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" "Escriba su contraseña para acceder a los informes de problemas de programas " "del sistema" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Informar de un problema..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Notificar un mal funcionamiento a los desarrolladores" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "Consulte la página de man para más detalles." #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "especifica el nombre del archivo de registro generado por valgrind" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" "reusar un directorio de pruebas (SDIR) creado anteriormente o, si no existe, " "crearlo" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" "no crear ni reusar un directorio de pruebas para símbolos de depuración " "adicional, sino depender únicamente de los símbolos de depuración instalados." #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" "reutilizar un directorio caché (REDC) creado previamente, si no existe, " "crearlo" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" "informar del el avance en la descarga/instalación al instalar paquetes en el " "sistema de pruebas" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" "el ejecutable que corre bajo el complemento memcheck valgrind en la " "detección de fugas de memoria" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" "Instalar un paquete adicional en la caja de arena (puede especificarse " "varias veces)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "Error: %s no es un ejecutable. Parando." #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" "Su sistema puede volverse inestable y puede que necesite reiniciarlo." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" "No poner las nuevas trazas en el informe, pero escribirlas en la salida " "estándar." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "Iniciar una sesión interactiva de gdb con el volcado de memoria del informe " "(-o ignorado; no se reescribe el informe)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "Escribir el informe modificado en el archivo dado, en vez de cambiar el " "informe original" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" "Eliminar del informe el volcado de memoria tras la regeneración de la traza " "de la pila" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "Sobrescribir los informes de CoreFile" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "Sobrescribir los informes de ExecutablePath" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "Sobrescribir los informes de ProcMaps" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "Reconstruir la información de paquetes del informe" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" "Construye una caja de arena temporal y descarga/instala los paquetes " "necesarios y los símbolos de depuración; sin esta opción se asume que los " "paquetes necesarios y los símbolos de depuración ya están instalados en el " "sistema. El argumento apunta al directorio de sistema de paquetes de " "configuración de base, si se especifica «system», utilizará los archivos de " "configuración del sistema, pero solo será capaz de volver sobre los errores " "que ocurrieron en la ejecución actual." #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" "Informar del progreso de la descarga/instalación de paquetes en la caja de " "arena" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" "Anteponer marcas de tiempo para registrar mensajes, para su operación en lote" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" "Crear y usar repositorios de terceros de orígenes especificados en los " "informes" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "Almacenar directorios para paquetes descargados en la caja de arena" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" "Directorio para paquetes desempacados. Las ejecuciones futuras asumirán que " "cualquier paquete ya descargado se extrae también a esta caja de arena." #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" "Ruta a un archivo con la información de autenticación a la base de datos de " "errores. Esto se usa cuando especifica un ID de error para cargar una pila " "de rastros reconstituidos (solo si no se especifican ni -g, ni -o ni -s" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "Mostrar la pila de rastros reconstituidos y pedir confirmación antes de " "enviarlos a la base de datos de errores" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" "Ruta a la base de datos sqlite duplicada (por omisión: sin comprobación de " "duplicado)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "No se puede usar -C sin -S. Parando." #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "¿Está de acuerdo en enviar esto como adjuntos? [y/n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "Este paquete no parece haberse instalado correctamente" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "Este no es un paquete oficial de %s. Desinstale cualquier paquete de " "terceros e inténtelo de nuevo." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "Tiene algunos paquetes instalados con versiones obsoletas. Actualice los " "siguientes paquetes y compruebe si el problema persiste:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "programa desconocido" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "El programa «%s» se cerró inesperadamente" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Problema en %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "Su equipo no tiene memoria libre suficiente para analizar el problema " "automáticamente y enviar un informe a los desarrolladores." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Informe de problema no válido" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "No tiene permitido acceder a este informe de problema." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Error" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" "No hay suficiente espacio de disco disponible para procesar este informe." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "No se especificó ningún paquete" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "Necesita especificar un paquete o un PID. Consulte --help para más " "información." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Permiso denegado" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "El proceso especificado no le pertenece. Ejecute este programa como " "propietario del proceso o como superusuario." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "PID no válido" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "El ID de proceso especificado no pertenece a ningún programa." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "El script de síntomas %s no determinó ningún paquete afectado" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "El paquete %s no existe" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "No se puede crear el informe" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "Informe de problema con actualización" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "Usted no es el informador o suscriptor de este informe de problema, o el " "informe es un duplicado o ya está cerrado.\n" "\n" "Cree un informe nuevo usando «apport-bug»." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "Usted no informó de este problema. Es mucho más fácil marcar un error como " "duplicado de otro que trasladar sus comentarios y archivos adjuntos a un " "nuevo error.\n" "\n" "Por lo tanto, le recomendamos que genere un nuevo informe de error " "utilizando «apport-bug» y haga un comentario en este error informando del " "que ha generado.\n" "\n" "¿Está seguro de que quiere continuar?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "No se ha recopilado información adicional." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "¿De qué tipo de problema quiere informar?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Síntoma desconocido" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "El síntoma «%s» es desconocido." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "Después de cerrar este mensaje pulse en una ventana de aplicación para " "informar acerca de un problema con ella." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "xprop falló al determinar la ID de proceso de la ventana" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "%prog <número del informe>" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "Especifique el nombre del paquete." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" "Añade una etiqueta adicional al informe. Se puede especificar varias veces." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [opciones] [síntomas|pid|paquete|ruta al programa|archivo .apport o " ".crash]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Comenzar en el modo de notificación de errores. Requiere --package y un --" "pid opcional, o sólo un --pid. Si no se proporciona ninguno, muestra una " "lista de síntomas conocidos. (Implícito si se proporciona un único " "argumento.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" "Pulse una ventana como objetivo para rellenar un informe de problema." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" "Iniciar en modo de actualización de errores. Admite un parámetro --package " "opcional." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "Rellenar un informe de error acerca de un síntoma. (Implícito si se " "proporciona un nombre de síntoma como único argumento)." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "Especifique el nombre del paquete en el modo --file-bug. Esto es opcional si " "un --pid es especificado. (Implícito si se ha dado un nombre de paquete como " "un único argumento)." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "Especificar un programa ejecutándose en modo --file-bug. Si se especifica, " "el informe de error contendrá más información. (Implica si pid se da como un " "argumento solo.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "El pid proporcionado es una aplicación colgada." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "Informar del fallo a partir de los archivos .apport o .crash indicados en " "lugar de los pendientes en %s. (Implícito si se indica el archivo como único " "argumento.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" "En el modo de relleno del error, guarda la información recopilada en un " "archivo en vez de enviarla. Este archivo se puede enviar más tarde desde un " "equipo diferente." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Mostrar el número de versión de Apport" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" "Esto ejecutará apport-retrace en una terminal para examinar la falla." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "Ejecutar una sesión gdb" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "Ejecutar una sesión gdb sin descargar símbolos de depuración" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "Actualizar %s con una pila de seguimiento completamente simbólica" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" "Este informe de problema aplica a un programa que ya no está instalado." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" "El problema ocurrió con el programa %s, que ha sido modificado desde esa vez." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "El informe del problema está dañado y no puede procesarse." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "El informe proviene de un paquete no instalado." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "Ocurrió un error al intentar procesar este informe de problema:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "No se pudo determinar el nombre del paquete binario o fuente." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "No se puede arrancar el navegador web" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "No se puede arrancar el navegador web para abrir %s." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" "Introduzca la información de su cuenta para el sistema de seguimiento de " "errores de %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Problemas con la red" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "No es posible la conexión con la base de datos de errores, por favor, " "verifique su conexión a Internet." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Memoria agotada" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "Su sistema no tiene la memoria suficiente para procesar este informe de " "fallo." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "El problema no puede notificarse:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Problema ya conocido" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "Este problema ya ha sido comunicado previamente en el informe de fallo " "mostrado en el navegador web. Por favor, compruebe si puede añadir cualquier " "información adicional que pudiera resultar de utilidad a los desarrolladores." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "Ya se ha informado de este problema a los desarrolladores. ¡Gracias!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" "El evento se produjo durante una suspensión anterior y evitó que el sistema " "se reanudara adecuadamente." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" "El evento se produjo durante una hibernación anterior y evitó que el sistema " "se reanudara adecuadamente." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "El proceso de reanudación se colgó muy cerca del final y parecerá que se " "completó normalmente." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Pulse una tecla para continuar..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "¿Qué desea hacer? Sus opciones son:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Por favor elija (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i bytes)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "Después de que se haya enviado el informe del problema, por favor,\n" "complete el formulario que se abrirá automáticamente en su navegador." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "&Enviar informe (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "&Examinar localmente" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "&Ver informe" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" "&Guardar el informe para enviarlo luego, o para copiarlo a algún otro lugar." #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "Cancelar e &ignorar errores futuros de esta versión del programa" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Cancelar" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Archivo del informe del problema:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&Confirmar" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Error: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "La información recopilada puede enviarse a los desarrolladores para mejorar " "la\n" "aplicación. Esto puede tardar unos minutos." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "La información recopilada está enviándose al sistema de seguimiento de " "errores.\n" "Esto puede tardar unos minutos." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Hecho" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "ninguno" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Seleccionado: %s. Varias opciones:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Opciones:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Ruta al archivo (Intro para cancelar):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "El archivo no existe." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "Esto es un directorio." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "Para continuar, visite la siguiente URL:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "Puede lanzar un navegador ahora, o copiar esta URL a un navegador en otro " "equipo." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Lanzar un navegador ahora" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" "No hay informes de errores pendientes. Intente --help para más información." #~ msgid "&Ignore future crashes of this program version" #~ msgstr "&Ignorar errores futuros en esta versión del programa" #~ msgid "" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "Una vez se haya enviado el informe del problema, complete el formulario que " #~ "aparecerá automáticmente en el navegador." #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "Enviar un informe &reducido (conexiones lentas a Internet; %s)" #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "" #~ "Si lo notifica, ayudará a los desarrolladores a resolver el problema." #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "Ha fallado la instalación o la actualización del paquete «%s»." #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "Informe completo (recomendado; %s)" #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>¿Enviar informe del problema a los desarrolladores?</b></big>\n" #~ "\n" #~ "Una vez se haya enviado el informe del problema, rellene el formulario que " #~ "aparecerá en la ventana del navegador (que se abrirá automáticamente)." #~ msgid "Application problem" #~ msgstr "Problema en la aplicación" #~ msgid "&Details..." #~ msgstr "&Detalles..." #~ msgid "_Send Report" #~ msgstr "_Enviar informe" #~ msgid "Generic error" #~ msgstr "Error genérico" #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s se ha cerrado de forma inesperada en %s a %s." #~ msgid "Restart _Program" #~ msgstr "Reiniciar el _programa" #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "&Enviar el informe completo (recomendado; %s)" #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "Informe reducido (conexión lenta a Internet; %s)" #~ msgid "_Ignore future crashes of this program version" #~ msgstr "_Ignorar fallos futuros de esta versión del programa" #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "Esto eliminará algunos elementos grandes del informe. Éstos son muy útiles " #~ "para que los desarrolladores depuren el problema, pero pueden resultarle muy " #~ "grandes para enviarlos si tiene una conexión lenta a Internet." #~ msgid "&Send" #~ msgstr "&Enviar" #~ msgid "Kernel problem" #~ msgstr "Problema en el núcleo" #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "" #~ "Puede ayudar a los desarrolladores a corregir el paquete informando del " #~ "problema." #~ msgid "Content of the report" #~ msgstr "Contenido del informe" #~ msgid "Package problem" #~ msgstr "Problema en el paquete" #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "Este no es un paquete %s genuino" #~ msgid "_Report Problem..." #~ msgstr "Info_rmar del problema..." #, python-format #~ msgid "Sorry, %s closed unexpectedly" #~ msgstr "Lo sentimos: %s se ha cerrado inesperadamente" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "Si no estaba haciendo nada confidencial (como introducir contraseñas u\n" #~ "otra información privada), puede informar del problema para ayudar a\n" #~ "mejorar la aplicación." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "Si no estaba haciendo nada confidencial (como introducir contraseñas u otra " #~ "información privada), puede informar del problema para ayudar a mejorar la " #~ "aplicación." #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Esto ocurrió durante una suspensión anterior y le impidió reanudarse " #~ "adecuadamente." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Esto ocurrió durante una hibernación anterior y le impidió reanudarse " #~ "adecuadamente." #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [opciones] <informe apport del problema | ID del fallo>" #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "número incorrecto de argumentos use --help para una breve ayuda" #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "" #~ "tampoco necesita realizar una operación local (-s,-g,-o) o suministrar un " #~ "archivo de autentificación (--auth); vea --help para una pequeña ayuda" #~ msgid "Send this data to the developers?" #~ msgstr "¿Enviar estos datos a los desarrolladores?" #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">Lo sentimos, falló la instalación o " #~ "actualización del paquete «%s».</span>" #~ msgid "Restart &Program" #~ msgstr "R&einiciar el programa" #~ msgid "&Report Problem..." #~ msgstr "&Informar problema..." #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "Su sistema ha encontrado un problema serio del núcleo." #, python-format #~ msgid "Sorry, the program \"%s\" closed unexpectedly." #~ msgstr "Lo sentimos: el programa «%s» se ha cerrado inesperadamente." #, python-format #~ msgid "Sorry, %s closed unexpectedly." #~ msgstr "Lo sentimos: %s se ha cerrado inesperadamente." #, python-format #~ msgid "Sorry, the package \"%s\" failed to install or upgrade." #~ msgstr "Lo sentimos: el paquete «%s» no se pudo instalar o actualizar." #, python-format #~ msgid "Sorry, the application %s has closed unexpectedly." #~ msgstr "Lo sentimos, la aplicación %s se ha cerrado de manera inesperada." #~ msgid "Your system might become unstablenow and might need to be restarted." #~ msgstr "El sistema puede volverse inestable y necesitar reiniciarse." �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/et.po������������������������������������������������������������������������������0000644�0000000�0000000�00000122222�12677230222�012621� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Estonian translation for apport # Copyright (c) 2006 Rosetta Contributors and Canonical Ltd 2006 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2013-08-28 23:23+0000\n" "Last-Translator: olavi tohver <Unknown>\n" "Language-Team: Estonian <et@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: et\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "Apport" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>Vabandust, ilmnes sisemine viga .</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Näita üksikasju" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Jätka" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>Probleemi kirjeldavate andmete kogumine</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "Kogutakse informatsiooni, mis võib aidata arendajatel probleemi kõrvaldada." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "Probleemi kirjeldava teabe üleslaadimine" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>Probleemi kirjeldava teabe üleslaadimine</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "Toimub kogutud info saatmine veajälgimissüsteemile. Selleks võib kuluda mitu " "minutit." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(binaarandmed)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "Vabandust, rakendus %s peatus ootamatult." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Kas saata arendajatele vearaport?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Saada" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Taaskäivita" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "Programm \"%s\" ei vasta enam." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Pakett: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "Vabandust, tarkvara paigaldamisel tekkis viga." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Peida üksikasjad" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Kasutus: %s <report> <target directory>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "Sihtkataloog on olemas ja ei ole tühi." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "Kasutajanimi:" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "Parool:" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "Probleemi kirjeldavate andmete kogumine" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Probleemi kirjeldavate andmete kogumine" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "Kogutud andmed võib saata arendajatele, et rakenduse saaks parandada. " "Saatmine võib võtta mõned minutid." #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "Probleemi kirjeldava teabe üleslaadimine" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Süsteemiinfo kogumine" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Probleemist teatamine..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Arendajate teavitamine tõrkest" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "Viga: %s ei ole käivitusfail. Katkestan." #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" "Teie süsteem võib nüüd muutuda ebastabiilseks ja võib vajada taaskäivitust." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "Kas saata need nagu manuseid? [jah: y /ei: n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "Sul on paigaldatud mõned vananenud programmiversioonid. Palun uuenda " "järgnevaid pakettte ja kontrolli, kas probleemid jätkuvad :\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "tundmatu programm" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Vabandust, programm \"%s\" sulgus ootamatult" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Probleem %s ga" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "Sinu arvutil ei ole piisavalt vaba mälu probleemi automaatse analüüsi ja " "arendajate teavitamise jaoks." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Ebasobiv vearaport" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "Sul puudub ligipääs sellele vearaportile." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Viga" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "Vearaporti käsitsemiseks pole piisavalt vaba kettaruumi." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "Pakett määramata" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "Sa pead määrama paketi või PID-i. Vaata --help lisainfo jaoks." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Ligipääs keelatud" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "Valitud protsess ei kuulu sulle. Palun käivita see programm protsessi " "omaniku või administraatorina." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "Vigane PID" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "Protsessi ID ei kuulu ühelegi programmile." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "Sümptomiskript %s ei tuvastanud seotud paketti" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "Paketti %s ei leitud" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "Raportit ei õnnestu luua" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "Probleemiraporti uuendamine" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "Te ei ole selle probleemi raporteerija ega ka selle probleemi jälgija. " "Raport võib olla duplikaat või juba suletud.\n" "\n" "Palun luua uus raport kasutades \"apport-bug\" käsku." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "Täiendavaid andmeid ei kogutud." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "Mis liiki veast sa tahad raporteerida?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Tundmatu sümptom" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "Sümptom \"%s\" pole teada." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "Probleemist teatamiseks vajuta peale selle sõnumi sulgemist probleemse " "rakenduse aknal." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "Täpsusta paketi nimi." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "Käivita gdb sessioon" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "See veateade on programmi kohta, mida ei ole enam paigaldatud." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "See vearaport on rikutud ja seetõttu ei ole võimalik seda käsitseda." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "Raport kuulub paigaldamata paketile." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "Paketi või lähtekoodi paketi nime ei suudetud tuvastada." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Veebisirvija käivitamine ebaõnnestus" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "Ole hea ja sisesta oma %s veahalduse kontoandmed" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Probleem võrguühendusega" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "Ei saa ühendust krahhide andmebaasiga, palun kontrolli oma internetiühendust." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Mälu ammendatud" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "Sinu arvutil pole piisavalt mälu selle krahhirapordi käsitlemiseks." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "Sellest veast ei ole võimalik teatada:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Probleem on varasemast teada" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "Sellest probleemist teavitati juba veebisirvijas nähaolevas vearaportis. " "Palun vaata, kas sul on arendajate jaoks olulist informatsiooni, mida lisada." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Jätkamiseks vajutage mõnd klahvi..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "Mida sa tahad teha? Sinu võimalused on järgnevad:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Palun vali (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i baiti)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "Pärast vearaporti saatmist täida palun vorm automaatselt avanevas " "veebibrauseri aknas." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "&Saada raport (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "&Näita raportit" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "&Hoia raportifail alles, et see saata hiljem või kopeerida mujale" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "Katkesta ja &ignoreeri edaspidi selle programmi versiooni krahhe" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Loobu" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Vearaporti fail:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "K&innita" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Viga: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "Kogutud teabe võib saata arendajatele, et rakendust parandada.\n" "See võib võtta mõne minuti." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "Kogutud teave saadetakse veahaldussüsteemi.\n" "See võib võtta mõne minuti." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Valmis" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "puudub" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Valikud:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "Faili ei ole." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "See on kataloog." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "Jätkamiseks pead külastama järgmist URLi:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "Võite nüüd veebilehitseja käivitada, või kopeerida selle URLi mõne teise " "arvuti brauserisse." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Käivitada veebilehitseja nüüd" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "Ootel vearaporteid pole. Proovi --help võtit lisainfo jaoks." #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "Raporti lõpetamine (soovitatud; %s)" #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>Saada arendajatele raport probleemi kohta?</b></big>\n" #~ "\n" #~ "Kui raport on saadetud, siis palun täida brauseris avanenud ankeet." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "Kui sa ei tegelenud millegi konfidentsiaalsega (salasõnade või muu isikliku " #~ "informatsiooni sisestamine), siis võiksid sa rakenduse parandamisele " #~ "probleemist teatamisega kaasa aidata." #, python-format #~ msgid "Sorry, %s closed unexpectedly" #~ msgstr "Vabandust, programm %s sulgus ootamatult" #~ msgid "Application problem" #~ msgstr "Rakenduse probleem" #~ msgid "_Send Report" #~ msgstr "_Saada raport" #~ msgid "Generic error" #~ msgstr "Üldine viga" #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s sulgus ettearvamatult, %s %s" #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "&Saada täisraport (soovitatud; %s)" #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "Lühendatud raport (aeglane võrguühendus; %s)" #, python-format #~ msgid "Sorry, %s closed unexpectedly." #~ msgstr "Vabandame, %s sulgus ettearvamatult." #~ msgid "Restart &Program" #~ msgstr "Taaskäivita &programm" #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "Saada &vähendatud raport (aeglane internetiühendus; %s)" #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "Vearaportist eemaldatakse mõningad mahukamad osad. Need osad on tarkvara " #~ "arendajatele vea leidmiseks väga kasulikud, kuid nende üleslaadimine võib " #~ "aeglasema ühenduse korral võtta liiga kaua." #~ msgid "_Report Problem..." #~ msgstr "P_robleemist teatamine" #~ msgid "&Send" #~ msgstr "&Saada" #~ msgid "Kernel problem" #~ msgstr "Kerneli probleem" #~ msgid "Content of the report" #~ msgstr "Raporti sisu" #~ msgid "&Ignore future crashes of this program version" #~ msgstr "&Ignoreeri programmi selle versiooni krahhe edaspidi" #, python-format #~ msgid "Sorry, the program \"%s\" closed unexpectedly." #~ msgstr "Vabandust, programm \"%s\" sulgus ettearvamatult." #~ msgid "&Report Problem..." #~ msgstr "&Teata probleemist..." #~ msgid "&Details..." #~ msgstr "Ü&ksikasjad..." #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "" #~ "Sa võid aidata arendajatel paketti parandada, kui teatad neile veast." #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "" #~ "Sa võid aidata arendajatel viga kõrvaldada, kui teatad neile sellest." #, python-format #~ msgid "Sorry, the package \"%s\" failed to install or upgrade." #~ msgstr "Vabandust, paketi \"%s\" paigaldamine või uuendamine nurjus." #~ msgid "Restart _Program" #~ msgstr "Taaskäivita _programm" #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">Vabandust, paketi \"%s\" uuendamine " #~ "või paigaldamine ebaõnnestus.</span>" #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "See ei ole ehtne %s paigalduspakett" #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "Teie süsteemis tekkis tõsine kerneli probleem." #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "Paketi \"%s\" paigaldamine või uuendamine nurjus." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "Kui te ei tegelenud millegi isiklikuga (paroolide või muude isiklike andmete " #~ "sisestamine), võid aidata rakenduse arendamisele kaasa, saates vea kohta " #~ "raporti." #~ msgid "Send this data to the developers?" #~ msgstr "Saada need andmed arendajatele?" #~ msgid "_Ignore future crashes of this program version" #~ msgstr "Eira programmi selle versiooni krahhidest teavitamine tulevikus" #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "ebakorrektne arv argumente; kasuta kiire abi saamiseks käsku --help" #~ msgid "Package problem" #~ msgstr "Paketi viga" #~ msgid "" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "Pärast vearaporti saatmist olege hea ja täitke vorm, mis avaneb automaatselt " #~ "veebibrauseris." ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/eu.po������������������������������������������������������������������������������0000644�0000000�0000000�00000126566�12677230222�012641� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Basque translation for apport # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:47+0000\n" "Last-Translator: Martin Pitt <martin.pitt@ubuntu.com>\n" "Language-Team: Basque <eu@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:17+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: eu\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "Apport" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Errore-txostena" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>Barkatu, barne-errore bat gertatu da.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" "Arazo gehiago aurkitzen badituzu, probatu ordenagailua berrabiaraziz." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Erakutsi xehetasunak" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "_Aztertu lokalki" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Mantendu itxita" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Jarraitu" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>Arazoari buruzko informazioa biltzen</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "Berri ematen ari zaren arazoari buruzko informazioa biltzen ari da, " "garatzaileei arazoa konpontzen laguntzeko." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "Errorearen inguruko informazioa bidaltzen" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>Arazoari buruzko informazioa bidaltzen</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "Bildutako informazioa akats-jarraitze sistemara bidalia izaten ari da. " "Minutu batzuk behar izan ditzake." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Apport kraskatze-fitxategia" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(datu bitarrak)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "Barkatu, %s aplikazioa ustekabean gelditu da." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "Barkatu, %s ustekabean itxi da." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "Barkatu, %s(e)k barne-errore bat izan du." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Arazoaren txosten bat bidali garatzaileei?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Bidali" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "Ixtera behartua" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Berrabiarazi" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "%s aplikazioak ez du erantzuten." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "\"%s\" programak ez du erantzuten." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Paketea: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "Barkatu, arazo bat egon da softwarea instalatzean." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "%s aplikazioak barne-errore bat izan du." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "%s aplikazioa ustekabean itxi da." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "Egin ezikusi aurrerantzean mota honetako arazoei" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Ezkutatu xehetasunak" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Erabilera: %s <txostena> <helburu direktorioa>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "Jada existitzen da helburu direktorioa, eta ez dago hutsik." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "Erabiltzaile-izena:" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "Pasahitza:" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Errorearen inguruko informazioa biltzen" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Bildu sistemaren informazioa" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "Autentifikazioa beharrezkoa da errore-txosten honentzako sistemaren " "informazioa biltzeko" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "Sistemako arazoaren jakinarazpena" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "Sartu pasahitza sistemako programen arazoen txostenak atzitzeko" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Arazo baten berri eman..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Funtzionamendu oker baten berri eman garatzaileei" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" "Ezegonkor bilakatu daiteke zure sistema orain eta berrabiarazi beharko " "zenuke." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "Ez traza berririk gehitu txostenera, horren ordez, stdout-en idatzi." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "gdb-sesio interaktiboa abiarazi txostenaren nukleoaren memoria-kopiarekin (-" "o ezikusia; ez du txostena berridazten)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "Fitxategi zehatz batean gorde txosten aldatua, jatorrizko txostena aldatu " "ordez." #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "Txostenaren CoreFile-a ezikusi" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "Txostenaren ExecutablePath-a ezikusi" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "Txostenaren ProcMaps-a ezikusi" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "Txostenaren pakete-informazioa berreraiki" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "Paketea ez dela behar bezala instalatu dirudi" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "Hau ez da %s(r)en pakete ofiziala. Ezabatu hirugarrengoen paketeak eta " "saiatu berriz." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "Zaharkituta pakete batzuk dituzu instalatuta. Mesedez, ondorengo pakete " "hauek eguneratu itzazu eta arazoak hro jarraitzen duen egiaztatu ezazu:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "programa ezezaguna" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Lastima, ustekabean itxi da \"%s\" programa" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Arazoa %s-n" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "Zure ordenagailuak ez dauka memoria aske nahiko arazoa automatikoki aztertu " "eta garatzaileei txosten bat bidaltzeko." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Arazoaren txosten baliogabea" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "Ez daukazu errore-txosten hau eskuratzeko baimenik." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Errorea" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "Diskoan ez dago txostena prozesatzeko leku nahikorik libre." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "Ez da paketerik zehaztu" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "Pakete edo PID bat zehaztu behar duzu. Informazio gehiagorako, ikusi --help." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Baimena ukatuta" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "Zehaztutako prozesua ez da zurea. Mesedez, prozesuaren jabe modura edo erro " "modura exekuta ezazu programa hau." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "PID baliogabea" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "Zehaztutako prozesu-IDa ez dagokio inongo programari." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "%s paketea ez da existitzen" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "Zu ez zara akatsaren berri eman duen pertsona. Askoz errazagoa da errore-" "txosten bat beste baten bikoiztutzat markatzea zure iruzkin eta eranskinak " "errore-txosten berri batera mugitzea baino.\n" "\n" "Ondoren, gomendatzen dizugu errore-txosten berri bat bidaltzea \"apport-" "bug\" erabiliz eta iruzkin bat uztea errore-txosten horretan zure errore-" "txostena aipatuz.\n" "\n" "Ziur aurrera jarraitu nahi duzula?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "Zein arazo-motaren berri eman nahi duzu?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Sintoma ezezaguna" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "Ezezaguna da \"%s\" sintoma." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "Zehaztu pakete-izena." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [aukerak] [sintoma|pid|paketea|programaren bidea|.apport/.crash " "fitxategia]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Errore-berriemate moduan hasi. Beharrezko da --package eta aukerazkoa --pid, " "edo --pid bakarrik. Ezer ez zehaztuz gero, sintoma ezagunen zerrenda bat " "bistaratzen da. (Inplizitua argumentu bakarra zehaztuz gero.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" "Hasi erroreak eguneratzeko moduan. Aukerazko --package bat hartu dezake." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "Sintoma baten berri emateko txostena bete. (Inplizitua sintomaren izena " "zehaztuz gero argumentu bakar bezala.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "Paketearen izena zehaztu --file-bug moduan. Hau opzionala da --pid bat " "zehaztu bada. (Inplizitua pakete-izen bakarra zehaztuz gero argumentu bakar " "bezala.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "Zehaztutako .aport edo .crash fitxategi bateko errorearen berri eman, " "%s(e)koen ordez. (Inplizitua fitxategi bat zehaztuz gero argumentu bakar " "bezala.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Apport bertsio-zenbakia erakutsi." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" "Jadanik instalatuta ez dagoen programa bati dagokio errore-txosten honek." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "Txosten hau kalteturik dago eta ezin da prozesatua izan." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "Instalatuta ez dagoen pakete bati dagokio txostenak." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "Errore bat gertatu da arazo honen txostena prozesatzean:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "Ezin izan da paketearen edo jatorrizko paketearen izena zehaztu." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Ezin izan da web-arakatzailea abiarazi" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "Ezin izan da web-arakatzailea abiarazi %s irekitzeko." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "%s-ren akats-sistemarako zure kontuaren informazioa sartu ezazu" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Sarearen arazoa" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "Ezin kraskatze-datubasera konektatu, zure Internet-konexioa egiaztatu ezazu." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Memoriaren agortzea" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "Zure sistemak ez dauka kraskatzearen txostena prozesatzeko memoria nahiko." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "Ezin da arazoaren berri eman:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Arazoa ezaguna da jadanik" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "Jadanik eman da arazo honen berri web-arakatzailearen bidez. Mesedez, " "garatzaileentzat lagungarria izan daitekeen informazio gehiago eman " "dezakezun egiaztatu ezazu." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "Amaieratik oso gertu hutsegin du jarraitze-prozesuak, eta egokiro burutu den " "itxura eman ahal izan du." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Edozein tekla sakatu ezazu jarraitzeko..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "Zer nahi duzu egin? Aukera hauek dituzu:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Mesedez, hautatu (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "Arazoaren txostena bidali ondoren, mesedez, web-arakatzailean\n" "automatikoki irekitako formularioa bete ezazu." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "&Txostena bidali (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "&Lokalki aztertu" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "Txostena &ikusi" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "Txostena &gorde geroago bidaltzeko edo beste leku batera kopiatzeko" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" "Utzi eta baztertu programa bertsio honen kraskatzeak hemendik aurrera" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Utzi" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Errore-txostenaren fitxategia:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&Berretsi" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Errorea: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "Bildutako informazioa garatzaileei bidali diezaiekezu, aplikazioa\n" "hobetzen laguntzeko. Minutu batzuk behar ditzake honek." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "Errore-segimendu sistemara bidaltzen ari da bildutako informazioa.\n" "Minutu batzuk behar ditzake honek." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Eginda" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "batere ez" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Hautatuta: %s. Aukera ugari:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Aukerak:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Fitxategira bidea (\"Entrar\" uzteko):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "Fitxategia ez da existitzen." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "Direktorioa da hau." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "Jarraitzeko, URL hau bisitatu ezazu:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "Oraintxe abiarazi dezakezu nabigatzailea, edo URLa kopiatu ezazu beste " "ordenagailu bateko nabigatzailean erabiltzeko." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Oraintxe abiarazi nabigatzailea" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" "Ez dago txostenik bidaltzeke. Informazio gehiagorako, --help probatu ezazu." #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "Txosten osoa (gomendatua; %s)" #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>Arazoaren txosten bat bidali garatzailei?</b></big>\n" #~ "\n" #~ "Arazoaren txostena bidali ondoren, mesedez, web-arakatzailean automatikoki " #~ "irekitako formularioa bete." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "Ez bazinen ezer konfidentzialik egiten ari (pasahitz bat edo beste " #~ "informazio pribaturik idazten), aplikazioa hobetzen lagundu dezakezu " #~ "arazoaren berri emanez." #~ msgid "Application problem" #~ msgstr "Aplikazioaren arazoa" #~ msgid "_Send Report" #~ msgstr "Txostena _Bidali" #~ msgid "Restart _Program" #~ msgstr "_Programa Berrabiarazi" #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">Lastima, ezin izan da \"%s\" paketea " #~ "instalatu edo eguneratu.</span>" #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "Txosten laburra (internet konexio geldoa; %s)" #~ msgid "_Ignore future crashes of this program version" #~ msgstr "_Ezikusi programa bertsio honen kraskatzeak" #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "Honek elementu handi batzuk kenduko ditu txostenetik. Hauek oso baliagarriak " #~ "dira garatzaileentzat arazoa konpontzeko, baina zuk bidaltzeko handiegiak " #~ "izan daitezke, konexio motela badaukazu." #~ msgid "_Report Problem..." #~ msgstr "Arazoaren _Berri eman..." #~ msgid "Kernel problem" #~ msgstr "Kernel arazoa" #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "" #~ "Garatzaileei paketea konpontzen lagun diezaiekezu arazoaren berri emanez." #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "Hau ez da benetako %s pakete bat" #~ msgid "Content of the report" #~ msgstr "Txostenaren edukia" #~ msgid "Package problem" #~ msgstr "Pakete arazoa" #~ msgid "&Report Problem..." #~ msgstr "Arazo baten &Berri eman..." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "Zerbait konfidentziala egiten ari ez bazinen (pasahitzak edo halako\n" #~ "informazio pribaturik idazten), aplikazioa hobetzen lagundu dezakezu\n" #~ "arazoaren berri emanez." #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s ustekabean itxi da %s(e)an %setan" #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "Zure sistemak kernelaren arazo larri batekin egin du topo." #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "Garatzaileei lagun diezaiekezu arazo horren berri emanez." #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "Txosten &osoa bidali (gomendatua; %s)" #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "Txosten &murriztua bidali (Internet konexio motelak; %s)" #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "\"%s\" paketearen instalazio edo eguneratzeak huts egin du." #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Aurreko esekitze batean zehar gertatu da hau, eta ezin izan da egokiro " #~ "jarraitu." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Aurreko hibernazio batean zehar gertatu da hau, eta ezin izan da egokiro " #~ "jarraitu." #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [aukerak] <apport problem report | crash ID>" #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "" #~ "ekintza lokal bat (-s, -g, -o) burutu edo autentifikazio-fitxategi bat (--" #~ "auth) eskaini behar duzu; --help erabili ezazu laguntza labur bat jasotzeko" #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "" #~ "argumentu kopuru okerra; --help erabili ezazu laguntza labur bat jasotzeko" #~ msgid "Your system might become unstablenow and might need to be restarted." #~ msgstr "" #~ "Baliteke orain sistema ezegonkor bihurtzea eta berrabiarazi beharra izatea." ������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/fa.po������������������������������������������������������������������������������0000644�0000000�0000000�00000100076�12677230222�012602� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Persian translation for apport # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2009. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2011-10-07 06:10+0000\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: Persian <fa@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: fa\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "" #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "" #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/fi.po������������������������������������������������������������������������������0000644�0000000�0000000�00000136425�12677230222�012621� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Finnish translation for apport # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:47+0000\n" "Last-Translator: Timo Jyrinki <timo.jyrinki@canonical.com>\n" "Language-Team: Finnish <fi@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: fi\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "Apport" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "Peru" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "OK" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Ohjelmisto lopetti toimintansa" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>Valitettavasti havaittiin sisäinen virhe.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "Jos ongelmat jatkuvat, käynnistä tietokone uudelleen." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "Auta kehittäjiä korjaamaan tämä ongelma lähettämällä vikailmoitus" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "Älä huomioi tämän ohjelmiston kaatumisia jatkossa" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Näytä tiedot" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "_Tutki paikallisesti" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Sulje sovellus" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Jatka" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>Kerätään tietoja ongelmasta</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "Kerätään tietoja ongelman korjaamisen helpottamiseksi." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "Lähetetään tiedot ongelmasta" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>Lähetetään tietoja ongelmasta</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "Kerättyjä tietoja lähetetään vianseurantajärjestelmään. Tämä saattaa kestää " "muutamia minuutteja." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Apport-kaatumistiedosto" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(binääritiedot)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "Valitettavasti sovellus %s pysähtyi odottamatta." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "Valitettavasti %s sulkeutui odottamatta." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "Valitettavasti %s kohtasi sisäisen virheen." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Lähetetäänkö raportti ongelmasta kehittäjille?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Lähetä" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "Suljettu väkisin" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Käynnistä uudelleen" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "Sovellus \"%s\" ei vastaa." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "Ohjelma \"%s\" ei vastaa." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Paketti: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "Valitettavasti ohjelmistoja asennettaessa ilmeni ongelma." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "Sovellus %s kohtasi sisäisen virheen." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "Sovellus %s sulkeutui yllättäen." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "Jätä huomiotta tulevat vastaavanlaiset ongelmat" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Piilota tiedot" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Käyttö: %s <raportti> <kohdehakemisto>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "Kohdehakemisto on jo olemassa, eikä ole tyhjä." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "Käyttäjätunnus" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "Salasana:" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "Kerätään tietoja ongelmasta" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Kerätään tietoja ongelmasta" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "Kerätty tieto voidaan lähettää kehittäjille ohjelmiston parantamiseksi. Tämä " "voi kestää muutamia minuutteja." #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "Lähetetään tiedot ongelmasta" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Kerää järjestelmätiedot" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "Vikailmoitukseen tarvittavien järjestelmätietojen kerääminen vaatii " "tunnistautumisen" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "Järjestelmän ongelmaraportit" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "Anna salasanasi nähdäksesi järjestelmäohjelmien ongelmaraportteja" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Raportoi ongelma" #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Raportoi toimintahäiriöstä sovelluksen kehittäjille" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "Katso lisätietoja man-sivulta." #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "Syötä valgrindin tuottaman log-tiedoston nimi." #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" "Käytä uudelleen jo aikaisemmin luotua hiekkalaatikkokansiota (SDIR), tai jos " "sitä ei ole, luo sellainen" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" "Älä luo tai käytä uudelleen hiekkalaatikkokansiota ylimääräisiä " "virheenkorjaussymboleja varten, vaan luota vain asennettuihin " "virheenkorjaussymboleihin." #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "Lataa ekstrapakkaukset hiekkalaatikkoon (voi kestää pitkään)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "Virhe: %s ei ole suoritettava tiedosto. Lopetetaan." #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" "Järjestelmästäsi saattaa tulla epävakaa ja se saattaa tarvita " "uudelleenkäynnistystä." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" "Älä laita uusia jäljityksiä raporttiin, mutta kirjoita ne stdout:iin." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "Aloita interaktiiviinen gdb-istunto raportin ydinvedoksen kanssa (-o jättää " "huomioimatta; ei kirjoita raporttia)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "Kirjoita muokattu raportti annetulle tiedostolle alkuperäisen raportin " "muuttamisen sijaan." #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "Poista muistivedos raportista pinojäljityksen elvyttämisen jälkeen" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "Korvaa raportin CoreFile" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "Korvaa raportin ExecutablePath" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "Korvaa raportin ProcMaps" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "Rakenna raportin Paketti-informaatio uudelleen" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" "Polku tiedostoon kaatumistietokannan todentamistietojen kanssa. Tätä " "käytetään määritettäessä kaatumistunnistetta ladattaessa jäljitettyä " "pinojälkiä. (vain jos yhtäkään seuraavista ei ole määritetty: -g, -o ja -s)" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "Näytä seuratut pinojäljet ja pyydä vahvistusta ennen niiden lähettämistä " "kaatumistietokantaan." #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" "Polku jäljennös-sqlite-tietokantaan (oletus: ei jälkennöksen tarkistusta)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "Et voi käyttää valitsinta -C ilman valitsinta -S. Pysäytetään." #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "Sopiiko näiden lähettäminen liitteinä? [y/n] (y=kyllä, n=ei)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "Tätä pakettia ei ole asennettu oikein" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "Tämä ei ole virallinen %s-paketti. Poista kolmansien osapuolten paketit ja " "yritä sitten uudelleen." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "Järjestelmässä on asennettuna joidenkin pakettien vanhentuneita versiota. " "Päivitä seuraavat paketit ja tarkista, uusiutuuko ongelma:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "tuntematon sovellus" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Ikävä kyllä ohjelma \"%s\" sulkeutui yllättäen" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Ongelma osan %s kanssa" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "Muistia ei ole vapaana tarpeeksi ongelman automaattiseen analysointiin ja " "virheraportin lähettämiseen." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Virheellinen ongelmaraportti" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "Sinulla ei ole lukuoikeuksia tähän ongelmaraporttiin." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Virhe" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "Levyllä ei ole tarpeeksi tilaa raportin käsittelyyn." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "Pakettia ei ole määritelty" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "Paketti tai PID-tunniste on annettava. Katso lisätietoja käyttämällä " "valitsinta --help." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Lupa evätty" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "Kyseinen prosessi ei kuulu sinulle. Aja tämä ohjelma prosessin omistajana " "tai pääkäyttäjänä." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "PID-numero ei kelpaa" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "Määritetty prosessin ID-numero ei kuulu kyseiselle ohjelmalle." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "Oirekomentosarja %s ei määritellyt vaikuttanutta pakettia" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "Pakettia %s ei ole olemassa" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "Raporttia ei voida luoda" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "Päivitetään ongelmaraporttia" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "Et ole tämän ongelman raportoija tai ilmoittanut ongelmasta aikaisemmin; " "ilmoitus on mahdollisesti kaksoiskopio tai se on jo suljettu aikaisemmin.\n" "\n" "Ole hyvä, ja luo uusi raportti käyttäen \"apport-bug\" määrittelyä." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "Et ole tämän ongelman raportoija. On helpompaa merkitä ongelma jonkin toisen " "samankaltaisen ongelman kopioksi, kuin siirtää kommenttisi ja liitteesi " "täysin uuteen ongelmaraporttiin.\n" "\n" "Suosittelemme että lähetät uuden ongelmaraportin käyttäen \"apport-bug\" " "määrittelyä ja lisäät tähän ongelmaan kommentin lisäämästäsi uudesta " "ilmoituksesta.\n" "\n" "Haluatko todella jatkaa?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "Lisätietoja ei kerätty." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "Millainen ongelma raportoidaan?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Tuntematon ongelma" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "Ongelmaa \"%s\" ei tunnistettu." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "Kun olet sulkenut tämän viestin napsauta sen sovelluksen ikkunaa, johon " "liittyvän virheraportin haluat tehdä." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "xprop ei onnistunut selvittämään ikkunaan ID-tunnistenumeroa" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "%prog <raportin numero>" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "Määritä paketin nimi." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" "Lisää raporttiin liittyvä tunniste. Tämä voidaan tehdä useampia kertoja." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [valinnat] [ongelma|pid|paketti|ohjelman " "polku|.apport/.kaatumisraportti]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Aloita ohjelmavirheiden kirjaustilassa. Se vaatii --package ja valinnaisen --" "pid:n, tai vain --pid:n. Jos kumpaakaan ei anneta, näytä lista tunnetuista " "oireista. (Epäsuora jos yksi argumentti on annettu.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "Napsauta ikkunaa, johon liittyvän virheraportin haluat tehdä" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" "Aloita ohjelmavirheiden päivitystilassa. Voi ottaa valinnaisen valitsimen --" "package." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "Arkistoi ohjelmavirheen raportti oireena. (Epäsuora jos oireen nimi on " "annettu vain argumenttina.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "Tarkenna paketin nimi --file-bug-tilassa. Tämä on valinnainen jos --pid on " "määritetty. (Epäsuora jos paketin nimi on annettu vain argumenttina.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "Annettu pid on ohjelma, joka ei vastaa" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "Raportoi kaatuminen annetusta .apport tai .crash-tiedostosta odottavien " "sijaan kohdassa %s. (Epäsuora jos tiedosta on annettu vain argumenttina.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Tulosta Apport-versionumero." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" "Tämä käynnistää apport-retracen pääteikkunnassa ongelman tutkimiseksi." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "Käynnistä gdb sessiossa" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "Suorita gdb-istunto ilman virheenjäljityssymbolien lataamista" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" "Tämä ongelmaraportti kytkeytyy ohjelmaan, joka ei ole enää asennettu." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "Ongelma koskee ohjelmaa %s, joka on muuttunut kaatumisen jälkeen" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "Tämä ongelman raportti on vahingoittunut, eikä sitä voida käsitellä." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "Raportti liittyy pakettiin, jota ei ole asennettu." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "Virhe käsiteltäessä ongelmaraporttia:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "Paketin tai lähdekoodipaketin nimeä ei voi määrittää." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Selaimen käynnistäminen epäonnistui" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "Verkkoselainta ei saatu käynnistettyä avattaessa sivua %s." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "Ole hyvä ja syötä %s bugi raportointi järjestelmän kirjautumistiedot" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Verkko-ongelma" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "Kaatumistietokantaan ei voi yhdistää. Tarkista Internet-yhteyden toimivuus." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Muisti ei riitä" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "Järjestelmässäsi ei ole tarpeeksi muistia tämän kaatumisraportin käsittelyyn." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "Ongelman raportoiminen ei onnistunut:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Ongelma on jo tiedossa" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "Tämä ongelma raportoitiin jo virheraportissa, joka on näkyvissä selaimessa. " "Tarkista, voisitko lisätä joitakin kehittäjiä auttavaa tietoa." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" "Tästä ongelmasta on jo ilmoitettu kehittäjille. Kiitos kuitenkin " "auttamishalustasi!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "Aloitettu ajo jumiutui erittäin lähellä loppua ja tulee ilmestymään " "suorittuakseen loppuun normaalisti." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Paina mitä tahansa näppäintä jatkaaksesi..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "Kuinka haluat edetä? Vaihtoehdot ovat:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Ole hyvä ja valitse (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i tavua)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "Kun raportti ongelmasta on lähetetty, ole ystävällinen ja täytä selaimeesi\n" "automaattisesti aukeava lomake." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "&Lähetä raportti (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "&Tutki paikallisesti" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "Tarkastele &raporttia" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" "&Säilytä raporttitiedosto myöhemmin lähetettäväksi tai muualle kopioitavaksi" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "Peru ja &jätä jatkossa huomiotta tämän ohjelmaversion kaatumiset" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Peruuta" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Ongelmaraporttitiedosto:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&Vahvista" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Virhe: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "Kerätyt tiedot voidaan lähettää kehittäjille ohjelman parantamiseksi.\n" "Tähän voi mennä muutama minuutti." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "Kerätyt tiedot lähetetään virheseurantajärjestelmään.\n" "Tähän voi mennä muutama minuutti." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Valmis" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "ei mitään" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Valittu: %s. Useita valintoja:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Valinnat:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Polku tiedostoon (Enter peruu):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "Tiedostoa ei ole olemassa." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "Tämä on hakemisto." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "Jatkaaksesi sinun tulee käydä seuraavassa URL-osoitteessa:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "Voit nyt käynnistää selaimen tai kopioida tämän URL-osoitteen selaimeen " "toisella tietokoneella." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Käynnistä selain nyt" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" "Ei odottavia kaatumisraportteja. Kokeile --help saadaksesi lisäinformaatiota." #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "Voit auttaa kehittäjiä korjaaman ongelman ilmoittamalla siitä." #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "Paketin \"%s\" asennus tai päivitys epäonnistui." #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "Täydellinen raportti (suositus; %s)" #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>Lähetetäänkö ongelmaraportti sovelluksen kehittäjille?</b></big>\n" #~ "\n" #~ "Ole hyvä ja täytä automaattisesti selaimeen auennut lomake, kun " #~ "ongelmaraportti on lähetetty." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "Jos et tehnyt mitään luottamuksellista (syöttänyt salasanoja tai muita " #~ "henkilökohtaisia tietoja), voit auttaa kehittämään ohjelmaa raportoimalla " #~ "ongelmasta." #, python-format #~ msgid "Sorry, %s closed unexpectedly" #~ msgstr "Ikävä kyllä %s sulkeutui yllättäen" #~ msgid "Application problem" #~ msgstr "Ongelma sovelluksessa" #~ msgid "&Details..." #~ msgstr "&Yksityiskohdat..." #~ msgid "_Send Report" #~ msgstr "_Lähetä raportti" #~ msgid "Generic error" #~ msgstr "Yleinen virhe" #~ msgid "" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "Kun raportti on lähetetty, ole hyvä ja täytä selaimeesi automaattisesti " #~ "aukeava lomake." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "Jos et ollut tekemässä mitään luottamuksellista (kuten syöttänyt salasanoja " #~ "tai muuta\n" #~ "henkilökohtaista tietoa), voit auttaa ohjelman kehittämisessä raportoimalla\n" #~ "ongelman." #~ msgid "Restart _Program" #~ msgstr "Uudelleenkäynnistä _ohjelma" #, python-format #~ msgid "Sorry, the package \"%s\" failed to install or upgrade." #~ msgstr "Ikävä kyllä paketin \"%s\" asennus tai päivitys epäonnistui." #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">Paketin \"%s\" asennus tai päivitys " #~ "epäonnistui.</span>" #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "&Lähetä täydellinen raportti (suositeltavaa; %s)" #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "Pelkistetty raportti (hidas Internet-yhteys; %s)" #, python-format #~ msgid "Sorry, %s closed unexpectedly." #~ msgstr "Ikävä kyllä %s sulkeutui yllättäen." #~ msgid "_Ignore future crashes of this program version" #~ msgstr "_Jätä tämän ohjelmaversion kaatumiset huomiotta jatkossa" #~ msgid "Restart &Program" #~ msgstr "Käynnistä &ohjelma uudelleen" #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "Lähetä &suppea raportti (hitaille Internet-yhteyksille; %s)" #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "Tämä poistaa joitain isoimpia osuuksia raportista. Osuudet ovat hyödyllisiä " #~ "ohjelman kehittäjille ongelman selvittämisessä mutta et välttämättä halua " #~ "odottaa niiden lähettämistä, jos Internet-yhteytesi on hidas." #~ msgid "&Report Problem..." #~ msgstr "&Raportoi ongelma..." #~ msgid "_Report Problem..." #~ msgstr "_Raportoi ongelma..." #~ msgid "&Send" #~ msgstr "&Lähetä" #~ msgid "Kernel problem" #~ msgstr "Ongelma käyttöjärjestelmän ytimessä" #~ msgid "&Ignore future crashes of this program version" #~ msgstr "Älä huomioi tämän ohjelmaversion kaatumisia jatkossa" #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "Voi auttaa kehittäjiä korjaamaan ongelman raportoimalla ongelmasta." #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "Tämä ei ole alkuperäinen %s-paketti" #, python-format #~ msgid "Sorry, the program \"%s\" closed unexpectedly." #~ msgstr "Ikävä kyllä ohjelma \"%s\" sulkeutui yllättäen." #~ msgid "Content of the report" #~ msgstr "Raportin sisältö" #~ msgid "Package problem" #~ msgstr "Ongelma paketissa" #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "Järjestelmässä tapahtui vakava ydinongelma." #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Tämä tapahtui viimeisen keskeytyksen aikana ja esti sitä jatkamasta " #~ "asianmukaisesti." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Tämä tapahtui viimeisen horrostilan aikana ja esti sitä jatkamasta " #~ "asianmukaisesti." #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "" #~ "virheellinen lukumäärä argumentteja; käytä --help:iä saadaksesi lyhyesti apua" #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "" #~ "sinun tarvitsee tehdä joko paikallinen operaatio (-s, -g, -o) tai toimittaa " #~ "varmennustiedosto (--auth); katso --help saadaksesi lyhyesti apua" #~ msgid "Send this data to the developers?" #~ msgstr "Lähetetäänkö nämä tiedot kehittäjille?" #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s sulkeutui yllättäen %s %s." #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [valinnat] <tasaa ongelmaraportti | kaatumistunniste>" #, python-format #~ msgid "Sorry, the application %s has closed unexpectedly." #~ msgstr "Valitettavasti sovellus %s sulkeutui odottamatta." #~ msgid "Your system might become unstablenow and might need to be restarted." #~ msgstr "" #~ "Järjestelmäsi saattaa tulla epävakaaksi ja vaatia uudelleenkäynnistystä." �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/fr.po������������������������������������������������������������������������������0000644�0000000�0000000�00000143115�12677230222�012624� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# French translation for apport # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-12-23 11:09+0000\n" "Last-Translator: Anne <anneonyme017@gmail.com>\n" "Language-Team: French <fr@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: fr\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "Apport" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "Annuler" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "Accepter" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Rapport de plantage" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>Désolé, une erreur interne s'est produite !</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" "En cas de nouveaux problèmes, essayez de redémarrer votre ordinateur." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "Envoyer un rapport d'anomalie pour aider à résoudre ce problème" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "Ignorer les problèmes futurs de cette version du programme" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Afficher les détails" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "_Examiner en local" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Laisser fermé" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Continuer" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>Collecte des informations liées au problème</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "Des informations sont collectées qui pourraient aider les développeurs à " "corriger le problème que vous rapportez." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "Téléversement des informations liées au problème" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>Téléversement des informations liées au problème</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "Les données collectées sont transmises au système de suivi des bogues. Ceci " "peut prendre quelques minutes." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Fichier de plantage Apport" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(données binaires)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "Désolé, l'application %s s'est arrêtée de façon inattendue." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "Désolé, %s a quitté de façon inattendue." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "Désolé, %s a rencontré une erreur interne." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Envoyer un rapport d'anomalie aux développeurs ?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Envoyer" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "Fermée de force" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Relancer" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "L'application %s a cessé de répondre." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "Le programme « %s » a cessé de répondre." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Paquet : %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "Désolé, une erreur est survenue lors de l'installation du logiciel." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "L'application %s a subi une erreur interne." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "L'application %s a quitté de façon inattendue." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "Ignorer les prochains problèmes de ce genre" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Masquer les détails" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Utilisation : %s <rapport> <dossier cible>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "Le dossier de destination existe déjà et n'est pas vide." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "Nom d'utilisateur :" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "Mot de passe :" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "Collecte des informations liées au problème" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Collecte des informations liées au problème" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "Les informations collectées peuvent être envoyées aux développeurs pour " "améliorer l'application. Cela peut prendre quelques minutes." #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "Téléversement des informations liées au problème" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Collecter des informations à propos du système" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "Une authentification est nécessaire pour collecter l'information système " "requise pour ce rapport de bogue" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "Rapports de problèmes système" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" "Veuillez saisir votre mot de passe pour accéder à des rapports de problèmes " "de programmes système" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Signaler un problème..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Signaler un dysfonctionnement aux développeurs" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "Voir la page de manuel pour plus de détails." #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "spécifier le nom du fichier journal produit par valgrind" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" "réutiliser un répertoire de bac à sable (« sandbox ») (SDIR) créé " "précédemment ou, s'il n'existe pas, le créer" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" "ne pas créer ou réutiliser un répertoire de bac à sable pour des symboles " "additionnels de débogage, mais s'appuyer seulement sur les symboles de " "débogage installés." #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" "réutiliser un répertoire de cache (CDIR) précédemment créé ou, s'il n'existe " "pas, le créer" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" "afficher la progression du téléchargement et de l'installation lors de " "l'installation de paquets dans le bac à sable (« sandbox »)" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" "l'exécutable lancé dans l'outil de vérification de la mémoire de valgrind " "pour détecter une fuite de mémoire." #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" "Installer un paquet supplémentaire dans le bac à sable (peut être spécifié " "plusieurs fois)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "Erreur : %s n'est pas un exécutable. Arrêt." #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" "Votre système peut maintenant devenir instable et nécessiter un redémarrage." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" "Ne pas placer les nouvelles « traces » dans le rapport, mais les écrire sur " "la sortie standard." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "Démarrer une session gdb interactive avec l'image système du rapport (-o " "ignoré ; ne réécrit pas le rapport)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "Écrire le rapport modifié dans le fichier donné au lieu de changer le " "rapport original." #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" "Supprimer l'image système du rapport après régénération de la trace de la " "pile" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "Écraser le fichier core du rapport" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "Écraser le chemin de l'exécutable du rapport" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "Écraser la mappe des processus du rapport" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "Reconstruire les informations sur les paquets du rapport" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" "Mettre en place un bac à sable temporaire et y télécharger/installer les " "paquets et les symboles de débogage nécessaires ; sans cette option, les " "paquets et les symboles de débogage nécessaires seront supposés être déjà " "installés sur le système. L'argument pointe vers le dossier de configuration " "de base du système de création de paquets ; si vous spécifiez « system », " "les fichiers de configuration du système seront utilisés, mais seuls les " "plantages de la version en cours d'exécution pourront être tracés." #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" "Signaler l'avancement du téléchargement/de l'installation lors de " "l'installation de paquets dans le bac à sable." #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" "Préfixer un horodatage aux messages de journal, pour un traitement par lots" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" "Créer et utiliser les dépôts tiers à partir des origines spécifiées dans les " "rapports" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "Répertoire de cache pour les paquets téléchargés dans le bac à sable" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" "Répertoire pour les paquets décompressés. Les exécutions futures présumeront " "qu'un paquet déjà téléchargé sera aussi extrait dans ce bac à sable." #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" "Chemin d'un fichier contenant les informations d'authentification de la base " "de données des plantages. Ceci est utilisé lorsque l'on spécifie un ID de " "plantage pour téléverser les traces de la pile retracées (seulement si -g, -" "o ou -s ne sont pas spécifiés)" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "Afficher les traces de la pile retracées et demander une confirmation avant " "de les envoyer à la base de données des plantages." #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" "Chemin de la copie de la base de données sqlite (par défaut : pas de " "vérification de la copie)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "Vous ne pouvez pas utiliser -C sans -S. Arrêt." #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "D'accord pour envoyer ceci comme pièces jointes ? [y/n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "Ce paquet ne semble pas installé correctement." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "Ce paquet n'est pas officiellement pris en charge par %s. Veuillez " "désinstaller tout paquet tiers et réessayer." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "Les versions installées de certains paquets sont obsolètes. Veuillez mettre " "à niveau les paquets suivants, puis vérifier si le problème est toujours " "présent :\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "programme inconnu" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Désolé, le programme « %s » a quitté de façon inattendue" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Problème dans %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "Votre ordinateur ne possède pas suffisamment de mémoire libre pour analyser " "automatiquement le problème et envoyer un rapport aux développeurs." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Rapport d'anomalie non valide" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "Vous n'êtes pas autorisé à accéder à ce rapport d'anomalie." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Erreur" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" "Il n'y a pas assez d'espace disque disponible pour traiter ce rapport." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "Aucun paquet spécifié" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "Vous devez préciser un paquet ou un PID. Utilisez --help pour plus " "d'informations." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Autorisation refusée" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "Le processus spécifié ne vous appartient pas. Veuillez exécuter ce programme " "en tant que propriétaire du processus ou en tant que super-utilisateur " "(root)." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "PID non valide" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "L'ID de processus spécifié n'appartient à aucun programme." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "Le script %s n'a pas pu déterminer un paquet affecté" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "Le paquet %s n'existe pas" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "Impossible de créer le rapport" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "Mise à jour du rapport d'anomalie" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "Vous n'avez pas rapporté ce problème ou n'y êtes pas abonné, ou le rapport " "est un doublon ou déjà fermé.\n" "\n" "Veuillez créer un nouveau rapport en utilisant « apport-bug »." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "Vous n'êtes pas le rédacteur de ce rapport d'anomalie. Il est bien plus " "facile de marquer un bogue comme doublon que de déplacer vos commentaires et " "pièces jointes vers un nouveau bogue.\n" "\n" "Par conséquent, nous vous recommandons de compléter un nouveau rapport de " "bogue en utilisant « apport-bug » et de laisser un commentaire dans le bogue " "initial.\n" "\n" "Voulez-vous vraiment continuer ?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "Aucune information supplémentaire n'a été collectée." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "Quel type de problème voulez-vous signaler ?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Symptôme inconnu" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "Le symptôme « %s » est inconnu." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "Après avoir fermé ce message, veuillez cliquer sur la fenêtre de " "l'application pour laquelle vous voulez signaler un problème." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "xprop n'a pas pu déterminer l'ID du processus de la fenêtre" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "%prog <numéro du rapport>" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "Veuillez indiquer le nom du paquet." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" "Ajouter un marqueur supplémentaire pour le rapport. Peut être spécifié " "plusieurs fois." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Démarre en mode signalement de bogue. Nécessite l'argument --package et --" "pid en option, ou simplement --pid. Si aucun n'est fournit, affiche une " "liste de symptômes connus. (Implicite si un seul argument est fournit.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" "Cliquez sur la fenêtre pour laquelle vous voulez signaler un problème." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" "Démarrer en mode de mise à jour de bogue. Accepte l’option --package." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "Rédiger un rapport de bogue concernant un symptôme. (Implicite si le nom du " "symptôme est donné comme unique argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "Spécifier un nom de paquet dans le mode --file-bug. Ceci est optionnel si un " "--pid est spécifié. (Implicite si le nom du paquet est donné comme unique " "argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "Spécifier un programme s'exécutant en mode « --file-bug ». Si ceci est " "spécifié, le rapport de bogue contiendra davantage d'informations. " "(implicite si l’identifiant du processus est passé comme unique argument)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "Le pid fourni est une application qui ne répond pas." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "Signaler le plantage à partir d'un fichier .apport ou .crash donné plutôt " "qu'à partir de ceux en attente dans %s. (Implicite si le fichier est donné " "comme unique argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" "En mode de signalement de bogue, enregistre les informations collectées dans " "un fichier au lieu de générer un rapport. Ce fichier pourra être utilisé " "plus tard à partir d'une autre machine pour envoyer un rapport." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Afficher le numéro de version d'Apport." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" "Cela va lancer apport-retrace dans une fenêtre de terminal pour examiner le " "plantage." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "Lancer une session gdb" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "Exécuter la session gdb sans télécharger les symboles de débogage" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "Mettre %s à jour avec une trace de pile entièrement symbolique" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" "Ce rapport d'anomalie fait référence à un logiciel qui n'est plus installé." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" "Le problème concerne le programme %s qui a changé depuis le plantage." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "Ce rapport d'anomalie est endommagé et ne peut pas être traité." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "Le rapport fait référence à un paquet non installé." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" "Une erreur est survenue lors du traitement de ce rapport d'anomalie :" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "Impossible de déterminer le nom du paquet ou du paquet source." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Impossible de lancer le navigateur Web" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "Impossible de lancer le navigateur Web pour ouvrir %s." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" "Veuillez saisir les informations de votre compte pour le système de suivi " "des bogues %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Problème de réseau" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "Impossible de se connecter à la base de données des plantages. Veuillez " "vérifier votre connexion Internet." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Mémoire saturée" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "Votre système n'a pas assez de mémoire pour traiter ce rapport de plantage." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "Le problème ne peut pas être signalé :\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Problème déjà connu" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "Ce problème a déjà fait l'objet du rapport de bogue affiché dans le " "navigateur Web. Veuillez vérifier si vous pouvez ajouter des informations " "complémentaires susceptibles d'aider les développeurs." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "Ce problème a déjà été signalé aux développeurs. Merci !" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" "Cela s'est produit lors d'une mise en veille précédente et a empêché la " "bonne reprise du système." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" "Cela s'est produit lors d'une mise en veille prolongée précédente et a " "empêché la bonne reprise du système." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "Le processus de sortie de veille a bloqué juste avant la fin et apparaîtra " "comme ayant terminé normalement." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Appuyer sur une touche pour continuer…" #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "Que voulez-vous faire ? Les choix possibles sont :" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Faites un choix (%s) :" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i octets)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "Après l'envoi du rapport d'anomalie, veuillez compléter le formulaire\n" "dans le navigateur Web ouvert automatiquement." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "&Envoyer le rapport (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "E&xaminer en local" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "&Voir le rapport" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" "&Conserver le fichier du rapport pour l'envoyer ultérieurement ou le copier " "quelque part" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" "Annuler et &ignorer les plantages futurs de cette version du programme" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Annuler" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Fichier du rapport d'anomalie :" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&Confirmer" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Erreur : %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "Les informations collectées peuvent être envoyées aux développeurs pour\n" "améliorer l'application. Cela peut prendre quelques minutes." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "Les informations collectées sont envoyées au système de suivi de bogues.\n" "Cela peut prendre quelques minutes." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Terminé" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "aucun" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Sélectionné : %s. Choix multiples :" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Choix :" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Chemin du fichier (Entrée pour annuler) :" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "Le fichier n'existe pas." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "Ceci est un répertoire." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "Pour continuer, vous devez visiter l'adresse suivante :" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "Vous pouvez lancer un navigateur maintenant, ou copier cette adresse dans un " "navigateur sur un autre ordinateur." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Lancer un navigateur Web maintenant" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" "Aucun rapport de plantage en attente. Essayer --help pour plus " "d'informations." #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "Rapport complet (recommandé ; %s)" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "Si vous ne faisiez rien de confidentiel (saisie de mots de passe ou " #~ "d'informations privées), vous pouvez aider à améliorer l'application en " #~ "signalant le problème." #~ msgid "_Send Report" #~ msgstr "_Envoyer le rapport" #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s a quitté de manière inattendue le %s à %s" #~ msgid "Restart _Program" #~ msgstr "Relancer le _programme" #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "&Envoyer un rapport complet (recommandé ; %s)" #~ msgid "_Ignore future crashes of this program version" #~ msgstr "_Ignorer les prochains plantages de cette version du programme" #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "Envoyer un rapport ab&régé (connexion Internet lente ; %s)" #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "Des parties volumineuses vont être supprimées du rapport. Elles sont très " #~ "utiles aux développeurs pour résoudre le problème, mais peuvent se révéler " #~ "trop lourdes lors de leur transmission si vous ne disposez que d'une " #~ "connexion Internet bas débit." #~ msgid "_Report Problem..." #~ msgstr "Signaler ce p_roblème..." #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "" #~ "Vous pouvez aider les développeurs à résoudre le problème en le signalant." #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "Ceci n'est pas un authentique paquet %s" #~ msgid "Content of the report" #~ msgstr "Contenu du rapport" #~ msgid "Package problem" #~ msgstr "Problème de paquet" #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "Un problème sérieux avec le noyau s'est produit sur votre système." #~ msgid "Application problem" #~ msgstr "Problème logiciel" #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [options] <apport problem report | crash ID>" #~ msgid "&Report Problem..." #~ msgstr "&Signaler le problème..." #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "" #~ "Vous pouvez aider les développeurs à corriger ce problème en le signalant." #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "Rapport abrégé (connexion Internet lente ; %s)" #~ msgid "Kernel problem" #~ msgstr "Problème de noyau" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "Si vous ne faisiez rien de confidentiel (saisie de mots de passe ou " #~ "d'autres\n" #~ "informations privées), vous pouvez aider à améliorer l'application en " #~ "signalant\n" #~ "le problème." #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "L'installation ou la mise à niveau du paquet « %s » a échoué." #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">Désolé, échec lors de l'installation " #~ "ou de la mise à niveau du paquet « %s ».</span>" #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "" #~ "Vous devez faire une opération locale (-s, -g, -o) ou fournir un fichier " #~ "d'authentification (--auth) ; voir --help pour une aide succincte" #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>Envoyer un rapport d'incident aux développeurs ?</b></big>\n" #~ "\n" #~ "Une fois le rapport envoyé, veuillez remplir le formulaire affiché " #~ "automatiquement dans votre navigateur Web." #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Cela s'est produit lors d'une précédente mise en veille, l'empêchant de " #~ "reprendre correctement." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Cela s'est produit lors d'une précédente hibernation, l'empêchant de " #~ "reprendre correctement." #, python-format #~ msgid "Sorry, the application %s has closed unexpectedly." #~ msgstr "Désolé, l'application %s a quitté de façon inattendue." #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "" #~ "nombre d'arguments incorrects ; utilisez --help pour une aide succincte" #~ msgid "Your system might become unstablenow and might need to be restarted." #~ msgstr "" #~ "Votre système pourrait devenir instable et nécessiter un redémarrage." ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/fr_CA.po���������������������������������������������������������������������������0000644�0000000�0000000�00000132253�12677230222�013170� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# French (Canada) translation for apport # Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2014. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:45+0000\n" "Last-Translator: Martin Pitt <martin.pitt@ubuntu.com>\n" "Language-Team: French (Canada) <fr_CA@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:19+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: \n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "Apport" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "Annuler" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "OK" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Rapport de plantage" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>Désolé, une erreur interne est survenue!</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" "Si vous continuez à remarquer des problèmes, essayez de redémarrer " "l'ordinateur." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "Envoyer un rapport d'erreur pour aider à corriger ce problème" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "Ignorer les problèmes futurs de cette version du programme" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Montrer les détails" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "_Examiner localement" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Laisser fermé" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Continuer" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>Collecte des informations sur le problème</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "Des informations sont collectées qui pourraient aider les développeurs à " "corriger le problème que vous rapportez." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "Téléversement des informations du problème" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>Téléversement des informations sur le problème</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "Les données collectées sont transmises au gestionnaire de bogues. Ceci peut " "prendre quelques minutes." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Fichier de plantage Apport" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(données binaires)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "Désolé, l'application %s s'est arrêtée de manière inattendue." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "Désolé, %s s'est fermé de manière inattendue." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "Désolé, %s a rencontré une erreur interne." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Envoyer un rapport de problème aux développeurs?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Envoyer" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "Fermée de force" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Relancer" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "L'application %s a cessé de répondre." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "Le programme « %s » a cessé de répondre." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Paquet : %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "Désolé, une erreur est survenue durant l'installation d'un logiciel." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "L'application %s a rencontré une erreur interne." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "L'application %s a quitté de façon inattendue." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "Ignorer les problèmes futurs de ce type" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Masquer les détails" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Utilisation : %s <rapport> <répertoire cible>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "Le répertoire de destination existe et n'est pas vide." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "Nom d'utilisateur :" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "Mot de passe :" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "Collecte des informations du problème" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Collecte des informations du problème" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "Les informations collectées peuvent être envoyées aux développeurs pour " "améliorer l'application. Ceci peut prendre quelques minutes." #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "Téléversement des informations du problème" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Collecter des informations sur le système" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "Une authentification est exigée pour collecter des informations sur le " "système pour ce rapport de bogue" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "Rapports de problèmes systèmes" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" "Veuillez saisir votre mot de passe pour accéder aux rapports de problèmes " "des programmes systèmes" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Rapporter un problème..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Rapporter un dysfonctionnement aux développeurs" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "Voir la page man pour plus de détails." #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "spécifier le nom du fichier journal produit par valgrind" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" "réutiliser un répertoire de bac à sable (SDIR) créé précédemment ou, s'il " "n'existe pas, le créer" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" "ne pas créer ou réutiliser un répertoire de bac à sable pour des symboles " "additionnels de débogage, mais s'appuyer seulement sur les symboles de " "débogage installés." #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" "réutiliser un répertoire de cache (CDIR) précédemment créé ou, s'il n'existe " "pas, le créer" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" "rapporter la progression du téléchargement/installation lors de " "l'installation de paquets dans le bac à sable" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" "l'exécutable lancé dans l'outil de vérification de la mémoire de valgrind " "pour détecter les fuites de mémoire." #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" "Installer un paquet supplémentaire dans le bac à sable (peut être spécifié " "plusieurs fois)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "Erreur : %s n'est pas un exécutable. Arrêt." #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" "Votre système pourrait maintenant devenir instable et nécessiter un " "redémarrage." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" "Ne pas mettre les nouvelles traces dans le rapport, mais les écrire vers " "stdout." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "Démarrer une session gdb interactive avec l'image système du rapport (-o " "ignoré; ne réécrit pas le rapport)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "Écrire le rapport modifié dans le fichier donné au lieu de changer le " "rapport original." #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" "Enlever l'image système du rapport après régénération de la trace de la pile" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "Écraser le fichier core du rapport" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "Écraser le chemin de l'exécutable du rapport" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "Écraser la mappe des processus du rapport" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "Reconstruire les informations sur les paquets du rapport" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" "Construire un bac à sable temporaire et y télécharger/installer les paquets " "et les symboles de débogage nécessaires; sans cette option, il est supposer " "que les paquets et les symboles de débogage sont déjà installés sur le " "système. L'argument pointe vers le dossier de configuration de base du " "système de paquets; si vous spécifiez « system », les fichiers de " "configuration du système seront utilisés, mais seuls les plantages de la " "version en cours d'exécution pourront être retracés." #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" "Signaler l'avancement du téléchargement/de l'installation lors de " "l'installation de paquets dans le bac à sable." #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" "Ajouter un horodatage au début des messages de journal, pour un traitement " "par lots" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" "Créer et utiliser les dépôts tiers à partir des origines spécifiées dans les " "rapports" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "Répertoire de cache pour les paquets téléchargés dans le bac à sable" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" "Répertoire pour les paquets décompressés. Les exécutions futures supposeront " "qu'un paquet déjà téléchargé est aussi extrait dans ce bac à sable." #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" "Chemin d'un fichier contenant les informations d'authentification de la base " "de données des plantages. Ceci est utilisé lorsque l'on spécifie un ID de " "plantage pour téléverser les traces de la pile retracées (seulement si -g, -" "o ou -s ne sont pas spécifiés)" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "Afficher les traces de la pile retracées et demander une confirmation avant " "de les envoyer à la base de données des plantages." #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" "Chemin de la copie de la base de données sqlite (par défaut : pas de " "vérification de la copie)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "Vous ne pouvez pas utiliser -C sans -S. Arrêt." #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "OK pour envoyer ceci comme pièces jointes? [y/n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "Ce paquet ne semble pas être installé correctement." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "Ce n'est pas un paquet officiel %s. Veuillez enlever tout paquet tiers et " "ressayer." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "Vous avez certaines versions de paquets obsolètes d'installées. Veuillez " "mettre à niveau les paquets suivants et vérifier si le problème se présente " "toujours :\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "programme inconnu" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Désolé, le programme « %s » s'est fermé de façon inattendue" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Problème dans %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "Votre ordinateur n'a pas assez de mémoire libre pour analyser " "automatiquement le problème et envoyer un rapport aux développeurs." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Rapport de problème invalide" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "Vous n'êtes pas autorisé à accéder à ce rapport de problème." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Erreur" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" "Il n'y a pas assez d'espace disque disponible pour traiter ce rapport." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "Aucun paquet spécifié" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "Vous devez préciser un paquet ou un PID. Voir --help pour plus " "d'informations." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Permission refusée" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "Le processus spécifié ne vous appartient pas. Veuillez exécuter ce programme " "en tant que propriétaire du processus ou en tant que root." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "PID invalide" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "L'ID de processus spécifié n'appartient à aucun programme." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "Le script symptome %s n'a pas déterminé un paquet affecté" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "Le paquet %s n'existe pas" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "Impossible de créer le rapport" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "Mise à jour du rapport de problème" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "Vous n'avez pas rapporté ce problème ou n'y êtes pas abonné, ou le rapport " "est un doublon ou déjà fermé.\n" "\n" "Veuillez créer un nouveau rapport en utilisant « apport-bug »." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "Vous n'avez pas rapporté ce problème. Il est bien plus facile de marquer un " "bogue comme doublon d'un autre que de déplacer vos commentaires et pièces " "jointes vers un nouveau bogue.\n" "\n" "Par la suite, nous vous recommandons de compléter un nouveau rapport de " "bogue en utilisant « apport-bug » et de laisser un commentaire dans le bogue " "initial à propos de celui que vous avez rempli.\n" "\n" "Voulez-vous vraiment continuer?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "Aucune autre information n'a été collectée." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "Quel sorte de problème voulez-vous rapporter?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Symptôme inconnu" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "Le symptôme « %s » est inconnu." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "Après avoir fermé ce message, veuillez cliquer sur la fenêtre de " "l'application pour laquelle vous voulez rapporter un problème." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "xprop n'a pas pu déterminer l'ID du processus de la fenêtre" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "%prog <numéro du rapport>" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "Spécifier le nom du paquet." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" "Ajouter une balise supplémentaire au rapport. Peut être spécifié plusieurs " "fois." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Démarrer en mode de rapport de bogue. --package est nécessaire et --pid en " "option, ou juste --pid. Si aucun n'est donné, afficher une liste de " "symptômes connus. (Implicite si un seul argument est donné.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "Cliquer sur une fenêtre qui sera la cible du rapport de problème." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" "Démarrer en mode de mise à jour de bogue. Accepte l’option --package." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "Rédiger un rapport de bogue sur un symptôme. (Implicite si le nom du " "symptôme est donné comme seul argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "Spécifier un nom de paquet dans le mode --file-bug. Ceci est optionnel si un " "--pid est spécifié. (Implicite si le nom du paquet est donné comme seul " "argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "Spécifier un programme en cours en mode --file-bug. Si ceci est spécifié, le " "rapport de bogue contiendra plus d'informations. (implicite si le pid est " "donné comme seul argument)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "Le pid fourni est une application bloquée." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "Signaler le plantage à partir d'un fichier .apport ou .crash donné plutôt " "qu'à partir de ceux en attente dans %s. (Implicite si le fichier est donné " "comme seul argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" "En mode de rédaction de bogue, enregistrer les informations collectées dans " "un fichier au lieu de les rapporter. Ce fichier pourra alors être rapporter " "plus tard à partir d'une machine différente." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Imprimer le numéro de version d'Apport." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" "Ceci lancera apport-retrace dans une fenêtre de terminal pour examiner le " "plantage." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "Exécuter une session gdb" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "Exécuter une session gdb sans télécharger les symboles de débogage" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "Mettre %s à jour avec une trace de pile entièrement symbolique" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "Ce rapport de problème concerne un logiciel qui n'est plus installé." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" "Le problème est survenu avec le programme %s qui a changé depuis le plantage." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "Ce rapport de problème est endommagé et ne peut pas être traité." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "Le rapport appartient à un paquet qui n'est pas installé." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" "Une erreur est survenue lors du traitement de ce rapport de problème :" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "Impossible de déterminer le nom du paquet ou du paquet source." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Impossible de démarrer le navigateur Web" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "Impossible de démarrer le navigateur Web pour ouvrir %s." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" "Veuillez saisir les informations de votre compte pour le gestionnaire de " "bogues %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Problème de réseau" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "Impossible de se connecter à la base de données des plantages. Veuillez " "vérifier votre connexion Internet." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Mémoire pleine" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "Votre système n'a pas assez de mémoire pour traiter ce rapport de plantage." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "Le problème ne peut pas être signalé :\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Problème déjà connu" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "Ce problème a déjà fait l'objet du rapport de bogue affiché dans le " "navigateur Web. Veuillez vérifier si vous pouvez ajouter des informations " "complémentaires susceptibles d'aider les développeurs." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "Ce problème a déjà été rapporté aux développeurs. Merci!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" "Cela s'est produit lors d'une mise en veille précédente et a empêché la " "reprise correcte du système." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" "Cela s'est produit lors d'une mise en veille prolongée précédente et a " "empêché la reprise correcte du système." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "Le processus de sortie de veille a bloqué juste avant la fin et apparaîtra " "comme ayant terminé normalement." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Peser sur une touche pour continuer…" #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "Que voudriez-vous faire? Les options sont :" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Veuiilez choisir (%s) :" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i octets)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "Après l'envoi du rapport de problème, veuillez compléter le formulaire\n" "dans le navigateur Web ouvert automatiquement." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "&Envoyer le rapport (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "&Examiner localement" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "&Voir le rapport" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" "&Garder le fichier du rapport pour un envoi ultérieur ou pour le copier " "ailleurs" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" "Annuler et &ignorer les plantages futurs de cette version du programme" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Annuler" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Fichier du rapport de problème :" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&Confirmer" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Erreur : %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "Les informations collectées peuvent être envoyées aux développeurs pour\n" "améliorer l'application. Ceci pourrait prendre quelques minutes." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "Les informations collectées sont envoyées au gestionnaire de bogues.\n" "Ceci pourrait prendre quelques minutes." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Effectué" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "aucun" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Choisinbsp]: %s. Choix multiples :" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Choix :" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Chemin du fichier (Entrée pour annuler) :" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "Le fichier n'existe pas." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "Ceci est un répertoire." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "Pour continuer, vous devez visiter l'URL suivante :" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "Vous pouvez lancer un navigateur maintenant, ou copier cette URL dans un " "navigateur sur un autre ordinateur." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Lancer un navigateur maintenant" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" "Aucun rapport de plantage en attente. Essayer --help pour plus " "d'informations." #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [options] <apport problem report | crash ID>" #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "nombre d'arguments incorrects; utiliser --help pour une aide brève" #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Ceci est arrivé durant une mise en veille précédente et l'a empêché d'en " #~ "sortir correctement." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Ceci est arrivé durant une mise en veille prolongée précédente et l'a " #~ "empêché d'en sortir correctement." #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "" #~ "vous devez soit faire une opération locale (-s, -g, -o), soit fournir un " #~ "fichier d'authentification (--auth) ; voir --help pour une aide brève" #~ msgid "Your system might become unstablenow and might need to be restarted." #~ msgstr "" #~ "Votre système pourrait maintenant devenir instable et pourrait avoir besoin " #~ "d'être redémarré." �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/ga.po������������������������������������������������������������������������������0000644�0000000�0000000�00000100072�12677230222�012577� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Irish translation for apport # Copyright (c) 2006 Rosetta Contributors and Canonical Ltd 2006 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2011-10-07 06:10+0000\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: Irish <ga@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: ga\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "" #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "" #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/gd.po������������������������������������������������������������������������������0000644�0000000�0000000�00000134241�12677230222�012607� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Gaelic; Scottish translation for apport # Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2011. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:46+0000\n" "Last-Translator: Martin Pitt <martin.pitt@ubuntu.com>\n" "Language-Team: Gaelic; Scottish <gd@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: \n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "Sguir dheth" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "Ceart ma-thà" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Aithris tuislidh" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "" "<big><b>Tha sinn duillich ach thachair mearachd inntearnail.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" "Ma mhothaicheas tu do dhuilgheadasan eile, feuch is ath-thòisich an " "coimpiutair." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" "Cuir thugainn aithris air a' mhearachd seo gus taic a chumail rinn 'ga " "chàraidh" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "" "Leig seachad duilgheadas an tionndaidh seo dhen phrògram san àm ri teachd" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Seall am mion-fhiosrachadh" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "_Sgrùd e gu h-ionadail" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Fàg dùinte e" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Lean air adhart" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>A' cruinneachadh fiosrachadh mun duilgheadas</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "Tha sinn a' cruinneachadh fiosrachadh a dh'fhaodadh a bhith cuideachail dhan " "luchd-leasachaidh a' càradh an duilgheadais a rinn thu aithris air." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "A' luchdadh suas fiosrachadh mun duilgheadas" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>A' luchdadh suas fiosrachadh mun duilgheadas</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "Tha am fiosrachadh a chaidh a chruinneachadh ga chur gu siostam tracadh nam " "bugaichean. Dh'fhaoidte gum feum seo beagan mhionaidean." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Faidhle tuislidh Apport" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(dàta bìnearaidh)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "Tha sinn duilich ach stad an aplacaid %s gu h-obann." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "Tha sinn duilich ach dhùin %s gu h-obann." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "Tha sinn duilich, thachair mearachd inntearnail ann an %s." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "" "A bheil thu airson aithris mun duilgheadas a chur gun luchd-leasachaidh?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "Sparr air dùnadh" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "Chan eil an aplacaid \"%s\" a' freagairt tuilleadh." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "Chan eil am prògram \"%s\" a' freagairt tuilleadh." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "" "Tha sinn duilich, dh'èirich duilgheadas nuair a bha sinn a' stàladh a' " "bhathair-bhog." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "Thachair an aplacaid %s ri mearachd inntearnail." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "Dhùin an aplacaid %s gu h-obann." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "Leig seachad duilgheadasan dhen t-seòrsa seo san àm ri teachd" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Falaich am mion-fhiosrachadh" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Pàtran: %s <report> <target directory>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "Tha am pasgan sin sa cheann-uidhe mu thràth 's chan eil e falamh." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "A' cruinneachadh fiosrachadh mun duilgheadas" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "A' cruinneachadh fiosrachadh mun duilgheadas" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "'S urrainn dhut am fiosrachadh a chaidh a chruinneachadh a chur dhan luchd-" "leasachaidh airson 's gun urrainn dhaibh an aplacaid a leasachadh. " "Dh'fhaoidte gum feum seo beagan mhionaidean." #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "A' luchdadh suas fiosrachadh mun duilgheadas" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Cruinnich fiosrachaidh mun t-siostam" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "Tha feum air dearbhadh mus urrainn dhuinn fiosrachadh a chruinneachadh mun t-" "siostam airson na h-aithrise seo" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "Aithrisean air duilgheadasan an t-siostaim" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" "Cuir a-steach am facal-faire agad gus cothrom fhaighinn air aithrisean mu " "dhèidhinn duilgheadas a bha aig prògraman a t-siostaim" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Dèan aithris air duilgheadas..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Dèan aithris air mearachd dhan luchd-leasachaidh" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "Faic duilleag na treòire airson mion-fhiosrachadh." #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "sònraich ainm faidhle an loga a rinn valgrind" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" "Cleachd Sandbox Dir (SDIR) a-rithist a chaidh a chruthachadh roimhe no, mur " "eil e ann, cruthaich e" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" "na cruthaich 's na cleachd Sandbox Directory a-rithist airson samhlaidhean " "dì-bhugachaidh a bharrachd is cleachd dìreach an fheadhainn a tha stàlaichte." #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" "Cleachd Cache Dir (CDIR) a-rithist a chaidh a chruthachadh roimhe no, mur " "eil e ann, cruthaich e" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" "seall adhartas an luchdaidh a-nuas/an stàlaidh nuair a stàlaichear pacaidean " "sa bhogsa-ghainmhich" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" "an executable a thèid a ruith fo inneal sgrùdadh na cuimhne aig valgrind " "airson greim fhaighinn air aoidion cuimhne" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" "Stàlaich pacaid a bharrachd san bhogsa-ghainmhich (gabhaidh seo a " "shònrachadh iomadh turas)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "Mearachd: Chan eil %s 'na rud so-ghnìomhaichte. A' sgur dheth." #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" "Dh'fhaoidte gum fàs an siostam agad neo-sheasmhach a-nis is gum b' fheairrde " "dhut ath-thòiseachadh." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "Na cuir na traces ùra dhan aithris ach sgrìobh iad ann an stdout." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "Tòisich air seisean gdb eadar-ghnìomhach le core dump na h-aithrise (-o air " "a leigeil seachad; cha dèan e ath-sgrìobhadh na h-aithrise)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "Sgrìobh an aithris atharraichte san fhaidhle a tha ann 's na atharraich an " "aithris thùsail" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" "Thoir air falbh an core dump às an aithris às dèidh ath-ghintinn an stack " "trace" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "Tar-àithn CoreFile na h-aithrise" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "Tar-àithn ExecutablePath na h-aithrise" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "Tar-àithn ProcMaps na h-aithrise" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "Ath-thog fiosrachadh pacaid na h-aithrise" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" "Tog bogsa-gainmhich sealach is luchdaich a-nuas/stàlaich na pacaidean is " "samhlaidhean dì-bhugachaidh air a bheil feum ann; as aonais na roghainn seo, " "tuigear dheth gun deach na pacaidean is samhlaidhean dì-bhugachaidh " "iomchaidh a stàladh air an t-siostam mu thràth. Tha an argamaid seo a' " "tomhadh ris a' bhun-phasgan aig rèiteachadh siostam nam pacaidean; ma " "shònraicheas tu \"system\", cleachdaidh e faidhlichean rèiteachaidh an t-" "siostaim ach ma nì thu sin, chan urrainn dha retrace a dhèanamh air " "tuislidhean ach feadhainn san sgaoileadh a tha a' ruith an-dràsta fhèin." #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" "Seall adhartas an luchdaidh a-nuas/an stàlaidh nuair a stàlaichear pacaidean " "sa bhogsa-ghainmhich" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" "Cuir stampa-ama air beulaibh teachdaireachdan an loga, airson gnìomhachadh " "batch" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" "Cruthaich is cleachd ionadan-tasgaidh le treas-phàrtaidhean o thùsan a " "chaidh a shònrachadh ann an aithrisean" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" "Pasgan an tasgadain airson pacaidean a chaidh a luchdadh a-nuas dhan bhogsa-" "ghainmhich" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" "Am pasgan airson pacaidean a chaidh fhosgladh. Tuigear dheth ann an ruith " "sam bith o seo a-mach gun dèid pacaid sam bith a chaidh a luchdadh a-nuas " "fhosgladh 's a chur dhan bhogsa-ghainmhich seo mu thràth." #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" "Slighe gu faidhle sa bheil am fiosrachadh airson dearbhadh aig stòr-dàta nan " "tuislidhean. Tha seo 'ga chleachdadh nuair a shònraichear ID tuislidh gus na " "retraced stack traces a luchdadh suas (dìreach mur an deach -g, -o no -s a " "shònrachadh)" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "Seall na retraced stack traces is faighnich dhìom mus dèid an cur gu stòr-" "dàta nan tuislidhean." #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" "An t-slighe gun stòr-dàta sqlite dùblaichte (bun-roghainn: cha doirear sùil " "a bheil iad dùblaichte)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "Chan urrainn dhut -C a chleachdadh às aonais -S. A' stad." #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "A bheil e ceart gu leòr an cur mar cheanglachain? [y/n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "Tha coltas nach deach a' phacaid seo a stàladh mar bu chòir" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "Chan e pacaid %s oifigeil a tha seo. Thoir air falbh pacaid sam bith a tha " "le treas-phàrtaidh 's feuch ris a-rithist." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "Tha cuid a phacaidean stàlaichte agad a tha ro aosta. Àrdaich na pacaidean a " "leanas agus thoir sùil ach a bheil an duilgheadas ann fhathast:\n" "\n" " %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Tha sinn duilich ach dhùin am prògram \"%s\" gu h-obann." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Duilgheadas ann an %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "Chan eil cuimhne shaor gu leòr aig a' choimpiutair agad agus chan urrainn " "dha an duilgheadas a sgrùdadh gu fèin-obrachail is aithris a chur dhan luchd-" "leasachaidh." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Aithris duilgheadais mhì-dhligheach" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "Chan eil cead-inntrigidh agad dhan aithris duilgheadais seo." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" "Chan eil àite gu leòr air an diosg gus an aithris seo a làimhseachadh." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "Feumaidh tu pacaid no PID a shònrachadh. Faic --help airson barrachd " "fiosrachaidh." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Chaidh cead a dhiùltadh" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "Chan eil am pròiseas a shònraich thu a' buntainn riut. Ruith am prògram seo " "mar shealbhadair a' phròiseis no mar root." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "PID mì-dhligheach" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "Chan eil ID a' phròiseis a shònraich thu a' buntainn do phrògram." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "Cha do lorg an sgriobt %s pacaid air a bheil buaidh" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "Chan eil a' phacaid %s ann" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "Cha ghabh an aithris a chruthachadh" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "Ag ùrachadh aithris an duilgheadais" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "Cha tusa an neach a rinn aithris air an duilgheadas seo 's chan eil fo-" "sgrìobhadh agad ann air neo bha an aithris seo ann dà thuras no chaidh a " "dhùnadh mu thràth.\n" "\n" "Cruthaich aithris ùr le \"apport-bug\"." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "Cha tusa an neach a rinn aithris air an duilgheadas seo. Tha e fada nas " "fhasa comharra a chur ri buga a dh'innseas gur e dùblachadh a tha ann seach " "na beachdan is ceanglachain agad a ghluasad gu buga ùr.\n" "\n" "Leis a sin, mholamaid dhut aithris ùr a dhèanamh air a' bhuga le \"apport-" "bug\" agus beachd a chur ris a' bhuga seo mun fhear a chlàraich thu.\n" "\n" "A bheil thu cinnteach gu bheil thu airson leantainn air adhart?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "Cha deach fiosrachadh a bharrachd a chruinneachadh." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "Dè seòrsa duilgheadas tha thu airson aithris a dhèanamh air?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Buaidh nach aithne dhuinn" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "Chan aithne dhuinn a' bhuaidh \"%s\"." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "An dèidh dhut an teachdaireachd seo a dhùnadh. briog air uinneag aplacaid " "gus aithris a dhèanamh air duilgheadas leis." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "Cha b' urrainn dha xprop ID pròiseas na h-uinneige a dhearbhadh" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "Sònraich ainm na pacaid." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" "Cuir taga a bharrachd ris an aithris. 'S urrainn dhut a shònrachadh iomadh " "turas." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Tòisich sa mhodh aithriseadh bhugaichean. Feumaidh seo --package agus --pid " "roghainneil no dìreach --pid. Mur eil aon seach aon dhiubh ann, nochd liosta " "de bhuaidhean air a bheil eòlas. (Tuigear dheth seo ma tha argamaid " "shingilte air a chur ann)." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" "Briog air uinneag mar thargaid gus aithris a dhèanamh air duilgheadas." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" "Tòisich sa mhodh ùrachadh bhugaichean. Gabhaidh seo ri --package ma tha feum " "air." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "Clàraich buga mu dhèidhinn buaidh. (Tuigear dheth seo mas e ainm na buaidhe " "an aon argamaid.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "Sònraich ainm na pacaid sa mhodh --file-bug. Tha seo roghainneil ma chaidh --" "pid a shònrachadh. (Tuigear dheth seo mas e ainm na pacaid an aon argamaid.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "Sònraich prògram a tha a' ruith sa mhodh --file-bug. Ma thèid seo a " "shònrachadh, bidh barrachd fiosrachaidh san aithris. (Tuigear dheth seo mas " "e pid an aon argamaid.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "Tha am pid a shònraich thu 'na aplacaid chrochte." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "Dèan aithris air an tuisleadh on fhaidhle .apport no .crash a tha ann seach " "an fheadhainn a tha ri dhèiligeadh ann an %s. (Tuigear dheth seo mas e am " "faidhle an aon argamaid.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" "Sa mhodh aithriseadh bhugaichean, sàbhail am fiosrachadh a chaidh a " "chruinneachadh ann am faidhle seach a bhith a' dèanamh aithris air. 'S " "urrainn dhut aithris a dhèanamh leis an fhaidhle às a dhèidh sin no o " "choimpiutair eile." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Clò-bhuail àireamh an tionndaidh aig Apport." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" "Cuireadh seo air bhog apport-retrace ann an uinneag tèirmineil gus sgrùdadh " "a dhèanamh air an tuisleadh." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" "Ruith seisean gdb as aonais gun a bhith a' luchdadh a-nuas nan samhlaidhean " "dì-bhugachaidh" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "Ùraich %s le Stack Trace a tha gu tur samhlach" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" "Tha aithris an duilgheadais seo a' buntainn ri prògram nach eil stàlaichte " "tuilleadh." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" "Thachair an duilgheadas leis a' phrògram %s ach chaidh atharrachadh on a " "thachair an tuisleadh." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "Chaidh an aithris seo a dhochann is cha ghabh a làimhseachadh." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "Tha an aithris seo a' buntainn do phacaid nach eil stàlaichte." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" "Thachair mearachd fhad 's a bha sinn a' feuchainn ri aithris na mearachd seo " "a làimhseachadh:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "" "Cha b' urrainn dhuinn a' phacaid no ainm na pacaid thùsail a dhearbhadh." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Chan urrainn dhuinn brabhsair-lìn a thòiseachadh" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "Chan urrainn dhuinn brabhsair-lìn a thòiseachadh gus %s fhosgladh." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" "Cuir a-steach fiosrachadh a' chunntais agad airson siostam tracadh nam " "bugaichean aig %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Duilgheadas leis an lìonra" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "Chan urrainn dhuinn ceangal ri stòr-dàta nan tuisleadh, thoir sùil air a' " "cheangal agad ris an eadar-lìon." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Gainnead cuimhne" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "Chan eil cuimhne gu leòr air an t-siostam agad is chan urrainn dha aithris " "an tuislidh seo a làimhseachadh." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "Chan urrainn dhuinn aithris a dhèanamh air an duilgheadas:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Tha sinn eòlach air an duilgheadas seo mu thràth" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "Chaidh aithris a dhèanamh air an duilgheadas seo mu thràth is chì thu " "aithris a' bhuga sa bhrabhsair-lìn agad. Thoir sùil ach a bheil fiosrachadh " "ùr sam bith agad a dh'fhaodadh a bhith feumail dhan luchd-leasachaidh." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" "Fhuair an luchd-leasachaidh aithris air an duilgheadas seo mu thràth. Tapadh " "leat!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" "Thachair seo nuair a chaidh a chur ’na dhàil roimhe agus cha b’ urrainn dhan " "t-siostam leantainn air adhart mar bu chòir ri linn." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" "Thachair seo nuair a chaidh a chur ’na chadal-geamhraidh roimhe agus cha b’ " "urrainn dhan t-siostam leantainn air adhart mar bu chòir ri linn." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "Lean sinn air ach thuislich e aig an fhìor-dheireadh agus bidh coltas gun " "deach a choileanadh mar bu chòir." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Brùth putan sam bith airson leantainn air adhart..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "Dè bu chaomh leat dèanamh? Seo na roghainnean agad:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Dèan taghadh (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "An dèidh dhut an aithris air an duilgheadas a chur, nach lìon thu am foirm\n" "ann an uinneag a' bhrabhsair a thèid fhosgladh gu fèin-obrachail?" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "&Cuir an aithris (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "&Sgrùd gu h-ionadail" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "&Faic an aithris" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" "&Glèidh faidhle na h-aithrise gus a chur uaireigin eile no airson lethbhreac " "dheth a chur am badeigin eile" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" "Sguir dheth agus le&ig seachad tuislidhean de thionndadh seo a' phrògraim " "seo san àm ri teachd" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Sguir dheth" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Faidhle aithris an duilgheadais:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "'S urrainn dhut am fiosrachadh a chruinnich sinn a chur gun luchd-" "leasachaidh ach\n" "an urrainn dhaibh an aplacaid a leasachadh. Faodaidh gun doir seo beagan " "mhionaidean." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "Tha am fiosrachadh a chruinnich sinn 'ga chur gu siostam tracadh nam " "bugaichean.\n" "Dh'fhaoidte gun doir seo beagan mhionaidean." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Deiseil" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "chan eil gin" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Thagh thu: %s. Iomadh roghainn:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" "An t-slighe a dh'ionnsaigh an fhaidhle (Brùth Enter airson sgur dheth):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "Chan eil am faidhle ann." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "'S e pasgan a tha seo." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" "Feumaidh tu tadhal air an URL a leanas mus urrainn dhut leantainn air adhart:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "'S urrainn dhut brabhsair a chur gu dol an-dràsta no lethbhreac dhen URL seo " "a chur ann am brabhsair no coimpiutair eile." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Cuir brabhsair gu dol an-dràsta" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" "Chan eil aithris sam bith air tuisleadh ri dhèiligeadh. Feuch --help airson " "barrachd fiosrachaidh." #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Thachair seo nuair a chaidh a chur 'na dhàil roimhe agus cha b' urrainn " #~ "dhuinn leantainn air cùisean mar bu chòir." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Thachair seo nuair a chaidh a chur 'na chadal-geamhraidh roimhe agus cha b' " #~ "urrainn dhuinn leantainn air cùisean mar bu chòir." #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [options] <apport problem report | crash ID>" #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "" #~ "àireamh chearr de dh'argamaidean; cleachd --help airson beagan cobharach" #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "" #~ "feumaidh tu a dhèanamh gu h-ionadail (-s, -g -o) no feumaidh tu faidhle " #~ "dearbhaidh a shònrachadh (--auth); faic --help airson beagan cobharach" #~ msgid "Your system might become unstablenow and might need to be restarted." #~ msgstr "" #~ "Dh'fhaoidte gum fàs an siostam agad neo-sheasmhach a-nis agus gum bi agad ri " #~ "ath-thòiseachadh." ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/gl.po������������������������������������������������������������������������������0000644�0000000�0000000�00000142640�12677230222�012621� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Galician translation for apport # Copyright (c) 2006 Rosetta Contributors and Canonical Ltd 2006 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:46+0000\n" "Last-Translator: Martin Pitt <martin.pitt@ubuntu.com>\n" "Language-Team: Galician <gl@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: gl\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "Apport" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "Cancelar" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "Aceptar" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Informe de erro" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>Desculpas! Produciuse un erro interno.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "Se segue tendo problemas, tente reiniciar o equipo." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "Enviar un informe de erro para axudar a arranxar este problema" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "Ignorar futuros problemas desta versión do programa" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Mostrar detalles" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "_Examinar localmente" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Manter pechado" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Continuar" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>Recopilando información sobre o problema</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "Estase recollendo información que pode axudar aos desenvolvedores a arranxar " "o problema do que está informando." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "Enviando a información do problema" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>Enviando información do erro</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "A información recollida estase enviando ao sistema de seguimento de erros. " "Isto pode levar varios minutos." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Ficheiro de ruptura de Apport" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(datos binarios)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "O aplicativo %s detívose de forma inesperada." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "Sentímolo, %s pechouse de maneira inesperada." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "Sentímolo, %s sufriu un erro interno." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Enviarlle un informe do problema aos desenvolvedores?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Enviar" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "Forzar o peche" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Volver a iniciar" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "O aplicativo %s non responde." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "O programa «%s» non responde." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Paquete: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "Sentímolo, produciuse un problema ao instalar o software." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "O aplicativo %s sufriu un erro interno." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "O aplicativo %s pechouse de maneira inesperada." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "Ignorar os futuros problemas deste tipo" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Agochar os detalles" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Uso: %s <informe> <directorio de destino>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "O directorio de destino existe e non está baleiro." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "Nome de usuario:" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "Contrasinal:" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "Recompilando información do erro" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Recopilando información do erro" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "A información recollida pódeselle enviar aos desenvolvedores para que " "melloren o aplicativo. Isto podería levar uns minutos." #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "Enviando a información do erro" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Recoller información do sistema" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "Requírese autenticación para recoller a información do sistema para este " "informe de erro" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "Informes de problemas do sistema" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" "Introduza o seu contrasinal para acceder aos informes de problemas dos " "programas do sistema" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Informar dun problema..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Informar dun fallo aos desenvolvedores" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "Vexa a páxina de man para máis detalles." #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "indique o nome do ficheiro de rexistro producido por valgrind" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" "reutilizar o cartafol de «sandbox» creado anteriormente (SDIR) ou, se non " "existe, crealo" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" "non crear ou reutilizar o cartafol «sandbox» para os símbolos de depuración " "adicionais nese caso basearse só nos símbolos de depuración instalados" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" "reutilizar o cartafol de cache creado anteriormente (CDIR) ou, se non " "existe, crealo" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" "informar do progreso da descarga/instalación ao instalar paquetes na " "«sandbox»" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" "o executábel que se executa baixo a ferramenta de comprobación de memoria " "valgrind para a detección de perdas de memoria" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" "Instalar un paquete adicional na área de probas (pode especificarse " "múltiples veces)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "Erro: %s no né un executábel. Paramos." #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" "O sistema poderíase volver inestábel agora e podería haber que reinicialo." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" "Non poñer as trazas novas no informe senón escribilas na saída estándar " "(stdout)." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "Iniciar unha sesión gdb interactiva coa saída núcleo do informe (-o " "ignorada; non escribe o informe)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "Escribir o informe modificado no ficheiro dado no canto de modificar o " "informe orixinal" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" "Eliminar a saída do núcleo do informe despois da rexeneración da traza da " "pila" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "Sobreescribir o CoreFile do informe" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "Sobreescribir o ExecutablePath do informe" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "Sobreescribir ProcMaps do informe" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "Reconstruír a información do informe de paquete" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" "Construír unha área de probas temporal e descargar/instalar os paquetes " "necesarios e símbolos de depuración alí; sen esta opción asúmese que os " "paquetes necesarios e símbolos de depuración instalaranse no seu sistema. O " "argumento apunta ao cartafol base de configuración do sistema de paquetes; " "se non especificou «system», usaranse os ficheiros de configuración do " "sistema, mais só poderá analizar problemas serios que acontezan na versión " "en execución actualmente." #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" "Informar do progreso da descarga/instalación mentres se instalan paquetes na " "área de probas" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" "Engadir ao inicio a marca de tempo nas mensaxes do rexistro, para operacións " "en lote" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" "Crear e empregar repositorios de terceiros a partir de orixes indicadas en " "informes" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "Cartafol de caché para os paquetes descargados na área de probas" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" "Directorio para os paquetes non empaquetados. As execucións futuras asumirán " "que calquera paquete xa descargado tamén está extraído nesta caixa de area." #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" "Ruta a un ficheiro coa información de autenticación da falla da base de " "datos. Isto úsase ao especificar un ID de falla para actualizar as trazas da " "pila retrazada (só no caso de que se especifique -g, -o ou -s)" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "Mostrar a pila retrazada e pedir confirmación antes de enviala á base de " "datos de falla." #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" "Ruta á base de datos de duplicados de sqlite (por omisión: non se verifica " "se hai duplicados)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "Non é posíbel empregar -C sen -S. Paramos." #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "Acepta enviar estes como anexos? [y/n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "Este paquete semella que non está instalado correctamente" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "Este non é un paquete oficial de %s. Elimine os paquetes de terceiros e " "ténteo de novo." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "Ten algúns paquetes instalados con versións obsoletas. Por favor, anove os " "seguintes paquetes e verifique se o problema persiste:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "programa descoñecido" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Desculpe, o programa «%s» pechouse inesperadamente" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Problema en %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "O seu computador non dispón de memoria libre abondo para analizar " "automaticamente o problema e enviarlle un informe aos desenvolvedores." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "O informe de problema non é válido" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "Non ten permiso para acceder a este informe de problema." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Erro" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "Non hai espazo abondo no disco para procesar este informe." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "Non se especificou ningún paquete" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "Ten que especificar un paquete ou un PID. Vexa --axuda para obter máis " "información." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Permiso denegado" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "O proceso especificado non lle pertence. Execute este programa como " "propietario do proceso ou como root." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "O PID non é válido" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "O ID de proceso especificado non pertence a ningún programa." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "O script «symptom» %s non determinou ningún paquete afectado" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "O paquete %s non existe" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "Non se pode crear o informe" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "Actualización de informe de problemas" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "Vostede non é o informador ou subscritor deste informe de erros, ou o " "informe está duplicado ou xa foi pechado.\n" "\n" "Por favor, cree un novo informe con «apport-bug»." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "Vostede non é o informador ou subscritor deste informe de erros. É moito " "máis doado marcar un fallo como un duplicado doutro que trasladar os seus " "comentarios e ficheiros adxuntos a un novo fallo.\n" "\n" "En consecuencia, recomendámoslle que faga un novo informe de erro utilizando " "«apport-bug» e facer un comentario neste fallo sobre o seu ficheiro.\n" "\n" "Confirma que desexa continuar?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "Non se recolleu información adicional." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "De que tipo de problema quere informar?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Síntoma descoñecida" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "Non se coñece a síntoma «%s»." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "Despois de pechar esta mensaxe, prema nunha xanela do aplicativo para " "informar sobre este problema." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" "Produciuse un fallo en «xprop» ao determinar o ID de proceso da xanela" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "%prog <número do informe>" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "Especifique o nome do paquete." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" "Engade unha etiqueta extra ao informe. Pódese especificar varias veces." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [opcións] [síntoma|pid|paquete|ruta ao programa|ficheiro .apport ou " ".crash]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Comezar no modo de presentación de erros. Require --package e un --pid " "opcional, ou só un --pid. Se non se fornece ningún, mostra unha lista de " "síntomas coñecidas. (Implícito se se fornece un único argumento.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "Prema nunha xanela como un obxectivo para informar do problema." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" "Iniciar en modo de actualización de erros. Pode aceptar un --package " "opcional." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "Ficheiro dun informe de erro dunha síntoma. (Implícito se se deu como único " "argumento o nome da síntoma)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "Especificar un nome de paquete no modo --file-bug. Isto é opcional se se " "especifica un --pid. (Tamén se o nome do paquete foi dado só como argumento)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "Especifica un programa executándose en modo --file-bug. De especificarse, o " "informe de erro conterá máis información. (Implica se o PID se fornece só " "como un argumento.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "O pid fornecido é un aplicativo bloqueado." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "Informe sobre a falla no ficheiro dado .apport ou .crash en lugar de facelo " "nos pendentes en %s. (Tamén se o ficheiro foi dado só como argumento) ." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" "No modo de presentación o erros, garda a información recollida nun ficheiro " "no canto de enviala. Este ficheiro pódese enviar máis adiante desde unha " "máquina diferente." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Imprimir o número da versión do Apport." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" "Isto iniciará apport-retrace nunha xanela de terminal para examinar o peche " "inesperado." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "Executar sesión de gdb" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "Executar sesión de gdb sen descargar os símbolos de depuración" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "Actualizar %s coa pila de chamadas simbólicas completas" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" "Este informe de problema aplícase a un programa que xa non está instalado.." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" "O problema aconteceu co programa %s, que mudou desde que se produciu o fallo." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "O informe de erro está danado e non pode ser procesado." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "O informe refírese a un paquete que non está instalado." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "Produciuse un erro ao tentar procesar este informe de problema:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "Non se puido determinar o paquete ou o nome do paquete fonte." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Non se pode arrancar o navegador web" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "Non se pode arrancar o navegador para abrir %s." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" "Introduza a información da súa conta no sistema de seguimento de erros %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Erro de conexión" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "É imposíbel conectar coa base de datos de fallos. Verifique a conexión á " "Internet." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Memoria esgotada" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "O sistema non posúe memoria abondo para procesar este informe de erro," #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "Non se pode informar acerca deste problema:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Problema coñecido" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "Xa se informou deste problema no informe de erros que se mostra no navegador " "web. Comprobe se pode engadir información adicional que lle poida resultar " "de utilidade aos desenvolvedores." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "Este problema xa foi informado ao desenvolvedores. Grazas!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" "Isto produciuse durante unha suspensión anterior do sistema e impediu que se " "retomase adecuadamente." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" "Isto produciuse durante unha hibernación anterior do sistema e impediu que " "se retomase adecuadamente." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "O proceso de recuperación colgouse moi cerca do final e debeu parecer como " "que se remataba normalmente." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Prema calquera tecla para seguir..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "Que quere facer? As opcións que ten son:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Escolla (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i bytes)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "Unha vez enviado o informe do problema, encha o formulario no navegador web " "que se abrirá automaticamente." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "E&nviar informe (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "&Examinar localmente" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "&Ver o informe" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" "&Gardar o ficheiro co informe para envialo máis tarde ou para copialo noutro " "sitio" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "Cancelar e &ignorar fallos futuros desta versión do programa" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Cancelar" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Ficheiro co informe do problema:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&Confirmar" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Erro: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "Pódeselles enviar a información recollida aos desenvolvedores para que\n" "melloren o aplicativo. Isto pode levar uns minutos." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "Estase a enviar a información recollida ao sistema de seguimento de erros.\n" "Isto pode levar uns minutos." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Feito" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "ningún" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Seleccionado: %s. Varias opcións:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Opcións" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Ruta ao ficheiro (Intro para cancelar):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "O ficheiro non existe." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "Isto é un directorio" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "Para continuar ten que visitar o URL seguinte:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "Pode executar un navegador agora, ou copiar este URL a un navegador en outro " "equipo." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Executar un navegador agora" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" "Non hai informes de fallos pendentes. Tente --help para máis información." #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "Informe completo (recomendado; %s)" #~ msgid "&Details..." #~ msgstr "&Detalles..." #~ msgid "_Send Report" #~ msgstr "_Enviar informe" #~ msgid "Generic error" #~ msgstr "Erro xenérico" #~ msgid "" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "Unha vez enviado o problema, encha o formulario no navegador web que se " #~ "abrirá automaticamente." #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "E&nviar un informe completo (recomendado; %s)" #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "Informe reducido (Conexión a internet lenta; %s)" #~ msgid "_Ignore future crashes of this program version" #~ msgstr "_Ignorar no futuro fallos desta versión do programa" #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "Enviar un informe &reducido (conexións lentas á internet; %s)" #~ msgid "&Report Problem..." #~ msgstr "Info&rmar dun problema..." #~ msgid "_Report Problem..." #~ msgstr "_Informar do problema..." #~ msgid "&Send" #~ msgstr "&Enviar" #~ msgid "Kernel problem" #~ msgstr "Problema no núcleo" #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "Este non é un paquete xenuíno para %s" #~ msgid "Content of the report" #~ msgstr "Contido do informe" #~ msgid "Package problem" #~ msgstr "Problema no paquete" #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "O sistema atopouse cun problema serio do kernel." #~ msgid "Restart &Program" #~ msgstr "Reiniciar o &programa" #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Isto aconteceu durante unha suspensión anterior e evitou que se reiniciase " #~ "axeitadamente." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Isto aconteceu durante unha hibernación anterior e evitou que se reiniciase " #~ "axeitadamente." #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "" #~ "%prog [opcións] <informe de problema de apport | identificador do fallo>" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "Se non estaba a facer nada confidencial (introducir un contrasinal ou\n" #~ "outra información privada), pode axudar a mellorar o aplicativo informado\n" #~ "do problema." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "Se non estaba a facer nada confidencial (introducindo contrasinais ou outra " #~ "información privada) pode axudar a mellorar o aplicativo informando do " #~ "problema." #~ msgid "Application problem" #~ msgstr "Problema no aplicativo" #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s pechouse inesperadamente en %s ás %s." #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "Non se puido instalar ou anovar o paquete \"%s\"." #~ msgid "Restart _Program" #~ msgstr "Reiniciar o _programa" #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "" #~ "o número de parámetros é incorrecto; empregue --help para unha pequena axuda" #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "" #~ "De todos os xeitos é preciso que faga unha operación local (-s, -g, -o) ou " #~ "fornecer un ficheiro de autenticación (--auth); vexa --help para obter unha " #~ "breve axuda" #, python-format #~ msgid "Sorry, %s closed unexpectedly" #~ msgstr "Desculpe, %s pechouse inesperadamente" #~ msgid "Send this data to the developers?" #~ msgstr "Enviar estes datos aos desenvolvedores?" #, python-format #~ msgid "Sorry, the package \"%s\" failed to install or upgrade." #~ msgstr "Desculpe, non se puido instalar ou actualizar o paquete «%s»." #~ msgid "&Ignore future crashes of this program version" #~ msgstr "&Ignorar futuras quebras desta versión do programa" #, python-format #~ msgid "Sorry, the program \"%s\" closed unexpectedly." #~ msgstr "Desculpe, o programa «%s» pechouse inesperadamente." #, python-format #~ msgid "Sorry, %s closed unexpectedly." #~ msgstr "Desculpe, «%s» pechouse inesperadamente." #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "Isto eliminará algúns elementos grandes do informe. Estes son moi útiles " #~ "para que os desenvolvedores depuren o problema, mais poden resultarlle moi " #~ "grandes para envialos se dispón dunha conexión lenta a internet." #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "" #~ "Pode axudar a que os desenvolvedores arranxen o problema informando sobre el." #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>Enviarlles un informe do problema aos desenvolvedores?</b></big>\n" #~ "\n" #~ "Unha vez enviado o informe sobre o problema, encha o formulario na xanela do " #~ "navegador que se abrirá automaticamente." #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "" #~ "Pode axudar aos desenvolvedores a arranxar o paquete enviándolles un informe " #~ "acerca do problema." #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">Desculpe, non foi posíbel instalar ou " #~ "anovar o paquete «%s».</span>." #, python-format #~ msgid "Sorry, the application %s has closed unexpectedly." #~ msgstr "Desculpe, o aplicativo %s pechouse de maneira inesperada." #~ msgid "Your system might become unstablenow and might need to be restarted." #~ msgstr "" #~ "É posíbel que o seu sistema quedase inestábel e quizais precise reinicialo." ������������������������������������������������������������������������������������������������apport-2.20.1/po/gu.po������������������������������������������������������������������������������0000644�0000000�0000000�00000114617�12677230222�012635� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Gujarati translation for apport # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2009. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2011-10-07 06:10+0000\n" "Last-Translator: raj <Unknown>\n" "Language-Team: Gujarati <gu@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: gu\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "" #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "તમારે કેટલાક કાલગ્રસ્ત પેકેજ સ્થાપીત થયેલ છે. કૃપયા નિમ્નલિખિત પેકેજો ઊંચી " "કક્ષાએ ચડાવો અને તપાસો કે મુશ્કેલી હજુ જોવા મળે છે:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "અજાણયો પ્રોગ્રામ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "માફ કરશો, પ્રોગ્રામ %s એકાએક બંધ થયો છે" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "%s માં તકલીફ છે" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "તમારા કૉમ્પ્યૂટર માં મુશ્કેલીનુ આપોઆપ વિશ્લેષણ કરવા માટે અને ડેવલોપરોને " "રિપૉર્ટ (હકીકત) મોકલાવવા માટે પુરતા પ્રમાણ માં મુકત મેમરી નથી." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "અપ્રમાણ મુશ્કેલી રિપૉર્ટ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "આપને મુશ્કેલી રિપૉર્ટ જોવાની પરવાનગી નથી." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "આ રિપૉર્ટ ને આગળ વધારવા માટે પુરતી માત્રામાં ડિસ્ક સ્પેઇસ મોજુદ નથી." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "કોઈ પેકેજ જણાવેલ નથી" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "તમારે ચોક્કસ પેકેજ અથવા પીઆઈડી નો ઉલ્લેખ કરવાની જરૂર છે. વધુ વિઞત માટે --મદદ " "જુઓ." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "જણાવેલ પ્રોસેસ તમારી સાથે જોડાયેલી નથી. મહેરબાની કરીને આ પ્રોગ્રામ તમે " "પ્રોસેસ ના માલિક અથવા રૂટ તરીકે ચલાવો." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "અમાન્ય પીઆઈડી" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "જણાવેલ પ્રોસેસ આઈડી પ્રોગ્રામ સાથે જોડાયેલું નથી." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "પેકેજ %s નુ અસ્તિત્વ નથી" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "કયા પ્રકારનો પ્રશ્ન આપ રજૂ કરવા માગો છો?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "અજાણયુ ચિહ્ન" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "ચિહ્ન %s જાણીતુ નથી." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "પેકેજ ના નામનો --ફાઇલ-બગ મોડ માં ઉલ્લેખ કરો. આ વૈકલ્પિક છે જો --પીઆઈડી નો " "ઉલ્લેખ હોય. (સૂચિત જો ચિહ્ન નુ નામ ફકત આર્ગ્યૂમેન્ટ તરીકે આપેલ હોય.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "પતન વિશે ની રજુઆત નિકાલ ન થયેલા %s ના બદલે આપેલી .અપોર્ટ અથવા .ક્રૅશ ફાઈલ " "માંથી કરો. (સૂચિત જો એક આર્ગ્યૂમેન્ટ આપેલ હોય.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "અપોર્ટ વર્ઝન નંબર ની નકલ કાઢો." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" "આ મુશ્કેલી અહેવાલ પ્રોગ્રામને લાગુ પડે છે જે હવે વધુ કાંઇ સ્થાપીત નથી." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "આ સમસ્યા રિપૉર્ટ નુકસાન પામેલ છે અને આગળ વધી નહી શકાય." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "આ રિપૉર્ટ પેકેજ સાથે જોડાયેલ છે જે ઇન્સ્ટોલ (સ્થાપીત) થયેલ નથી." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "પેકેજ અથવા સૉર્સ પેકેજ નુ નામ શોધી નથી શકાયુ." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "વેબ બ્રાઊઝર શરુ કરવામાં સમર્થ નથી." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "%s ને ખોલવા માટે વેબ બ્રાઊઝર શરુ કરવામાં સમર્થ નથી." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" "મહેરબાની કરીને %s બગ ટ્રૅકીંગ સિસ્ટમ માટે તમારી અકાઉન્ટની માહીતી દાખલ કરો" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "નેટવર્ક માં સમસ્યા" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "ક્રૅશ ડેટાબેઞ સાથે જોડાણ થઈ શકે તેમ નથી. મહેરબાની કરીને તમારા ઈનટરનેટનુ " "જોડાણ તપાશો." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "મેમરીની થકાવટ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "આ ક્રૅશ રિપૉર્ટ ને પ્રોસેસ કરવા માટે તમારી સિસ્ટમમાં પૂરતી મેમરી નથી." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "સમસ્યા રજુ નહી કરી શકાય:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "મુશ્કેલી પહેલાંથી જાણીતી છે." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "આ સમસ્યા વેબ બ્રાઊઝરમાં દેખાતા બગ રિપૉટમાં પહેલાંથી રજુ કરેલ છે. મહેરબાની " "કરીને ચકાસો કે તમે વધુ માહીતી ઊમેરી શકો છો કે જે ડેવલોપરો માટે ઊપયોગી થઈ શકે." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "ચાલુ રાખવું માટે કોઈપણ કી દબાવો..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "તમે શુ કરવાનુ પસંદ કરશો? તમારા વિકલ્પો છે:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "મહેરબાની કરીને પસંદ કરો (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "આ પ્રોગ્રામ વર્ઝનના ભવિષ્યના ક્રૅશો ની અવગણના કરો અને રદ કરો." #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&રદ કરો" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "આ અસલ %s પેકેજ નથી" #~ msgid "&Report Problem..." #~ msgstr "&સમસ્યા ને રજુ કરો." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "જો તમે કઈ ખાનગી ન કરી રહયા ન હોય (પાસવર્ડ દાખલ કરતા અથવા અન્ય\n" #~ "ખાનગી માહીતી), તમે સમસ્યા ને રજુ કરીને આ ઍપ્લિકેશનને વધુ સારી બનાવવા \n" #~ "મદદ કરી શકો છો." #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s અનપેક્ષિત રીતે %s ના રોજ %s વાગે બંધ થયો છે." �����������������������������������������������������������������������������������������������������������������apport-2.20.1/po/he.po������������������������������������������������������������������������������0000644�0000000�0000000�00000135717�12677230222�012622� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Hebrew translation for apport # Copyright (c) 2006 Rosetta Contributors and Canonical Ltd 2006 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:47+0000\n" "Last-Translator: Ofir Klinger <klinger.ofir@gmail.com>\n" "Language-Team: Hebrew <he@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: he\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "דוח קריסה" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>אירעה שגיאה פנימית, עמך הסליחה.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "אם הבחנת בבעיות נוספות, כדאי לנסות להפעיל את המחשב מחדש." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "שליחת דוח שגיאה כדי לסייע בתיקון בעיה זו." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "התעלמות בתקלות עתידיות בגרסת תכנית זו" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "הצגת פרטים" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "_בדיקה מקומית" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "להשאיר סגור" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "להמשיך" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>אוסף מידע אודות התקלה</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "המידע נאסף כדי לעזור למפתחים לתקן את התקלה עליה אתה מדווח." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "מעלה את פרטי התקלה" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>מעלה את נתוני התקלה</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "המידע שנאסף נשלח כעת למערכת המעקב אחר התקלות. פעולה זו עלולה להמשך מספר דקות." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "קובץ קריסה של Apport" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(נתונים בינריים)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "היישום %s הפסיק לפעול במפתיע, עמך הסליחה." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "היישום %s נסגר במפתיע, עמך סליחה." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "היישום %s סבל משגיאה פנימית, עמך הסליחה." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "האם לשלוח דוח תקלה למפתחים?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "שליחה" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "לסגור בכוח" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "הפעלה מחדש" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "היישום %s הפסיק להגיב." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "התכנית \"%s\" הפסיקה להגיב." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "חבילה: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "אירעה תקלה בעת התקנת תוכנות, עמך הסליחה." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "היישום %s נתקל בתקלה פנימית." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "היישום %s נסגר במפתיע" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "התעלמות מתקלות חוזרות ונשנות מסוג זה" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "הסתרת הפרטים" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "ספריית היעד קיימת ואינה ריקה." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "נאספים נתונים על התקלה" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "אוסף מידע אודות התקלה" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "ניתן לשלוח את המידע שנאסף למפתחים כדי לשפר את התכנה. פעולה זו עלולה להמשך " "מספר דקות." #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "נתוני התקלה נשלחים" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "איסוף מידע על המערכת" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "נדרש אימות כדי לאסוף פרטים לדוח תקלה זה" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "דיווחי תקלות במערכת" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" "נא להזין את הססמה שלך כדי לגשת לדיווחים על תקלות שנמצאו בתכניות המערכת" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "דיווח על תקלה..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "דיווח על תפקוד לקוי למתכנתים" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "יש לעיין בדף ה־man לקבלת פרטים נוספים." #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "נא לציין את שם קובץ הרישום שנוצר על ידי valgrind" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "התקנת חבילה נוספת לתוך ארגז החול (ניתן לציין מספר פעמים)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" "המערכת שלך עלולה להפוך לבלתי יציבה כעת ויתכן שיהיה צורך בהפעלת המחשב מחדש." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "אין להוסיף את העקבות החדשים אל הדוח, אך יש לכתוב אותם אל stdout." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "התחלת מופע אינטראקטיבי של gdb עם איסוף הליבה של הדוח (‎-o ignored; הדוח לא " "ישוכתב)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" "יצירת ארז חול זמני ולהוריד/להתקין את החבילות ההכרחיות ואת סמלי ניפוי " "השגיאות; ללא אפשרות זאת המערכת תניח שהחבילות ההכרחיות ושסמלי ניפוי השגיאות " "כבר מותקנים במחשבך. הארגומנט מפנה לתיקיית מסד תצורת מערכת החבילות; אם " "הארגומנט יהיה „system“, ייעשה שימוש בקובצי התצורה של המערכת אך במצב כזה ניתן " "יהיה רק לעקוב מחדש אחר הקריסות שהתחרשו בהפצה הפעילה הנוכחית." #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "דיווח על תהליך של הורדה/התקנה בעת התקנת חבילות בתוך ארגז החול" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "הוספת קידומת חותמת זמן להודעות ביומן, לצורך פעולות אצווה" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "תיקיית המטמון לחבילות שהורדו בארגז החול" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" "ספרייה של חבילות בלתי ארוזות. הפעלות עתידיות יניחו שכל חבילה שכבר הורדת " "תחולץ גם כן לארגז חול זה." #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" "נתיב לקובץ עם פרטי האימות מול מסד נתוני הקריסות. בקובץ ייעשה שימוש בעת ציון " "מזהה קריסה כדי לעלות מעקבי מחסניות מחודשים (רק אם לא צוינו ‎-g, -o, או ‎-s)" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "הצגת מעקבי מחסניות מחודשים ובקשת אישור בטרם שליחה למסד נתוני הקריסות." #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "האם זה בסדר לשלוח קבצים מצורפים אלה? [y/n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "מסתבר כי חבילה זו אינה מותקנת כראוי" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "זוהי אינה חבילה רשמית של %s. נא להסיר כל חבילת צד־שלישי שהיא ולנסות שוב." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "חלק מהגרסאות של חבילות התכנה שלך מיושנות. נא לשדרג את החבילות הבאות ולבדוק " "אם הבעיה עדיין מתרחשת:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "תכנית בלתי מוכרת" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "התכנה „%s“ נסגרה במפתיע, עמך הסליחה" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "תקלה ב-%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "למחשבך אין די זכרון פנוי כדי לנתח את התקלה אוטומטית ולשלוח דוח למפתחים." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "דוח תקלה שגוי" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "אינך מורשה לגשת לדוח תקלה זה." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "שגיאה" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "אין די שטח פנוי בכונן כדי לעבד דוח זה." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "לא צויינה כל חבילה" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "עליך לציין חבילה או מזהה תהליך. עיין ב --help לקבלת מידע נוסף." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "הגישה נדחתה" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "התהליך שצויין אינו שייך לך. נא להריץ תוכנה זו כבעל התהליך או כמנהל (root)." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "מזהה התהליך שגוי" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "מזהה התהליך שצויין אינו שייך לאף תוכנית." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "החבילה %s אינה קיימת" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "דוח הבעיה מתעדכן" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "בעיה זו לא דווחה על ידיך במקור. עדיף לסמן באג ככפול מאשר להעביר את ההערות " "ואת הקבצים המצורפים אליו לבאג חדש.\n" "\n" "כתוצאה מכך, ההמלצה היא ליצור דוח שגיאות חדש באמצעות \"apport-bug\" ולהעיר שם " "על התקלה שדווחה.\n" "\n" "האם ברצונך להמשיך?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "מהי הבעיה עליה ברצונך לדווח?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "תסמין לא מוכר" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "התסמין „%s“ אינו מוכר." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "נא לציין את שם החבילה." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "התחלה במצב מילוי שגיאות. נדרש ‎--package ו־‎--pid (לא חובה), או ‎--pid בלבד. " "אם אף אחד מאלה לא הוזן, תוצג רשימה של סימפטומים ידועים. (מרומז במקרה שצוין " "ארגומנט יחיד.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "הגשת דיווח על תסמין. (מרומז אם שם התסמין ניתן רק כארגומנט.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "יש לציין תכנית פעילה במצב ‎--file-bug. אם פרמטר זה יתווסף דיווח הבאג יכיל " "מידע נוסף. (כלומר שהמזהה התהליך, ה־pid, ניתן כארגומנט בלבד.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "ה־pid (מזהה היישום) שסופק מצביע על יישום תקוע." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "דיווח על התקלה מקובץ ‎.apport או ‎.crash נתון במקום אלו שממתינים ב־%s. " "(מרומז אם ניתן קובץ כארגומנט יחיד.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "הצגת מספר הגרסה של Apport." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "פעולה זו תפעיל את apport-retrace בחלון מסוף כדי לנתח את הקריסה." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "הפעלת gdb" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "הפעלת gdb מבלי להוריד סימני ניפוי שגיאות" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "עדכון %s במעקב ערימה בסמליות מלאה" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "דיווח תקלה זה חל על תכנית שאינה מותקנת עוד." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "התקלה אירעה בתכנית %s שהשתנתה מאז קריסתה האחרונה." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "דוח תקלה זה פגום ולכן לא ניתן לעבד אותו." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "הדוח שייך לחבילה שאינה מותקנת." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "אירעה שגיאה במהלך ניסיון עיבוד דוח תקלה זה:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "לא ניתן לאתר את החבילה או את שם חבילת המקור." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "לא ניתן להפעיל את דפדפן האינטרנט." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "לא ניתן להפעיל את דפדפן האינטרנט כדי לפתוח את %s." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "נא להזין את נתוני החשבון שלך עבור מערכת דיווח התקלות %s." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "תקלת רשת" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "לא ניתן להתחבר אל מסד נתוני הקריסות, יש לבדוק את החיבור לאינטרנט." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "תשישות הזכרון" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "למערכת שלך אין די זכרון פנוי כדי לעבד דוח תקלה זה." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "לא ניתן לדווח על תקלה זו:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "התקלה כבר ידועה" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "תקלה זו כבר דווחה בדוח התקלה המוצג בדפדפן האינטרנט. נא לבדוק האם ניתן להוסיף " "מידע נוסף שעלול לעזור למפתחים בפתרון התקלה." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "תקלה זו כבר דווחה למתכנתים. תודה רבה!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "תהליך חזרת המחשב לפעולה נתקע ממש לקראת הסוף ונראה כאילו הוא הסתיים כרגיל." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "לחץ על מקש כלשהו להמשך..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "מה ברצונך לעשות? אפשרויותיך הן:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "נא לבחור (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "לאחר שדיווח אודות התקלה נשלח, נא מלאו את הטופס\n" "בדפדפן האינטרנט שנפתח אוטומטית." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "&שלח דוח (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "&ניתוח מקומי" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "ה&צג דוח" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "&שמור על קובץ הדוח לשליחה מאוחרת או העתקה למיקום אחר" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "בטל והת&עלם מקריסות עתידיות של גירסה זו של התוכנה" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&ביטול" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "קובץ דיווח התקלה:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&אשר" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "שגיאה: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "ניתן לשלוח את המידע שנאסף למפתחים כדי לשפר את היישום.\n" "פעולה זו עלולה להמשך מספר דקות." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "המידע שנאסף נשלח כעת אל מערכת המעקב אחר התקלות.\n" "פעולה זו עלולה להמשך מספר דקות." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&סיום" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "ללא" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "נבחרו %s. בחירות מרובות:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "בחירות" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "נתיב אל הקובץ (Enter לביטול):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "הקובץ אינו קיים." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "זוהי תיקייה." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "כדי להמשיך, עליך לבקר בכתובת הבאה:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "ניתן לטעון את הדפדפן כעת, או להעתיק את הכתובת הזאת לדפדפן במחשב אחר." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "טעינת הדפדפן כעת" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "אין דיווחי קריסות בהמתנה. נסו --help לקבלת מידע נוסף." #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "התקנת או שדרוג החבילה \"%s\" נכשלו." #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "דוח שלם (מומלץ; %s)" #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>האם לשלוח את דוח התקלה למפתחים?</b></big>\n" #~ "\n" #~ "לאחר שדוח התקלה נשלח, אנא מלא את הטופס הנפתח אוטומטית בדפדפן האינטרנט." #~ msgid "Application problem" #~ msgstr "תקלת יישום" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "במידה ולא ביצעת כל פעולה חשאית (הזנת סיסמאות או מידע פרטי אחר כלשהו), תוכל " #~ "לעזור לשפר את היישום על ידי דיווח אודות התקלה." #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s נסגר במפתיע תחת %s ב- %s." #~ msgid "Restart _Program" #~ msgstr "הפעל את התוכנה מחדש" #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">אנו מתנצלים, עדכון או שדרוג החבילה " #~ "\"%s\" נכשל.</span>" #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "&שלח דוח מלא (מומלץ; %s)" #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "דוח מצומצם (חיבור איטי לאינטרנט; %s)" #~ msgid "_Ignore future crashes of this program version" #~ msgstr "ה_תעלם מקריסות עתידיות של גירסה זו של התוכנה" #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "שלח דוח &מצומצם (לחיבור אינטרנט איטי; %s)" #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "פעולה זו תסיר כמה פריטים גדולים מהדוח. אלו מאוד שימושיים למפתחים לצורך איתור " #~ "השגיאה, אך עלולים להיות גדולים מדי עבורך להעלאה במידה ויש לך חיבור אינטרנט " #~ "איטי." #~ msgid "&Report Problem..." #~ msgstr "&דווח על תקלה..." #~ msgid "_Report Problem..." #~ msgstr "_דווח על תקלה..." #~ msgid "Kernel problem" #~ msgstr "תקלת ליבה" #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "תוכל לעזור למפתחים לתקן את החבילה על ידי דיווח על התקלה." #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "זוהי אינה חבילת %s מקורית" #~ msgid "Content of the report" #~ msgstr "תוכן הדוח" #~ msgid "Package problem" #~ msgstr "תקלת חבילה" #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "תוכל לסייע למפתחים לתקן את התקלה על ידי דיווח עליה." #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "המערכת נתקלה בבעיה רצינית בליבה." #~ msgid "_Send Report" #~ msgstr "_שלח דוח" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "במידה ולא עשית שום דבר חסוי (כמו הזנת סיסמאות או מידע פרטי), תוכל לעזור " #~ "בשיפור היישום באמצעות דיווח על הבעיה." #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [options] <apport problem report | crash ID>" #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "תופעה זו נגרמה במהלך השהיה קודמת ומנעה מהתהליך להמשיך כראוי." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "תופעה זו נגרמה במהלך תרדמת קודמת ומנעה מהתהליך להמשיך כראוי." #, python-format #~ msgid "Sorry, the application %s has closed unexpectedly." #~ msgstr "היישום %s נסגר במפתיע, עמך הסליחה." �������������������������������������������������apport-2.20.1/po/hi.po������������������������������������������������������������������������������0000644�0000000�0000000�00000116747�12677230222�012630� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Hindi translation for apport # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2007. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2012-07-30 10:06+0000\n" "Last-Translator: Manish Kumar <manishku86@yahoo.co.in>\n" "Language-Team: Hindi <hi@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: hi\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "क्रैश रिपोर्ट" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>क्षमा करें, एक आंतरिक त्रुटि हुई.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "विवरण दिखाएँ" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "जारी रखें" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "भेजें" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "पुन: लॉन्‍च करें" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "विवरण छिपाएँ" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "" #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "ऐसा लगता है कि इस पैकेज को सही ढंग से स्थापित नहीं करा गया है" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "यह एक आधिकारिक % s पैकेज नहीं है. किसी भी तीसरे पक्ष के पैकेज को हटाऐं और " "फिर कोशिश करें." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "आपके के पास कुछ लुप्तप्राय पैकेज के संस्करण संस्थापित हैं. कृपया निम्नलिखित " "पैकेजों का उन्नयन करें और अभी भी समस्या आने पर पुन: जाँच करेंः\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "अज्ञात प्रोग्राम" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "क्षमा करें, %s प्रोग्राम अनपेक्षित ढंग से बंद हो गया।" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "%s में समस्या" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "आपके कंप्युटर में समस्या का स्वतः विश्लेषण करने और विकासकर्ताओं को सूचित " "करने के लिये पर्याप्त रिक्त स्मृति नहीं है।" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "अमान्य समस्या सूचना" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "इस समस्या रिपोर्ट में आपके पहुँच की अनुमति नहीं है." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "त्रुटी" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" "इस रिपोर्ट को प्रक्रिया करने हेतु डिस्क में प्रर्याप्त जगह उपलब्ध नहीं है." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "आपको पैकेज या PID का विशिष्ट निर्देश देना होगा. अधिक जानकारी के लिए --help " "देखें." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "अनुमति निषेधित" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "यह आपका विशिष्ट निर्देश नहीं है. कृपया इस प्रोग्राम को प्रक्रिया " "उत्तराधिकारी के रुप में या रुट में चलाएं." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "अवैध पीआईडी" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "विशिष्ट निर्देश आईडी प्रोग्राम का हिस्सा नहीं है." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "पैकेज %s मोजूद नहीं है" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "रिपोर्ट बनाई नहीं जा सकती" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "समस्या रिपोर्ट को अद्यतन कर रहा है" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "आप या तो इस समस्या रिपोर्ट का अभिदाता रिपोर्टर नहीं है, या रिपोर्ट दोहरा है " "या पुर्ववत बंद हो चुका है.\n" "\n" "कृपया \"apport-bug\" का उपयोग कर एक नया रिपोर्ट बनाएं." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "इस समस्या रिपोर्ट का आप रिपोर्टर नहीं है. अपने टिप्पणी के साथ नए बग को " "संलग्न करने की तुलना में यह ज्याद आसान होगा कि बग को अन्य का नकल के रुप में " "रेखांकित किया जाए.\n" "\n" "पश्चात, हम सलाह देंगे कि आप जो रिपोर्ट भेजेगें उसमें नए बग रिपोर्ट को " "\"apport-bug\" का उपयोग कर तथा इस बग में अपनी टिप्पणी करें.\n" "\n" "क्या आप आगे की प्रक्रिया करेंगें?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "अतरिक्त सूचना संगृहित नहीं की जाएगी." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "किस तरह की समस्या का आप रिपोर्ट करना चाहते हैं?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "अज्ञात लक्षण" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "यह लक्षण \"%s\" ज्ञात नहीं है." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "इस संदेश के बंद होने के पश्चात कृपया अनुप्रयोग विंडो पर क्लिक कर समस्या के " "बारे में रिपोर्ट करें." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "xprop विंडो की प्रक्रिया आईडी को निर्धारित करने में असफल हो गया" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "%prog <report number>" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "संकुल नाम निर्दिष्ट करें." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "रिपोर्ट में एक अतरिक्त टैग जोड़े जिससे एकाधिक बार का उल्लेख हो सके." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "बग भरने की पद्धति में शुरु करें. आवश्यकता है --package तथा एक विकल्प --pid " "की या केवल एक --pid की. यदि कोई भी नहीं दिया हुआ हो, तो ज्ञात लक्षणों की " "सूची दिखाएं. (यदि एक ही तर्क दिया हो तो लागु करें.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "एक समस्या रपट दर्ज करने हेतु लक्ष्य विंडो पर क्लिक करें." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "बग अद्यतन पद्धति में चालु करें. एक विकल्प --package ले सकते हैं ." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "लक्षण के बारे में एक बग रिपोर्ट दाखिल करें. (जब लक्षण के नाम केवल तर्क के " "रुप में दिया गया हो तो लागु करें.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "पैकेज का नाम --file-bug पद्धति में वर्णन करें. यह वैकल्पिक होगा यदि एक --pid " "का वर्णन होगा. (जब पैकेज का नाम केवल तर्क के रुप में दिया गया हो तो लागु " "करें.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "एक चल रहे प्रोग्राम --file-bug पद्धति में का उल्लेख करें. यदि इसका उल्लेख " "है, तो दोष रपट अधिक सूचनात्मक हो जाएगा.(यह लागू हो यदि pid में केवल तर्क " "दिया होगा.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "विध्वंस रिपोर्ट को दिए गए .apport या .crash संचिका से करें बजाए %s में जो " "विचाराधीन है. (यदि तर्क के रुप में केवल संचिका दिया गया हो.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "यह समस्या सूचना क्षतिग्रस्त है तथा संसाधित नहीं की जा सकती." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "यह सूचना एक असंस्थापित पैकेज से संबंधित है ." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" �������������������������apport-2.20.1/po/hr.po������������������������������������������������������������������������������0000644�0000000�0000000�00000135317�12677230222�012633� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Croatian translation for apport # Copyright (c) 2006 Rosetta Contributors and Canonical Ltd 2006 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:45+0000\n" "Last-Translator: gogo <trebelnik2@gmail.com>\n" "Language-Team: Croatian <hr@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: hr\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "Apport" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "Odustani" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "U redu" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Izvještaj rušenja" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>Nažalost, dogodila se unutrašnja greška.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" "Ako primjetite daljne probleme, pokušajte ponovno pokrenuti računalo." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "Pošaljite izvješće greške kako bi pomogli popraviti ovaj problem" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "Zanemari buduće probleme za progam ove inačice" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Prikaži pojedinosti" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "_Pregledaj lokalno" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Ostavi zatvoreno" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Nastavi" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>Sakupljanje podataka o problemu</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "Skupljaju se informacije koje mogu pomoći razvojnom timu pri rješavanju " "problema koje prijavljujete." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "Slanje informacija o problemu" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>Učitavanje informacija o problemu</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "Prikupljene informacije se šalju sustavu za praćenje grešaka. Ovo može " "potrajati nekoliko minuta." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Apport datoteka o rušenju" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(binarni podatci)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "Aplikacija %s je neočekivano zaustavljena." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "%s se neočekivano zatvorio." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "%s je iskusio unutrašnju grešku." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Pošaljite izvještaj o problemu razvojnom timu?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Pošalji" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "Prisilno zatvoreno" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Pokreni ponovo" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "Aplikacija %s više ne odgovara." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "Program \"%s\" više ne odgovara." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Paket: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "Problem se dogodio tijekom instalacije softvera." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "Aplikacija %s je iskusila unutrašnju grešku." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "Aplikacija %s se zatvorila neočekivano." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "Zanemari buduće probleme ove vrste" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Sakrij pojedinosti" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Upotreba: %s <report> <target directory>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "Odredišni direktorji postiji i nije prazan." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "Korisničko Ime:" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "Lozinka:" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "Prikupljanje Informacija o Problemu" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Skupljanje informacija o problemu" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "Prikupljene informacije mogu biti poslane razvijateljima kako bi se " "aplikacija poboljšala. Ovo može potrajati nekoliko minuta." #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "Prenos Informacija o Problemu" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Prikupljanje informacija o sustavu" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "Ovjera je potrebna za prikupljanje informacija o sustavu za ovaj izvještaj " "problema" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "Izvještaji o problemu sustava" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" "Upišite svoju lozinku za pristup izvještajima problema programa sustava" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Prijavite problem..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Prijavite neispravnost razvojnom timu" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "Pogledajte man stranice za više pojedinosti." #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "odredi naziv datoteke zaspisa koju je stvorio valgrind" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" "ponovno koristi prije stvoreni sandbox direktorij (SDIR) ili, ako ne " "postoji, stvori ga" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" "ne stvaraj ili ponovno koristi sandbox direktorij za dodatne simbole " "otklanjanja greške nego se samo oslanjaj na instalirane simbole otklanjanja " "greške." #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" "ponovno koristi prije stvoreni direktorij predmemorije (CDIR) ili, ako ne " "postoji, stvori ga" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" "prijavi napredak preuzimanja/instalacije prilikom instalacije paketa u " "sandbox" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" "izvršna datoteka koja se pokreće pod valgrindovim alatom provjere memorije " "zbog otkrivanja problema s memorijom" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "Instaliraj dodatne pakete u sandbox (može se odrediti više puta)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "Greška: %s nije izvršna datoteka. Zaustavljanje." #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "Ne spremaj nove podatke u izvještaj, već ih zapiši u stdout." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "Pokreni interaktivnu gdb sesiju s izvještajima sadržaja jezgre (-o " "zanemareno; ne prepisuje izvještaj)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "Zapiši izmijenjen izvještaj za zadanu datoteku umjesto promjene izvornog " "izvještaja" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" "Ukloni sadržaj jezgre iz izvještaja nakon regeneracije opširnog zapisa" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "Zaobiđi datoteku jezgre izvještaja" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "Zaobiđi izvršnu putanju izvještaja" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "Zaobiđi ProcMaps izvještaja" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "Obnovi izvješća o informacijama paketa." #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" "Izgradi privremeni sandbox i preuzmi/instaliraj potrebne pakete i simbole " "otklanjanja greške, bez ove mogućnosti pretpostavljeno je da već imate " "instalirane potrebne pakete i simbole otklanjanja greške na sustavu. " "Argument ukazuje na sustav podešavanja paketa osnovnog direktorija, ako " "odredite \"sustav\", koristit će se datoteke podešavanja sustava, ali će " "onda samo biti moguće zapisivati rušenja koja su se dogodila na trenutno " "pokrenutom izdanju." #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" "Prijavi napredak preuzimanja/instalacije tijekom instalacije paketa u sandbox" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "Dodaj vremenske oznake u poruke zapisa, za skupne radnje" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" "Stvori i koristi repozitorije treće strane iz izvora navedenih u izvješću" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "Direktorij predmemorije za pakete preuzete u sandboxu" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" "Direktorij za neraspakirane pakete. Buduća pokretanja će pretpostaviti da " "svaki preuzeti paket je isto tako raspakiran u sandboxu." #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" "Putanja do datoteke s informacijom ovjere baze podataka rušenja. To se " "koristi pri određivanju ID-a rušenja za slanje ponovljenog opširnog " "zapisivanja (samo ako su -g, -o, ili -s određeni)" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "Prikaži ponovljeno opširno zapisivanje i traži potvrdu prije slanja u bazu " "podataka rušenja." #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" "Putanja do kopije sqlite baze podataka (zadano: bez provjere ima li još " "kopija)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "Ne možete koristiti -C bez -S. Zaustavljanje." #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "Jeli u redu otposlati ove privitke? [d/n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "Izgleda da ovaj paket nije ispravno instaliran" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "Ovo nije službeni %s paket. Uklonite sve pakete treće strane i pokušajte " "ponovno." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "Imate instalirane neke zastarjele inačice paketa. Nadogradite sljedeće " "pakete i provjerite ponavlja li se problem:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "nepoznati program" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Isprika, program \"%s\" se neočekivano zatvorio" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Problem u %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "Vaše računalo nema dovoljno slobodne memorije za automatsku analizu problema " "i slanje izvještaja razvijateljima." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Neispravan izvještaj o problemu" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "Niste ovlašteni za pristup ovom izvještaju o problemu." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Greška" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "Nema dovoljno prostora na disku za obradu ovog izvještaja." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "Nema određenih paketa" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "Morate odrediti paket ili PID. Pogledajte --help za više informacija." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Pristup odbijen" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "Određeni proces vam ne pripada. Pokrenite ovaj program kao root korisnik." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "Neispravan PID" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "Određeni ID proces ne pripada programu." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "Skripta simptoma %s nije odredila zahvaćeni paket" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "Paket %s ne postoji" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "Ne mogu napraviti izvještaj" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "Nadopuna izvještaja problema" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "Niste autor ili pretplatnik ovog izvještaja problema, moguće da je izvještaj " "kopija ili je već zatvoren.\n" "\n" "Napravite novi izvještaj koristeći \"apport-bug\"." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "Niste autor ovog izvještaja problema. Mnogo je jednostavnije označiti " "problem kao kopiju drugog izvještaja nego premještati vaše komentare i " "privitke na novi izvještaj.\n" "\n" "Nadalje, predlažemo vam prijavu novog izvještaja problema koristeći \"apport-" "bug\" i dodajte komentar o ovom problemu.\n" "\n" "Želite li stvarno nastaviti?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "Nisu prikupljene dodatne informacije." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "Kakav problem želite prijaviti?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Nepoznat simptom" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "Simptom \"%s\" nije poznat." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "Nakon zatvaranja ove poruke kliknite na prozor aplikacije za prijavu ovog " "problema." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "xprop nije uspio odrediti proces ID prozora" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "%prog <broj izvještaja>" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "Odredite naziv paketa." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "Dodajte dodatnu oznaku u izvještaj. Moguće je odrediti više puta." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [mogućnosti] [simptom|pid|paket|program putanja|.apport/.crash " "datoteka]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Početak načina prijave greške. Zahtijeva --package i po izboru --pid, ili " "ukratko samo --pid. Ako ni jedno nije navedeno, prikaži popis poznatih " "simptoma. (Podrazumijeva se ako je jedan argument zadan.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "Kliknite na prozor kao cilj za podnošenje izvještaja o problemu." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "Početak načina nadopune greške. Može se dodati po izboru --package." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "Prijavi izvještaj greške o simptomu. (Podrazumijeva ako je naziv simptoma " "naveden kao jedini argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "Navedite naziv paketa u --file-bug načinu. Ovo nije obavezno ako je --pid " "naveden. (Podrazumijeva se ako je naziv paketa naveden kao jedini argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "Navedite pokrenuti program u --file-bug načinu. Ako je naveden, izvještaj " "greške će sadržavati više informacija. (Podrazumijeva se ako je pid naveden " "kao jedini argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "Zadani pid prekida aplikaciju." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "Prijavite rušenje za zadanu .apport ili .crash datoteku umjesto onih " "nezavršenih u %s. (Podrazumijeva se ako je datoteka zadana kao jedini " "argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" "U načinu prijave greške, spremite prikupljene informacije u datoteku umjesto " "da je prijavite. Ta datoteka se zatim kasnije može prijaviti s drugog " "računala." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Ispiši broj Apport inačice." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" "To će pokrenuti apport-retrace u prozoru terminala zbog ispitivanja rušenja." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "Pokreni gdb sesiju" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "Pokreni gdb sesiju bez preuzimanja simbola otklanjanja greške" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "Nadopuni %s s potpunim simboličkim opširnim zapisom" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" "Ovaj izvještaj problema se odnosi na program koji više nije instaliran." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" "Dogodio se problem s programom %s koji se promijenio otkada se srušio." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "Ovaj izvještaj o problemu je oštećen i ne može biti obrađen." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "Izvještaj pripada paketu koji nije instaliran." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "Došlo je do greške pri pokušaju obrade izvještaja problema:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "Ne može se odrediti paket ili naziv izvornog paketa." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Nemoguće pokretanje Internet preglednika" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "Nemoguće pokretanje Internet preglednik za otvaranje %s." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" "Upišite informacije vašeg korisničkog računa za %s sustav praćenja grešaka" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Problem s mrežom" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "Nemoguće povezivanje na bazu podataka rušenja. Provjerite vaš pristup " "Internetu." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Nedostatak memorije" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "Vaš sustav nema dovoljno memorije za obradu ovog izvještaja o rušenju " "sustava." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "Ovaj problem se ne može se prijaviti:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Problem je već poznat" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "Ovaj problem je već prijavljen u izvještaju grešaka koji je prikazan u " "internet pregledniku. Provjerite možete li dodati neke dodatne informacije " "koje mogu pomoći razvijateljima." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "Ovaj problem je već prijavljen razvijateljima. Hvala Vam!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" "Ovo je nastalo tijekom prijašnje suspenzije i spriječilo je ispravno " "pokretanje sustava." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" "Ovo je nastalo tijekom prijašnje hibernacije i spriječilo je ispravno " "pokretanje sustava." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "Postupak pokretanja se prekinuo pred sam kraj i završit će se u potpunosti " "normalno." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Pritisnite bilo koju tipku za nastavak..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "Što želite napraviti? Vaše mogućnosti su:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Molim odaberite (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i bajtova)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "Nakon slanja izvještaja o problemu, molimo ispunite formular u\n" "automatski otvorenom internet pregledniku." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "&Pošaljite izvještaj (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "&Pregledaj lokalno" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "&Pogledajte izvještaj" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" "&Zadržite dokument izvještaja za kasnije slanje ili kopiranje na neko drugo " "mjesto" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "Poništi i &ignoriraj buduća rušenja ove verzije programa" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Odustani" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Dokument izvještaja o problemu:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&Potvrdi" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Greška: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "Prikupljene informacije mogu biti poslane razvojnom timu kako bi se " "aplikacija\n" "poboljšala. To može potrajati nekoliko minuta." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "Prikupljene informacije se šalju sustavu za praćenje grešaka.\n" "Ovo može potrajati nekoliko minuta." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Obavljeno" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "nijedno" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Označeno: %s. Višestruki izbori:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Izbori:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Putanja do datoteke ( Enter za prekid):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "Datoteka ne postoji." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "Ovo je direktorij." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "Da biste nastavili, morate posjetiti sljedeći URL:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "Sada možete pokrenuti pretreživač, ili kopirati URL u pretreživač na drugom " "računalu." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Sada pokrenite preglednik" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" "Nema neposlanih izvještaja o rušenju. Pokušajte --help za više informacija." #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "Možete pomoći razvojnom timu da riješi problem prijavom istog." #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "Paket \"%s\" se nije uspio instalirati ili nadograditi" #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "Potpun izvještaj (preporučeno; %s)" #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>Poslati izvještaj o problemu razvojnom timu?</b></big>\n" #~ "\n" #~ "Nakon što je izvještaj o problemu poslan, molim ispunite formular u " #~ "automatski otvorenom internet pregledniku." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "Ako niste radili nešto povjerljivo (unosili lozinke ili nešto slično), " #~ "možete pomoći u poboljšanju aplikacije prijavljivanjem problema razvojnom " #~ "timu." #~ msgid "Application problem" #~ msgstr "Problem s aplikacijom" #~ msgid "_Send Report" #~ msgstr "_Pošalji izvješće" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "Ako niste radili ništa povjerljivo (unosili lozinke ili druge\n" #~ "privatne informacije), možete pomoći unaprijediti aplikaciju prijavom\n" #~ "problema." #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s neočekivano prekinut na %s u %s." #~ msgid "Restart _Program" #~ msgstr "Ponovo pokreni _Program" #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">Nažalost, paket \"%s\" se nije uspio " #~ "instalirati ili nadograditi</span>" #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "&Pošaljite potpun izvještaj (preporučeno; %s)" #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "Sažeti izvještaj (spora Internet veza; %s)" #~ msgid "_Ignore future crashes of this program version" #~ msgstr "_Zanemari buduća rušenja ove verzije programa" #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "Pošaljite &sažeti izvještaj (spora Internet veza; %s)" #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "Ovo će odstraniti neke veće dijelove izvještaja. Oni su vrlo korisni " #~ "razvojnom timu za otklanjanje problema, ali mogu biti preveliki za slanje " #~ "ako imate sporu vezu s internetom." #~ msgid "&Report Problem..." #~ msgstr "&Prijavi Problem..." #~ msgid "_Report Problem..." #~ msgstr "_Prijavi problem..." #~ msgid "Kernel problem" #~ msgstr "Problem s kernelom" #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "" #~ "I vi možete pomoći razvojnom timu da popravi paket prijavom problema." #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "Ovo nije izvorni %s paket" #~ msgid "Content of the report" #~ msgstr "Sadržaj izvještaja" #~ msgid "Package problem" #~ msgstr "Problem s paketom" #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "" #~ "Netočan broj argumenata; upotrijebite --pomoć(ili --help) za kratku pomoć." #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Ovo se dogodilo tijekom prijašnje suspenzije i uzrokovalo je nepravilno " #~ "pokretanje." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Ovo se dogodilo tijekom prijašnje hibernacije i uzrokovalo je nepravilno " #~ "pokretanje." #~ msgid "Your system might become unstablenow and might need to be restarted." #~ msgstr "" #~ "Vaš sustav sada može postati nestabilan i možda treba biti ponovno pokrenut." #, python-format #~ msgid "Sorry, the application %s has closed unexpectedly." #~ msgstr "Nažalost, aplikacija %s se neočekivano zatvorila." �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/hu.po������������������������������������������������������������������������������0000644�0000000�0000000�00000143434�12677230222�012635� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Hungarian translation for apport # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:46+0000\n" "Last-Translator: Martin Pitt <martin.pitt@ubuntu.com>\n" "Language-Team: Hungarian <hu@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: hu\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "Apport" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "Mégse" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "Ok" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Összeomlás-jelentés" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>Elnézést, belső hiba történt.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" "Ha további problémákat észlel, próbálja meg újraindítani a számítógépet." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "Hibajelentés küldése a probléma megoldásának elősegítéséhez" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "Ezen programverzió további problémáinak figyelmen kívül hagyása" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Részletek megjelenítése" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "_Vizsgálat helyileg" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Bezárva hagyás" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Folytatás" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>Információgyűjtés a problémáról</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "Információk gyűjtése, amelyek segíthetik a fejlesztőket a jelentendő " "probléma megoldásában." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "A hibával kapcsolatos információk feltöltése" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>Hibainformációk feltöltése</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "Az összegyűjtött információk elküldésre kerülnek a hibakövető rendszerbe. Ez " "eltarthat néhány percig." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Apport jelentésfájl" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(bináris adatok)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "Elnézést, a(z) %s alkalmazás váratlanul leállt." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "Elnézést, a(z) %s váratlanul befejeződött." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "Elnézést, a(z) %s belső hibát észlelt." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Elküldi a hibajelentést a feljesztőknek?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Küldés" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "Kényszerítve a bezárásra" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Újraindítás" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "A(z) %s alkalmazás nem válaszol." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "A(z) „%s” program nem válaszol." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Csomag: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "Elnézést, hiba történt a szoftvertelepítés alatt." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "A(z) %s alkalmazás belső hibát észlelt." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "A(z) %s alkalmazás váratlanul befejeződött." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "Ilyen típusú problémák figyelmen kívül hagyása a jövőben" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Részletek elrejtése" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Használat: %s <jelentés> <célkönyvtár>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "A célkönyvtár létezik és nem üres." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "Felhasználónév:" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "Jelszó:" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "Információgyűjtés a hibáról" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Információgyűjtés a hibáról" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "Az összegyűjtött információk elküldhetők a fejlesztőknek az alkalmazás " "javítása érdekében. Ez eltarthat néhány percig." #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "A hibával kapcsolatos információk feltöltése" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Rendszer-információk összegyűjtése" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "A hibajelentéshez szükséges rendszer-információk összegyűjtéséhez " "hitelesítés szükséges." #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "Rendszerhiba-jelentések" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "Adja meg jelszavát a rendszerprogramok hibáinak eléréséhez" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Hiba jelentése…" #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Hibás működés jelentése a fejlesztőknek" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "Részletekért lásd a man oldalt." #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "Adja meg a Valgrind naplófájl nevét" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" "Korábban létrehozott sandbox mappa (SDIR) újra felhasználása, vagy ha nem " "létezik, létrehozása" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" "Ne hozzon létre vagy használjon fel újra homokozó mappát további " "hibakeresési szimbólumokhoz, csak a telepített hibakeresési szimbólumokat " "használja." #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" "Korábban létrehozott gyorsítókönyvtár (CDIR) újra felhasználása, vagy ha nem " "létezik, létrehozása" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" "Letöltési/telepítési folyamat jelentése csomagok telepítésekor a homokozóba" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "A végrehajtható, amelynek a memóriaszivárgását figyeli a Valgrind" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "Extra csomag homokozóba telepítése (többször is megadható)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "Hiba: a(z) %s nem végrehajtható. Leállítás." #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "A rendszer instabillá válhatott, és szükség lehet az újraindítására." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" "Ne tegye be az új nyomkövetéseket a jelentésbe, hanem írja ki a szabványos " "kimenetre." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "Interaktív gdb munkamenet indítása a jelentés memóriakiíratásával (a -o " "figyelmen kívül marad, nem írja újra a jelentést)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "Módosított jelentés írása a megadott fájlba az eredeti jelentés módosítása " "helyett" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" "A veremkiíratás ismételt előállítása után a memóriakiíratás eltávolítása a " "jelentésből" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "A jelentés CoreFile-jának felülbírálása" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "A jelentés ExecutablePath-jának felülbírálása" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "A jelentés ProcMaps-jának felülbírálása" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "A jelentés csomaginformációinak újjáépítése" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" "Ideiglenes homokozó létrehozása, majd ebbe a szükséges csomagok, " "hibakeresési szimbólumok letöltése/telepítése; enélkül feltételezi, hogy a " "szükséges csomagok és hibakeresési szimbólumok már telepítve lettek. Az " "argumentum a csomagkezelő rendszer konfigurációs alapkönyvtárára mutat; a " "„system” esetén a rendszer konfigurációs fájljait használja, de ekkor csak " "az aktuálisan futó kiadás összeomlásait lesz képes nyomon követni." #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" "Homokozóba történő telepítéskor a letöltés/telepítési folyamat kijelzése" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "Helyezzen időbélyegeket a naplóüzenetek elé, a kötegelt működéshez" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "Homokozóba letöltött csomagok gyorsítókönyvtára" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" "Kicsomagolt csomagok könyvtára. A jövőbeli futások feltételezik, hogy a már " "kicsomagolt csomagok ugyanebbe a homokozóba lesznek kicsomagolva." #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" "Az összeomlási adatbázis hitelesítési információit tartalmazó fájl útvonala. " "Ez összeomlási azonosító megadásakor használatos az ismételten nyomon " "követett veremkiíratások feltöltésekor (ha a -g, -o és -s egyike sincs " "megadva)" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "Ismételten nyomon követett veremkiíratások megjelenítése, és megerősítés " "kérése a beküldés előtt az összeomlási adatbázisba." #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" "Útvonal a kettőzött sqlite adatbázishoz (alapértelmezett: nincs ellenőrzés)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "Nem használhatja a -C kapcsolót az -S kapcsoló nélkül. Leállítás." #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "Elküldhetők ezek mellékletként? [y/n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "Úgy tűnik, ez a csomag nincs megfelelően telepítve" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "Ez nem egy hivatalos %s csomag. Távolítson el minden harmadik féltől " "származó csomagot és próbálja újra." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "Néhány csomagból egy elavult verzió van telepítve. Frissítse az alábbi " "csomagokat és ellenőrizze, hogy a probléma ezután is fennáll-e: \n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "ismeretlen program" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Elnézést, a(z) „%s” program váratlanul összeomlott." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Probléma a következőben: %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "A számítógépe nem rendelkezik elegendő szabad memóriával a probléma " "automatikus elemzéséhez és a jelentés elküldéséhez a fejlesztőknek." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Érvénytelen hibajelentés" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "A hibajelentés elérése nem engedélyezett" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Hiba" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "Nincs elegendő lemezterület a hiba feldolgozásához." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "Nincs megadva csomag" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "Meg kell adnia egy csomagot vagy PID azonosítót. További információkért " "tekintse meg a --help kapcsoló kimenetét." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Hozzáférés megtagadva" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "A megadott folyamat nem Önhöz tartozik. Ezt a programot a folyamat " "tulajdonosaként vagy rendszergazdaként futtassa." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "Érvénytelen PID" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "A megadott PID nem programhoz tartozik." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "A(z) %s tünetparancsfájl nem határozott meg érintett csomagot" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "A(z) %s csomag nem létezik" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "Nem készíthető jelentés" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "Hibajelentés frissítése" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "Ön nem beküldője vagy feliratkozottja a hibajelentésnek, vagy a jelentés egy " "duplikátum, esetleg már lezárták.\n" "\n" "Készítsen új jelentést az „apport-bug” használatával." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "Nem Ön küldte be a hibajelentést. Sokkal könnyebb megjelölni egy hibát egy " "másik duplikátumaként, mint átköltöztetni a hozzászólásait és mellékleteit " "egy új hibához.\n" "\n" "Emiatt azt ajánljuk, hogy nyisson egy új hibajelentést az „apport-bug” " "használatával, és küldjön egy hozzászólást ehhez a hibához az újonnan " "nyitottról.\n" "\n" "Biztosan folytatja?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "Nem került gyűjtésre további információ." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "Milyen problémát kíván jelenteni?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Ismeretlen tünet" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "A(z) „%s” tünet ismeretlen." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "Ezen üzenet bezárása után kattintson egy alkalmazásablakra az azzal " "kapcsolatos hiba jelentéséhez." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "Az xprop nem tudta meghatározni az ablak folyamatazonosítóját" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "%prog <jelentésszám>" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "Adja meg a csomagnevet." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "Extra címke hozzáadása a jelentéshez. Többször is megadható." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [kapcsolók] [tünet|pid|csomag|program elérési_út|.apport/.crash fájl]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Indítás hibabejelentő módban. A --package és egy elhagyható --pid, vagy csak " "egy --pid kapcsolót igényel. Ha egyik sincs megadva, az ismert tünetek " "listáját jeleníti meg. (Egy paraméter megadása is ezt jelenti.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "Kattintson egy ablakra az azzal kapcsolatos hiba jelentéséhez." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" "Indítás hibafrissítés módban. Opcionálisan használható a --package kapcsoló." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "Hiba bejelentése egy tünetről. (Ha az egyetlen paraméter tünetnév, az is ezt " "jelenti.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "Csomagnév megadása --file-bug módban. Ez elhagyható, ha a --pid meg van " "adva. (Ha az egyetlen paraméter egy csomagnév, az is ezt jelenti.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "Futó program megadása --file-bug módban. Ha ez meg van adva, a hibajelentés " "több információt fog tartalmazni." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "A megadott PID egy nem válaszoló alkalmazásra mutat." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "Az összeomlás bejelentése adott .apport vagy .crash fájlból, a(z) %s alatt " "függőben lévők helyet. (Ha az egyetlen paraméter egy fájl, az is ezt " "jelenti.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" "Hibajelentő módban az összegyűjtött információk mentése fájlba a bejelentés " "helyett. Ez a fájl később másik gépről beküldhető." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Az Apport verziószámának megjelenítése." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" "Ez meg fogja nyitni az apport-retrace-t egy terminálban, hogy az " "megvizsgálja az összeomlást." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "gdb folyamat futtatása" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "gdb folyamat futtatása a hibakeresési szimbólumok letöltése nélkül" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "%s frissítése teljes szimbolikus veremkiíratással" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" "Ez a problémajelentés egy olyan programra vonatkozik, amely már nincs " "telepítve." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" "A hiba a(z) „%s” programmal lépett fel, amely megváltozott az összeomlás óta." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "A hibajelentés megsérült és nem dolgozható fel." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "A jelentés egy nem telepített csomaghoz tartozik." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "Hiba történt a következő hibabejelentés feldolgozása közben:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "A csomag vagy forrás neve nem állapítható meg." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "A webböngésző nem indítható." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "A(z) „%s” megnyitásához nem lehet elindítani a webböngészőt." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "Adja meg fiókadatait a(z) %s hibakövető rendszerhez" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Hálózati probléma" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "Nem lehet kapcsolódni az összeomlás-adatbázishoz, ellenőrizze az " "internetkapcsolatát." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Elfogyott a memória" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "A rendszere nem rendelkezik elegendő memóriával ezen összeomlásjelentés " "feldolgozásához." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "A hiba nem jelenthető:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "A probléma már ismert." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "Ez a probléma már ismert, a webböngészőjében megjelent a hozzátartozó " "hibajelentés. Ellenőrizze, hogy tud-e további információkkal szolgálni, " "amelyek hasznosak lehetnek a fejlesztők számára." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "Ez a probléma már jelentve volt a fejlesztőknek. Köszönjük!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" "Ez egy korábbi felfüggesztés közben történt, és ezzel megakadályozta a " "rendszer megfelelő indulását." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" "Ez egy korábbi hibernálás közben történt, és ezzel megakadályozta a rendszer " "megfelelő indulását." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "A folytatás feldolgozása a vége felé megszakadt, és úgy fog tűnni, hogy " "normálisan befejeződött." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "A folytatáshoz nyomjon le egy billentyűt…" #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "Mit szeretne tenni? A lehetőségek:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Válasszon (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i bájt)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "A hibajelentés elküldése után töltse ki a kérdőívet az\n" "automatikusan megnyíló webböngészőben." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "&Hibajelentés küldése (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "&Vizsgálat helyileg" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "Hi&bajelentés megtekintése" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "Hibajelentés megtartása &későbbi küldésre, vagy más helyre másolásra" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" "Mégse, és ezentúl a programverzió összeomlásainak figyelmen &kívül hagyása" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "Mé&gse" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Hibajelentésfájl:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "Meg&erősítés" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Hiba: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "Az összegyűjtött információkat elküldheti a fejlesztőknek, hogy " "javíthassanak\n" "az alkalmazáson. A küldés eltarthat pár percig." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "Az összegyűjtött információk elküldése a hibakövető rendszernek.\n" "Ez eltarthat pár percig." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Kész" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "nincs" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Kiválasztva: %s. További lehetőségek:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Lehetőségek:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Fájl helye (kilépés enterrel):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "A fájl nem létezik." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "Ez egy könyvtár." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "A folytatáshoz meg kell nyitnia a következő URL-címet:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "Elindíthatja most a böngészőt, vagy átmásolhatja ezt az URL-címet egy másik " "számítógépen lévő böngészőbe." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Böngésző indítása most" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" "Nincs függőben lévő összeomlás-jelentés. \r\n" "További információkért tekintse meg a --help kapcsoló kimenetét." #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "" #~ "Amennyiben hibajelentést küld, a hiba kijavításában segíti a fejlesztőket." #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "A(z) „%s” csomagot nem sikerült telepíteni vagy frissíteni." #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "Teljes jelentés (ajánlott; %s)" #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>Elküldi a hibajelentést a fejlesztőknek?</b></big>\n" #~ "\n" #~ "A hibajelentés elküldése után töltse ki (angolul) a böngészőben " #~ "automatikusan megnyíló űrlapot." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "Ha nem csinált semmi bizalmasat (jelszó vagy egyéb személyes információk " #~ "beírása), a hiba jelentésével segíthet az alkalmazás továbbfejlesztésében." #, python-format #~ msgid "Sorry, %s closed unexpectedly" #~ msgstr "Elnézést, a következő váratlanul befejeződött: %s" #~ msgid "Application problem" #~ msgstr "Alkalmazásprobléma" #~ msgid "&Details..." #~ msgstr "&Részletek..." #~ msgid "_Send Report" #~ msgstr "_Jelentés küldése" #~ msgid "Generic error" #~ msgstr "Általános hiba" #~ msgid "" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "A hibajelentés elküldése után töltse ki a webböngészőben automatikusan " #~ "megnyíló űrlapot." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "Ha éppen semmi bizalmasat sem végzett (jelszavak vagy egyéb \n" #~ "magánjellegű információk bevitele), a hiba bejelentésével segíthet \n" #~ "a fejlesztőknek annak javításában." #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s váratlanul befejeződött (%s %s)." #~ msgid "Restart _Program" #~ msgstr "_Program újraindítása" #, python-format #~ msgid "Sorry, the package \"%s\" failed to install or upgrade." #~ msgstr "" #~ "Elnézést, a(z) \"%s\" csomagot nem sikerült telepíteni vagy frissíteni." #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "Teljes hibajelentés &küldése (ajánlott; %s)" #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "Egyszerűsített jelentés (lassú internetkapcsolat esetén; %s)" #, python-format #~ msgid "Sorry, %s closed unexpectedly." #~ msgstr "Elnézést, a következő váratlanul befejeződött: %s." #~ msgid "_Ignore future crashes of this program version" #~ msgstr "A program t_ovábbi összeomlásainak figyelmen kívül hagyása" #~ msgid "Restart &Program" #~ msgstr "&Program újraindítása" #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "" #~ "&Csökkentett hibajelentés küldése (lassú internetkapcsolat esetén; %s)" #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "Ez eltávolítja a jelentés néhány nagy méretű elemét. Ezek nagyon hasznosak a " #~ "fejlesztők számára a hiba megkeresésében, de lassú internetkapcsolat esetén " #~ "túl nagyok lehetnek a feltöltéshez." #~ msgid "&Send" #~ msgstr "&Küldés" #~ msgid "Kernel problem" #~ msgstr "Kernelprobléma" #~ msgid "&Ignore future crashes of this program version" #~ msgstr "A &programverzió jövőbeli összeomlásainak figyelmen kívül hagyása" #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "A hiba jelentésével segítheti a fejlesztőket a csomag javításában." #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "Ez nem eredeti %s csomag" #, python-format #~ msgid "Sorry, the program \"%s\" closed unexpectedly." #~ msgstr "Elnézést, a következő program váratlanul befejeződött: %s" #~ msgid "Package problem" #~ msgstr "Csomagprobléma" #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "A rendszer súlyos rendszermag-problémát észlelt." #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Ez egy korábbi felfüggesztés során történt, és megakadályozta a szabályos " #~ "folytatást." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Ez egy korábbi hibernáció során történt, és megakadályozta a szabályos " #~ "folytatást." #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [kapcsolók] <apport hibajelentés | összeomlás-azonosító>" #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">Elnézést, a(z) „%s” csomag telepítése " #~ "vagy frissítése meghiúsult.</span>" #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "" #~ "Helyi műveletet kell végeznie (-s, -g, -o), vagy meg kell adnia egy " #~ "hitelesítési fájlt (--auth); használja a --help kapcsolót a tömör súgóhoz" #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "" #~ "A paraméterszám nem megfelelő, használja a --help kapcsolót a tömör súgóhoz" #~ msgid "_Report Problem..." #~ msgstr "_Hiba jelentése…" #~ msgid "&Report Problem..." #~ msgstr "&Hiba jelentése…" #~ msgid "Send this data to the developers?" #~ msgstr "Elküldi az adatokat a fejlesztőknek?" #~ msgid "Content of the report" #~ msgstr "Jelentés tartalma" #, python-format #~ msgid "Sorry, the application %s has closed unexpectedly." #~ msgstr "Elnézést, a(z) %s alkalmazás váratlanul befejeződött." #~ msgid "Your system might become unstablenow and might need to be restarted." #~ msgstr "A rendszer instabillá válhat, szükség lehet az újraindítására." ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/hy.po������������������������������������������������������������������������������0000644�0000000�0000000�00000100100�12677230222�012620� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Armenian translation for apport # Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2011. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2011-10-07 06:10+0000\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: Armenian <hy@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:17+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: hy\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "" #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "" #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/ia.po������������������������������������������������������������������������������0000644�0000000�0000000�00000100106�12677230222�012577� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Interlingua translation for apport # Copyright (c) 2015 Rosetta Contributors and Canonical Ltd 2015 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2015. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-28 12:42+0000\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: Interlingua <ia@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: ia\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "" #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "" #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/id.po������������������������������������������������������������������������������0000644�0000000�0000000�00000136545�12677230222�012622� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Indonesian translation for apport # Copyright (c) 2006 Rosetta Contributors and Canonical Ltd 2006 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:46+0000\n" "Last-Translator: Cecep Mahbub <cecep.mahbub@gmail.com>\n" "Language-Team: Indonesian <id@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: id\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "Apport" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "Batal" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "OK" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Laporan crash" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>Maaf, terjadi kesalahan internal.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" "Bila Anda menemui masalah lebih lanjut, cobalah memulai ulang komputer." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "Mengirim laporan kesalahan dapat membantu memperbaiki masalah ini" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "Abaikan masalah atas versi program ini di masa mendatang" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Tunjukkan Rincian" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "P_eriksa secara lokal" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Biarkan Tertutup" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Lanjutkan" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>Mengumpulkan informasi permasalahan</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "Informasi yang dikumpulkan akan dapat membantu para pengembang untuk " "memperbaiki masalah yang Anda laporkan." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "Mengunggah informasi masalah" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>Unggah informasi masalah</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "Iniformasi yang dikumpulan telah dikirim ke sistem pelacak bug. Hal ini " "membutuhkan waktu beberapa menit." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Berkas crash Apport" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(data biner)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "Maaf, aplikasi %s telah berhenti secara tak terduga." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "Maaf, %s telah tertutup secara tak terduga." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "Maaf, %s telah mengalami galat internal." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Kirim laporan masalah ke para pengembang?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Kirim" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "Paksakan Ditutup" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Luncurkan Ulang" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "Aplikasi %s telah berhenti merespon." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "Program \"%s\" telah berhenti merespon." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Paket: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "Maaf, terjadi masalah ketika memasang perangkat lunak." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "Aplikasi %s telah mengalami galat internal." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "Aplikasi %s telah tertutup tanpa diharapkan." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "Abaikan masalah tipe ini di masa mendatang" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Sembunyikan Rincian" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Cara pakai: %s <laporan> <direktori target>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "Direktori tujuan ada dan tak kosong." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "Nama pengguna:" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "Sandi:" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "Mengumpulkan Informasi Masalah" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Mengumpukan informasi masalah" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "Informasi yang dikumpulkan dapat dikirim ke para pengembang untuk " "meningkatkan aplikasi. Ini mungkin perlu waktu beberapa menit." #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "Mengunggah Informasi Masalah" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Kumpulkan informasi sistem" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "Perlu otentikasi untuk mengumpulkan informasi sistem bagi laporan masalah ini" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "Laporan masalah sistem" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" "Harap masukkan sandi Anda untuk mengakses laporan masalah dari program sistem" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Laporkan masalah..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Lapor kegagalan kepada pengembang" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "Lihat rincian di laman man" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "nyatakan nama berkas log yang dihasilkan oleh valgrind" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" "pakai ulang dir kotak pasir yang sebelumnya dibuat (SDIR), atau bila belum " "ada, buatlah" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" "jangan buat atau pakai ulang direktori kotak pasir untuk simbol awakutu " "tambahan tapi hanya bergantung kepada simbol awakutu yang telah dipasang" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" "pakai ulang dir singgahan yang sebelumnya dibuat (CDIR), atau bila belum " "ada, buatlah" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" "laporkan kemajuan unduh/pasang ketika memasang paket ke dalam kotak pasir" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" "executable yang dijalankan di bawah perkakas memcheck valgrind untuk deteksi " "kebocoran memori" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" "Pasang suatu paket ekstra ke dalam kotak pasir (dapat dinyatakan berkali-" "kali)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "Galat: %s bukan executable. Menghentikan." #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" "Sistem Anda mungkin menjadi tak stabil sekarang dan mungkin perlu distart " "ulang." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" "Jangan letakkan pelacakan baru ke dalam laporan, tapi tulis mereka ke stdout." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "Mulai sesi gdb interaktif dengan core dump dari laporan (-o diabaikan; tidak " "menulis laporan)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "Tulis laporan yang diubah ke berkas yang diberikan alih-alih mengubah " "laporan asli" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "Buang core dump dari laporan setelah regenerasi stack trace" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "Timpa CoreFile laporan" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "Timpa ExecutablePath laporan" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "Timpa ProcMaps laporan" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "Bangun ulang informasi Package laporan" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" "Bangun suatu kotak pasir sementara dan unduh/pasang paket-paket yang " "diperlukan dan simbol awakutu di sana; tanpa opsi ini diasumsikan bahwa " "paket-paket dan simbol awakutu yang diperlukan telah terpasang dalam sistem. " "Argumen menunjuk ke direktori dasar konfigurasi sistem pemaketan; bila Anda " "menyatakan \"system\", itu akan memakai berkas konfigurasi sistem, tapi " "hanya akan dapat melacak ulang crash yang terjadi pada rilis yang kini " "sedang berjalan." #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" "Laporkan kemajuan pengunduhan/pemasangan ketika memasang paket ke dalam " "kotak pasir" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "Awali pesan log dengan penanda waktu, bagi operasi batch" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" "Buat dan pakai repositori pihak ketiga dari sumber yang dinyatakan dalam " "laporan" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "Direktori singgahan bagi paket yang diunduh dalam kotak pasir" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" "Direktori untuk paket yang dibuka kemasannya. Eksekusi di masa mendatang " "akan menganggap bahwa paket yang telah diunduh juga diekstrak ke kotak pasir " "ini." #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" "Path ke berkas dengan informasi otentikasi basis data crash. Ini dipakai " "ketika menyatakan ID crash untuk mengunggah jejak stack yang dilacak ulang " "(hanya bila -g, -o, maupun -s tak dinyatakan)" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "Tampilkan jejak stack yang dilacak ulang dan tanyakan persetujuan sebelum " "mengirim mereka ke basis data crash." #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "Path ke basis data sqlite duplikat (baku: tak ada uji duplikasi)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "Anda tidak bisa menggunakan -C tanpa -S. Sedang menghentikan." #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "Ok untuk mengirim lampiran-lampiran ini? [y/t]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "Paket ini nampaknya tak terpasang secara benar" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "Ini bukan paket %s resmi. Harap hapus sebarang paket pihak ketiga dan coba " "lagi." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "Paket yang Anda instal sudah obsolete. Silakan perbaharui paket berikut dan " "periksa apakah masih terjadi masalah:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "program tak dikenal" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Maaf, program \"%s\" ditutup tak disangka-sangka" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Masalah di %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "Komputer anda sepertinya tidak memiliki cukup memori bebas untuk secara " "otomatis menganalisa masalah dan mengirimkan laporan pada pengembang." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Laporan masalah tidak valid" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "Anda tak diijinkan untuk mengakses laporan masalah ini." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Galat" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "Tak tersedia ruang cakram yang cukup untuk mengolah laporan ini." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "Tak ada paket yang dinyatakan" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "Anda perlu menyatakan suatu paket atau sebuah PID. Lihat --help untuk " "informasi lebih." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Tak diijinkan" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "Proses berikut tidak dimiliki oleh Anda. Silakan jalankan program ini dengan " "mengunakan root atau pemilik proses." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "PID tak valid" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "ID proses yang dinyatakan bukan milik suatu program." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "Skrip gejala %s tak menentukan paket yang terpengaruh" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "Paket %s tidak ada" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "Tidak dapat membuat laporan" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "Sedang memperbarui laporan masalah" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "Anda bukan pelapor atau pelanggan dari laporan masalah ini, atau laporan " "adalah duplikat atau sudah ditutup.\n" "\n" "Silakan membuat suatu laporan baru memakai \"apport-bug\"." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "Anda bukan pelapor dari laporan masalah ini. Lebih mudah untuk menandai " "suatu kutu sebagai duplikat dari lainnya daripada memindah komentar dan " "lampiran Anda ke suatu kutu baru.\n" "\n" "Akibatnya, kami menyarankan agar Anda mengirim suatu laporan kutu baru " "memakai \"apport-bug\" dan membuat komentar dalam kutu ini tentang yang Anda " "kirimkan.\n" "\n" "Apakah Anda yakin ingin meneruskan?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "Tidak ada informasi tambahan yang dikumpulkan" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "Masalah macam apa yang ingin Anda laporkan?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Gejala tak dikenal" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "Gejala '%s' tak dikenal." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "Setelah menutup pesan ini silakan klik pada jendela aplikasi untuk " "melaporkan masalah tentang hal ini." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "xprop gagal untuk menentukan ID proses dari jendela" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "%prog <report number>" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "Tentukan nama paket." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" "Tambahkan label tambahan untuk laporan. Dapat memasukkan beberapa label " "sekaligus." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "%prog [opsi] [gejala|pid|paket|path program|berkas .apport/.crash]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Mulai dalam moda pelaporan kutu. Memerlukan --package dan opsional --pid, " "atau hanya --pid. Bila keduanya tak diberikan, tampilkan daftar dari gejala " "yang telah diketahui. (Otomatis bila argumen tunggal diberikan.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "Klik jendela sebagai target untuk mengajukan laporan masalah." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "Memulai mode memperbarui bug. Dapat mengambil optional --package." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "Laporkan kutu tentang suatu gejala. (Otomatis bila nama gejala diberikan " "sebagai argumen tunggal.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "Nyatakan nama paket dalam moda --file-bug. Ini opsional bila suatu --pid " "dinyatakan. (Otomatis bila nama paket diberikan sebagai argumen tunggal.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "Nyatakan suatu program yang sedang berjalan dalam mode --file-bug. Bila ini " "dinyatakan, laporan kutu akan memuat lebih banyak informasi. (diasumsikan " "bila pid diberikan sebagai satu-satunya argumen.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "Pid yang diberikan adalah aplikasi yang hang." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "Laporkan crash dari berkas .apport atau .crash alih-alih dari yang tertunda " "di %s. (Otomatis bila berkas diberikan sebagai argumen tunggal.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" "Dalam mode pelaporan kutu, simpan informasi yang terkumpul ke dalam suatu " "berkas alih-alih melaporkannya. Berkas ini kemudian dapat dilaporkan nanti " "atau dari mesin lain." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Cetak nomor versi Apport." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" "Ini akan meluncurkan apport-retrace dalam suatu jendela terminal untuk " "memeriksa crash." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "Memulai sesi gdb" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "Memulai sesi gdb tanpa mengunduh simbol debug" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "Mutakhirkan %s dengan pelacakan stack simbol lengkap" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" "Laporan masalah berlaku bagi suatu program yang telah tak terpasang lagi." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" "Terjadi masalah dengan program %s yang berubah semenjak terjadinya crash." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "Laporan permasalah gagal dan tidak dapat diproses." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "Laporan ini milik paket yang tidak dipasang." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "Terjadi kesalahan ketika mencoba untuk memproses laporan masalah:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "TIdak dapat menentukan nama paket atau nama paket sumber." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "TIdak dapat menjalankan perambah web" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "TIdak dapat menjalankan perambah web untuk membuka %s." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "Silakan masukkan informasi akun Anda bagi sistem pelacakan kutu %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Masalah di jaringan" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "Tak bisa menyambung ke basis data crash, silakan periksa sambungan Internet " "Anda." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Kehabisan memori" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "Sistem Anda tidak memiliki memori yang cukup untuk memproses laporan crash " "ini." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "Permasalahan yang tidak dapat dilaporkan:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Masalah sudah diketahui" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "Masalah ini telah dilaporkan dalam laporan kutu yang ditampilkan di peramban " "web. Silakan periksa apakah Anda dapat menambah informasi lebih lanjut yang " "mungkin berguna bagi para pengembang." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "Masalah ini sudah dilaporkan ke pengembang. Terima kasih!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" "Ini terjadi saat suspensi sebelumnya, dan mencegah sistem melanjutkan secara " "benar." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" "Ini terjadi saat hebernasi sebelumnya, dan mencegah sistem melanjutkan " "secara benar." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "Pemrosesan pelanjutan menggantung sangat dekat dengan ujung dan akan nampak " "seperti komplit secara normal." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Tekan sembarang tombol untuk lanjut..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "Apa yang ingin Anda lakukan? Pilihan Anda adalah:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Silakan pilih (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i bytes)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "Setelah laporan masalah dikirim, silakan mengisi formulir di peramban\n" "web yang otomatis dibuka." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "&Kirim laporan (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "P&eriksa secara lokal" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "&Tilik laporan" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" "Simpan ber&kas laporan untuk pengiriman nanti atau penyalinan ke tempat lain" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "Batalkan dan aba&ikan crash di masa mendatang dari versi program ini" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Batal" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Berkas laporan masalah:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&Konfirmasi" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Galat: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "Informasi yang dikumpulkan dapat dikirim ke para pengembang untuk\n" "memperbaiki aplikasi. Ini mungkin makan waktu beberapa menit." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "Informasi yang dikumpulan sedang dikirim ke sistem pelacak kutu.\n" "Ini mungkin makan waktu beberapa menit." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Selesai" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "tak ada" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Terpilih: %s. Pilihan berganda:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Pilihan:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Path ke berkas (Enter untuk membatalkan):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "Berkas tidak ada." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "Ini bukan direktori." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "Untuk melanjutkan, Anda mesti mengunjungi URL berikut:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "Anda dapat meluncurkan sebuah peramban sekarang, atau menyalin URL ini ke " "dalam peramban pada komputer lain." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Luncurkan sebuah peramban sekarang" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "Tak ada laporan crash tertunda. Coba --help untuk informasi lebih." #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "Laporan penuh (disarankan; %s)" #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>Kirim laporan masalah ke pengembang?</b></big>\n" #~ "\n" #~ "Setelah laporan masalah telah dikirim, harap isi formulir pada jendela " #~ "browser yang otomatis terbuka." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "Jika Anda tidak melakukan hal-hal yang bersifat rahasia (memasukkan kata " #~ "sandi atau informasi pribadi lainnya), Anda dapat membantu untuk memperbaiki " #~ "kinerja aplikasi ini dengan cara melaporkan masalah." #~ msgid "Application problem" #~ msgstr "Masalah pada aplikasi" #~ msgid "_Send Report" #~ msgstr "_Kirim Laporan" #~ msgid "Restart _Program" #~ msgstr "Restart _Program" #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">Maaf, paket \"%s\" gagal diinstal atau " #~ "diperbaharui.</span>" #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "Laporan singkat (koneksi internet lambat; %s)" #~ msgid "_Report Problem..." #~ msgstr "_Laporkan masalah..." #~ msgid "Kernel problem" #~ msgstr "Masalah di kernel" #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "" #~ "Anda dapat membantu pengembang untuk memperbaiki paketnya dengan melaporkan " #~ "masalahnya." #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "Ini bukan paket %s yang asli" #~ msgid "Content of the report" #~ msgstr "Isi dari laporan" #~ msgid "Package problem" #~ msgstr "Masalah pada paket" #~ msgid "&Report Problem..." #~ msgstr "Lapo&rkan Masalah..." #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "Paket \"%s\" gagal dipasang atau ditingkatkan." #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "Sistem Anda mengalami masalah kernel serius." #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "" #~ "Anda dapat membantu para pengembang untuk memperbaiki masalah dengan " #~ "melaporkannya." #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "Kirim laporan lengkap (di&sarankan; %s)" #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "Ki&rim laporan singkat (sambungan Internet lambat; %s)" #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Ini terjadi selama suspensi sebelumnya dan mencegahnya melanjutkan dengan " #~ "benar." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Ini terjadi selama hibernasi sebelumnya dan mencegahnya melanjutkan dengan " #~ "benar." #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "Ini akan menghapus beberapa item besar dari laporan. Mereka sangat berguna " #~ "bagi para pengembang untuk mengawakutu masalah, tapi mungkin terlalu besar " #~ "bagi Anda untuk mengunggah bila Anda memiliki sambungan Internet yang lambat." #~ msgid "_Ignore future crashes of this program version" #~ msgstr "Aba_ikan crash di masa mendatang dari versi program ini" #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [opsi] <laporan masalah apport | ID crash>" #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "cacah argumen salah; gunakan --help untuk bantuan singkat" #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "" #~ "Anda perlu melakukan operasi lokal (-s, -g, -o) atau memberikan berkas " #~ "otentikasi (--auth); lihat --help untuk bantuan singkat" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "Bila Anda tak lakukan apapun yang rahasia (memasukkan kata sandi atau " #~ "informasi\n" #~ "pribadi lainnya), Anda dapat membantu memperbaiki aplikasi dengan " #~ "melaporkan\n" #~ "masalah ini." #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s tertutup tak terduga di %s pada %s." #~ msgid "Your system might become unstablenow and might need to be restarted." #~ msgstr "" #~ "Sistem Anda mungkin menjadi tak stabil saat ini dan mungkin perlu dimulai " #~ "ulang." �����������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/is.po������������������������������������������������������������������������������0000644�0000000�0000000�00000125163�12677230222�012633� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Icelandic translation for apport # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2008. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:46+0000\n" "Last-Translator: Páll Haraldsson <Pall.Haraldsson@gmail.com>\n" "Language-Team: Icelandic <is@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: is\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "Apport" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Hrunskýrsla" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>Því miður, upp kom innri villa.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" "Ef þú verður var við fleiri vandamál, reyndu þá að endurræsa tölvuna." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "Senda villuskýrslu til að hjálpa til við lausn þessa vandamáls" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "Hunsa frekari vandamál í þessarri útgáfu forrits" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Sýna ítarlegri upplýsingar" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "Skoða _hér" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Skilja eftir lokað" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Halda áfram" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>Safna upplýsingum um vandamál</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "Er að safna upplýsingum sem gætu hjálpað forriturum að laga vandann sem þú " "tilkynnir" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "Sendi vandamálsskýrslu" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>Sendi vandamálsskýrslu</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "Er að senda upplýsingarnar á villukerfið. Þetta gæti tekið nokkrar mínútur." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Apport villuskrá" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(gögn í tvíundakerfi)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "Því miður, forritið %s hætti óvænt." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "Því miður, forritið %s lokaði óvænt." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "Því miður, %s hefur lent í innri villu." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Senda vandamálsskýrslu til forritara?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Senda" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "Þvinga til að loka" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Keyra aftur upp" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "Forritið %s hætti að svara." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "Forritið %s hætti að svara." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Pakki: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "Því miður, vandamál kom upp við upppsetningu hugbúnaðar." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "Forritið %s lenti í innri villu." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "Forritið %s lokaði óvænt." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "Hunsa svona vandamál héðan í frá" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Fela nánari upplýsingar" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Notkun: %s <report> <target directory>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "Notandanafn:" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "Lykilorð:" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "Safna saman upplýsingum um vandamál" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Safna saman upplýsingum um vandamál" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "Söfnuðum upplýsingum er hægt að koma til forritaranna til að bæta forritið. " "Þetta gæti tekið nokkrar mínútur." #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "Sendi upplýsingar um vandamálið" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Safna kerfisupplýsingum" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "Auðkenningar er krafist fyrir söfnun á kerfisupplýsingum fyrir þessa " "villuskýrslu" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "Vandamálaskýrslur kerfis" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "Sláðu inn lykilorð til að fá aðgang að villuskýrslum kerfisforrita" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Tilkynna vandamál..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Tilkynna bilun til forritara" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "Sjá nánar á man-síðu." #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" "endurnýta sandkassamöppu (SDIR) sem þegar hefur verið búin til eða, ef hún " "er ekki til, búa hana til" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" "ekki búa til né endurnýta sandkassamöppu fyrir auka aflúsunarmerki heldur " "aðeins treysta á uppsett aflúsunarmerki." #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" "endurnýta skyndiminnismöppu (CDIR) sem þegar hefur verið búin til eða, ef " "hún er ekki til, búa hana til" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "Villa: %s er ekki keyranlegt forrit. Hætti." #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" "Kerfið þitt verður kannski óstöðugt núna og þarf hugsanlega að endurræsa það." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "Þú getur ekki notað -C án -S. Hætti." #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "Er allt í lagi að senda þetta sem sem viðhengi? [y/n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "Þessi pakki virðist ekki rétt upp settur" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "Þú er með uppsettar einhverjar úreltar útgáfur af pökkum. Endilega uppfærðu " "eftirfarandi pakka og athugaðu hvort vandamálið endurtekur sig:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "óþekkt forrit" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Fyrirgefðu, forritið \"%s\" hætti óvænt" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Vandamál í %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "Tölvan þín hefur ekki nóg laust innra minni til að greina sjálfkrafa " "vandamálið og senda til forritaranna." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Ógild vandamálsskýrsla" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "Þú hefur ekki leyfi til að skoða þessa skýrslu." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Villa" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "Það er ekki nóg diskpláss til að vinna úr skýrslunni." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "Enginn pakki valinn" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "Þú þarft að tilgreina pakka eða PID. Sjá --help fyrir meiri upplýsingar." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Aðgangur bannaður" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "Tiltekið ferli tilheyrir þér ekki. Keyrðu þetta forrit sem eigandi ferlisins " "eða sem kerfisstjórnandi" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "Ógilt PID" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "Þetta ID tilheyrir ekki neinu forriti." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "Pakki %s er ekki til" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "Uppfæri villuskýrslu" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "Þú ert ekki tilkynnandi eða áskrifandi að þessarri villuskýrslu, eða " "skýrslan er tvítekin eða nú þegar lokuð.\n" "\n" "Búðu til nýja skýrslu með ‚apport-bug‘." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "Þú ert ekki tilkynnandi þessarar villuskýrslu. Mun auðveldara er að merkja " "villu sem tvítekningu annarrar heldur en að færa athugasemdir og viðhengin " "þín í nýja villu.\n" "\n" "Þar af leiðir ráðleggjum við að þú sendir inn nýja villuskýrslu með ‚apport-" "bug‘ og búir til athugasemd í þessarri villu um þá skýrslu.\n" "\n" "Ertu alveg viss þú viljir halda áfram?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "Hvers konar forrit viltu senda skýrslu um?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Óþekkt einkenni" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "Einkennið „%s“ er ekki þekkt." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "Eftir lokun þessa skilaboða, smelltu á forritsglugga til að skrá villu um " "hann." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "Tilgreindu pakkaheiti." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "Gefna PID-ið er forrit sem hangir." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Gefa Apport útgáfunúmerið." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "Þessi vandamálaskýrsla á við forrit sem er ekki uppsett lengur." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" "Vandamálið kom fyrir í forritunu %s sem er breytt síðan síðasta hrun varð." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "Skýrslan er löskuð og ég get ekki unnið úr henni" #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "Þessi skýrsla tilheyrir pakka sem ekki er uppsettur" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "Villa kom upp þegar reynt var að vinna þessa villuskýrslu:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "Gat ekki ákveðið nafn pakka eða grunnpakka" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Gat ekki ræst vefvafra" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "Gat ekki ræst vefvafra til að opna %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "Sláðu inn aðgangsupplýsingar þínar fyrir %s villukerfið." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Vandamál með nettengingu" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "Get ekki tengst við gagnagrunn, athugaðu nettenginguna." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Minnisvandamál" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "Kerfið þitt hefur ekki nóg vinnsluminni til að vinna úr þessari skýrslu." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "Ekki hægt að tilkynna vandamálið:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Vandamál þegar þekkt" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "Þetta vandamál var þegar tilkynnt í villuskýrslunni sem birtist í " "vefvafranum. Athugaðu hvort þú getur bætt við einhverjum gagnlegum " "upplýsingum." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" "Þetta vandamál hefur nú þegar verið tilkynnt til þróunarteymis. Takk fyrir!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "Endurvakningin hékk í blá endann en lítur út fyrir að hafa klárast eðlilega." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Ýttu á einhvern lykil til að halda áfram..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "Hvað viltu gera? Þú getur:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Veldu (%s);" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i bæti)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "Eftir að vandamálaskýrslan hefur verið send opnast sjálfkrafa netvafri með " "formi.\n" "Vinsamlegast fylltu það út." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "&Senda skýrslu (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "Skoða &hér" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "&Lesa skýrslu" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "&Geyma skýrslu til að senda inn seinna eða til að færa á annan stað" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "Hætta við og h&unsa frekari hrun í þessari útgáfu forritsins" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Hætta við" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Skrá með upplýsingar um vandamál:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&Staðfesta" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Villa: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "Þú getur sent inn skýrslu með þessum upplýsingum til að bæta forritið.\n" "Þetta getur tekið nokkra stund." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "Verið er að senda upplýsingar sem safnað hefur verið í villukerfi.\n" "Það getur tekið nokkrar mínútur." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Lokið" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "ekkert" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Valið: %s. Margir valkostir:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Valkostir:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Slóð skráar (Enter til að hætta við):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "Skrá er ekki til." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "Þetta er mappa." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "Þú verður að heimsækja eftirfarandi slóð til að halda áfram:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "Þú getur ræst vafra núna eða afritað þessa slóð í vafra á annari tölvu." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Ræsa netvafra" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "Full skýrsla (mælt með; %s)" #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>Senda vandamálsskýrslu til forritaranna?</b></big>\n" #~ "\n" #~ "Eftir að skýrslan hefur verið send, vinsamlegast fylltu út formið í vafranum " #~ "sem opnast sjálfkrafa." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "Ef þú varst ekki að gera eitthvað leynilegt (slá inn lykilorð eða aðrar " #~ "persónulegar upplýsingar) geturðu hjálpað við að bæta forritið með því að " #~ "tilkynna vandamálið." #~ msgid "Application problem" #~ msgstr "Forritsvandamál" #~ msgid "_Send Report" #~ msgstr "_Senda skýrslu" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "Ef þú varst ekki að gera eitthvað persónugreinanlegt (slá inn lykilorð eða \n" #~ "aðrar persónulegar upplýsingar) getur þú hjálpað við að laga forritið með\n" #~ "því að tilkynna vandamálið." #~ msgid "Restart _Program" #~ msgstr "_Endurræsa Forrit" #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">Því miður tókst ekki að setja upp eða " #~ "uppfæra pakkann \"%s\"</span>" #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "Minnkuð skýrsla (hæg nettenging; %s)" #~ msgid "_Ignore future crashes of this program version" #~ msgstr "_Hunsa frekari hrun þessarar forritsútgáfu" #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "Þetta tekur nokkra stóra hluta úr skýrslunni. Þeir eru gagnlegir forriturum " #~ "til að greina vandamálkið, en gætu verið of stórir til að að senda yfir hæga " #~ "nettengingu." #~ msgid "&Report Problem..." #~ msgstr "&Tilkynna vandamál" #~ msgid "_Report Problem..." #~ msgstr "_Tilkynna vandamál..." #~ msgid "Kernel problem" #~ msgstr "Kjarnavandi" #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "" #~ "Þú getur hjálpað forriturunum að laga pakkann með því að senda inn " #~ "tilkynningu." #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "Þetta er ekki alvöru %s pakki" #~ msgid "Content of the report" #~ msgstr "Innihald skýrslunnar" #~ msgid "Package problem" #~ msgstr "Pakkavandamál" #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "Það tókst hvorki að setja upp “%s“ eða uppfæra." #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s lokaði óviðbúið þann %s klukkan %s." #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "Kerfið þitt lenti í alvarlegum vanda með stýrikerfiskjarnann" #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "Þú getur hjálpað til með því að tilkynna vandann." #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "&Senda alla skýrsluna (mælt með þessu; %s)" #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "Senda &stytta skýrslu (hæg nettenging; %s)" #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [options] <apport problem report | crash ID>" #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Þetta gerðist áður meðan verið var í svæfingu og kom í veg fyrir " #~ "endurvakningu úr því ástandi." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Þetta gerðist áður meðan verið var í dvala og kom í veg fyrir endurvakningu " #~ "úr því ástandi." �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/it.po������������������������������������������������������������������������������0000644�0000000�0000000�00000141541�12677230222�012632� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Italian translation for apport # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:47+0000\n" "Last-Translator: Gianfranco Frisani <gfrisani@libero.it>\n" "Language-Team: Italian <it@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: it\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "Apport" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "Annulla" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "OK" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Segnalazione crash" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>Si è verificato un errore interno.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "Se vengono riscontrati ulteriori problemi, riavviare il computer." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "Inviare una segnalazione per aiutare a risolvere il problema" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "Ignorare futuri problemi di questa versione del programma" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Mostra dettagli" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "_Esamina localmente" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Lascia chiuso" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Continua" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>Raccolta delle informazioni sul problema in corso</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "È in corso la raccolta di informazioni che potrebbero aiutare gli " "sviluppatori a correggere il problema segnalato." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "Invio informazioni sul problema" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>Invio informazioni sul problema</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "Le informazioni raccolte stanno per essere inviate al sistema di " "tracciamento bug. Potrebbe richiedere alcuni minuti." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "File crash di Apport" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(dati binari)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "L'applicazione %s si è chiusa inaspettatamente." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "«%s» si è chiuso inaspettatamente." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "«%s» ha riscontrato un errore interno." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Inviare la segnalazione del problema agli sviluppatori?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Invia" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "Forza chiusura" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Rilancia" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "L'applicazione %s non risponde più." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "L'applicazione «%s» non risponde più." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Pacchetto: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "Si è verificato un problema durante l'installazione del software." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "L'applicazione %s ha riportato un errore interno." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "L'applicazione «%s» si è chiusa inaspettatamente." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "Ignorare futuri problemi di questo tipo" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Nascondi dettagli" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Uso: %s <segnalazione> <directory di destinazione>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "La directory di destinazione esiste e non è vuota." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "Nome utente:" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "Password:" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "Raccolta informazioni sul problema" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Raccolta informazioni sul problema" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "Le informazioni raccolte possono essere inviate agli sviluppatori per " "migliorare l'applicazione. Potrebbe richiedere alcuni minuti." #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "Invio informazioni sul problema" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Raccolta informazioni di sistema" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "È richiesto autenticarsi per raccogliere le informazioni di sistema riguardo " "la segnalazione di errore" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "Segnalazioni errori di sistema" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" "Inserire la propria password per accedere alle segnalazioni d'errore di " "programmi di sistema" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Segnala un problema..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Segnala un malfunzionamento agli sviluppatori" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "Consultare la pagina man per maggiori dettagli." #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "Specifica il nome del file di registro creato da valgrind" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" "Riutilizza una directory di sandbox (SDIR) creata precedentemente o, se non " "esiste, la crea" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" "Non crea o riutilizzare la directory di sandbox per i simboli di debug " "aggiuntivi , ma utilizza solo quelli installati nel sistema" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" "Riutilizza una directory di cache (CDIR) creata precedentemente o, se non " "esiste, la crea" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" "Indica l'avanzamento di scaricamento/installazione quando installa pacchetti " "nella sandbox" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "L'eseguibile lanciato in valgring per determinare perdite di memoria" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" "Installa un pacchetto extra nella sandbox (può essere specificato molteplici " "volte)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "Errore: %s non è eseguibile. Arresto." #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" "Il sistema potrebbe diventare instabile e potrebbe essere necessario " "riavviarlo." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" "Non inserisce i nuovi trace nella segnalazione, ma li scrive sullo stdout." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "Avvia un sessione interattiva di gdb con il core dump della segnalazione (-o " "è ignorato; non scrive la segnalazione)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "Scrive la segnalazione modificata nel file indicato, invece di modificare la " "segnalazione originale" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" "Elimina il core dump dalla segnalazione dopo la generazione dello stack " "trace." #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "Sovrascrive il CoreFile della segnalazione" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "Sovrascrive l'ExecutablePath della segnalazione" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "Sovrascrive la ProcMap della segnalazione" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "Rigenera le informazioni sul Package della segnalazione" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" "Crea una sandbox temporanea e vi scarica/installa i pacchetti necessari e i " "simboli di debug. Senza questa opzione si presume che i pacchetti necessari " "e i simboli di debug siano già installati nel sistema. L'argomento punta " "alla directory base del sistema di pacchetti: se viene specificato " "\"system\", vengono usati i file di configurazione di sistema, ma sarà " "possibile eseguire il retrace dei crash avvenuti all'interno della release " "attualmente in esecuzione." #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" "Segnala avanzamento di scaricamento/installazione durante l'installazione di " "pacchetti nella sandbox" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "Anteporre gli orari ai messaggi di log nelle operazioni batch" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" "Crea e usa repository di terze parti dalle sorgenti specificate nei rapporti" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "Directory cache per i pacchetti scaricati nella sandbox" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" "Directory per i pacchetti estratti; una successiva esecuzione assumerà che i " "pacchetti già scaricati siano stati estratti in questa sandbox." #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" "Percorso di un file con informazioni di autenticazione del database dei " "crash. È usato quando si specifica l'ID di un crash per caricare gli stack " "trace a cui è stato eseguito un retrace (solo se non è specificato alcuno di " "-g, -o e -s)" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "Visualizza gli stack trace a cui è stato eseguito un retrace e chiede " "conferma prima di inviarli al database dei crash." #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" "Percorso al duplicato del database sqlite (predefinito: nessun controllo sul " "duplicato)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "Impossibile usare -C senza -S. Arresto." #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "OK per inviare questi come allegati? [y/n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "Questo pacchetto non sembra installato correttamente" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "Questo non è un pacchetto ufficiale di %s. Rimuovere tutti i pacchetti di " "terze parti, quindi riprovare." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "Sono presenti delle versioni di pacchetti obsolete. Eseguire l'avanzamento " "di versione dei seguenti pacchetti e verificare se il problema è ancora " "presente:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "programma sconosciuto" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Chiusura inattesa del programma «%s»" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Problema in %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "Nel computer non è presente abbastanza memoria libera per analizzare " "automaticamente il problema e inviare una segnalazione agli sviluppatori." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Segnalazione di problema non valida" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "Accesso non consentito alla segnalazione riguardo questo problema." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Errore" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" "Non c'è spazio sufficiente sul disco per elaborare questa segnalazione." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "Nessun pacchetto specificato" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "È necessario specificare un pacchetto o un PID. Per maggiori informazioni " "consultare --help." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Permesso negato" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "Il processo specificato non appartiene all'utente corrente. Eseguire questo " "programma come il proprietario del processo o come root." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "PID non valido" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "L'identificatore di processo specificato non appartiene al programma" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" "Lo script per l'analisi delle anomalie %s non ha rilevato alcun pacchetto " "alterato" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "Il pacchetto %s non esiste" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "Impossibile creare la segnalazione" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "Aggiornamento segnalazione del problema" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "L'utente non è il creatore o non è associato a questa segnalazione, oppure " "la segnalazione è un duplicato o è già stata chiusa.\n" "\n" "Creare una nuova segnalazione utilizzando «apport-bug»." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "L'utente non è il creatore di questa segnalazione . È più semplice marcare " "un bug come duplicato di un altro che spostare i commenti e gli allegati di " "questa segnalazione in un nuovo bug.\n" "\n" "Successivamente, è consigliato segnalare un nuovo bug utilizzando «apport-" "bug» aggiungendovi un commento.\n" "\n" "Procedere?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "Non è stata raccolta alcuna informazione aggiuntiva." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "Che tipo di problema segnalare?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Anomalia sconosciuta" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "L'anomalia «%s» è sconosciuta." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "Dopo aver chiuso questo messaggio, fare clic sulla finestra di " "un'applicazione per segnalarne un problema." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" "Recupero dell'identificativo del processo della finestra da parte di xprop " "non riuscito" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "%prog <numero segnalazione>" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "Specificare il nome del pacchetto." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" "Aggiunge un'etichetta alla segnalazione, può essere specificata più volte" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [opzioni] [anomalia|pid|pacchetto|percorso programma|file " ".apport/.crash]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Avvia in modalità segnalazione bug. Richiede --package e opzionalmente --pid " " oppure solo --pid: se non è indicato alcuno dei due, sarà visualizzato un " "elenco di anomalie (implicito se è indicato un singolo argomento)." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "Fare clic su una finestra per completare i campi della segnalazione." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" "Avvia in modalità aggiornamento bug: è possibile usare l'opzione --package" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "Invia una segnalazione di bug riguardo un'anomalia (implicito se è indicato " "il nome di un'anomalia come unico argomento)." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "Specifica il nome del pacchetto in modalità --file-bug: opzionale se --pid è " "stato specificato (implicito se il nome del pacchetto è indicato come unico " "argomento)." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "Specifica un programma in esecuzione nella modalità --file-bug; se viene " "specificato, la segnalazione conterrà maggiori informazioni (implicito se il " "PID è passato come argomento)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "Il PID fornito è un'applicazione in attesa." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "Segnala il crash da un file .apport o .crash fornito, piuttosto che da " "quelli in attesa in %s (implicito se file è indicato come unico argomento)." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" "In modalità segnalazione bug, salva le informazioni raccolte in un file " "invece di inviare la segnalazione; il file può poi essere inviato " "successivamente da un computer differente" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Mostra il numero di versione del programma." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" "Questo eseguirà apport-retrace in una finestra di terminale per esaminare il " "crash." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "Esegui una sessione gdb" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "Esegui una sessione gdb senza scaricare i simboli di debug" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "Aggiornare %s con uno stack trace completamente simbolico" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" "La segnalazione del problema riguarda un programma che non è più installato." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" "Il problema si è verificato con il programma «%s», che risulta essere stato " "modificato rispetto al momento in cui si è verificato il crash." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "" "Questa segnalazione di problema è danneggiata e non può essere elaborata." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "La segnalazione fa riferimento a un pacchetto che non è installato." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" "Si è verificato un errore nel tentativo di elaborare questa segnalazione:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "" "Impossibile determinare il nome del pacchetto o del pacchetto sorgente." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Impossibile avviare il browser web" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "Impossibile avviare il browser web per aprire %s." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" "Inserire i dati del proprio account per il sistema di tracciamento dei bug %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Problema di rete" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "Impossibile connettersi al database dei crash, controllare la connessione " "Internet." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Memoria esaurita" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "Il sistema non ha abbastanza memoria per elaborare questa segnalazione di " "crash." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "Non è possibile segnalare il problema:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Problema già noto" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "Questo problema è già presente nell'elenco delle segnalazioni di bug " "mostrato nel browser web. Verificare se è possibile aggiungere ulteriori " "informazioni che potrebbero essere utili agli sviluppatori." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "Il problema è già stato segnalato agli sviluppatori. Grazie." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" "Ciò si è verificato durante una precedente sospensione che non ha consentito " "il corretto ripristino del sistema." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" "Ciò si è verificato durante una precedente ibernazione che non ha consentito " "il corretto ripristino del sistema." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "Il processo di ripristino si è bloccato verso il termine e sarebbe apparso " "come completato normalmente." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Premere un tasto per continuare..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "Cosa fare? Le opzioni sono:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Scegliere (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i byte)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "Una volta inviata la segnalazione del problema, riempire il modulo nella " "finestra\n" "del browser web che si aprirà automaticamente." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "&Invia segnalazione (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "&Esamina localmente" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "&Visualizza segnalazione" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" "&Tenere il file di segnalazione per un successivo invio o per copiarlo in " "un'altra posizione" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "&Annulla e ignora i futuri crash di questa versione del programma" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "A&nnulla" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "File segnalazione problema:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&Conferma" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Errore: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "Le informazioni raccolte possono essere inviate agli sviluppatori per " "migliorare\n" "l'applicazione. Potrebbe impiegare alcuni minuti." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "Le informazioni raccolte stanno per essere inviate al sistema di " "tracciamento dei bug.\n" "Potrebbe impiegare alcuni minuti." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Fatto" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "nessuno" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Selezionato: %s. Scelte multiple:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Scelte:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Percorso del file (Invio per annullare):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "Il file non esiste." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "Questa è una directory." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "Per continuare, è necessario visitare il seguente URL:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "È possibile avviare il browser ora o copiare questo URL in un browser su un " "altro computer." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Lanciare un browser ora" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" "Nessuna segnalazione di crash pendente. Provare --help per maggiori " "informazioni." #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "" #~ "È possibile aiutare gli sviluppatori a correggere il problema segnalando " #~ "quanto è accaduto." #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "Installazione o aggiornamento del pacchetto \"%s\" non riuscita." #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "Segnalazione completa (raccomandato, %s)" #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>Inviare la segnalazione di problema agli sviluppatori?</b></big>\n" #~ "\n" #~ "Una volta inviata la segnalazione di problema, riempire il modulo nella " #~ "finestra del browser web che si aprirà automaticamente." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "Se non era in corso alcuna operazione confidenziale (inserimento di password " #~ "o altre informazioni private), è possibile aiutare a migliorare " #~ "l'applicazione segnalando il problema." #~ msgid "Application problem" #~ msgstr "Problema nell'applicazione" #~ msgid "_Send Report" #~ msgstr "Invia _segnalazione" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "Se non era in corso alcuna operazione confidenziale (inserimento di password " #~ "o\n" #~ "altre informazioni private), è possibile aiutare a migliorare l'applicazione " #~ "segnalando\n" #~ "il problema." #~ msgid "Restart _Program" #~ msgstr "Riavvia _programma" #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "Invia &segnalazione completa (raccomandato; %s)" #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "Segnalazione ridotta (per connessioni a Internet lente; %s)" #~ msgid "_Ignore future crashes of this program version" #~ msgstr "_Ignora i futuri crash di questa versione del programma" #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "Invia segnalazione &ridotta (per connessioni a Internet lente; %s)" #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "Questa operazione rimuoverà alcuni elementi di grandi dimensioni dalla " #~ "segnalazione. Tali elementi sono di grande aiuto agli sviluppatori per " #~ "analizzare il problema, ma la loro trasmissione potrebbe essere troppo " #~ "onerosa nel caso in cui si disponga di una connessione ad internet lenta." #~ msgid "&Report Problem..." #~ msgstr "&Segnala problema..." #~ msgid "_Report Problem..." #~ msgstr "_Segnala problema..." #~ msgid "Kernel problem" #~ msgstr "Problema nel kernel" #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "" #~ "Segnalando questo problema, è possibile aiutare gli sviluppatori a " #~ "correggere il pacchetto." #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "Questo non è un pacchetto %s genuino" #~ msgid "Content of the report" #~ msgstr "Contenuto della segnalazione" #~ msgid "Package problem" #~ msgstr "Problema nel pacchetto" #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "Il sistema ha riscontrato un grave problema al kernel." #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s si è chiuso inaspettatamente il giorno %s alle %s." #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "numero di argomenti non corretto; usare --help per un breve aiuto" #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">L'installazione o l'avanzamento di " #~ "versione del pacchetto «%s» non è riuscito.</span>" #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Questo si è verificato durante una precedente sospensione e ne ha impedito " #~ "un corretto ripristino." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Questo si è verificato durante una precedente ibernazione e ne ha impedito " #~ "un corretto ripristino." #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [opzioni] <segnalazione problema apport | ID crash>" #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "" #~ "È necessario eseguire un'operazione locale (-s, -g, -o) o fornire un file di " #~ "autenticazione (--auth); usare --help per un breve aiuto" #, python-format #~ msgid "Sorry, the application %s has closed unexpectedly." #~ msgstr "L'applicazione «%s» si è chiusa inaspettatamente." #~ msgid "Your system might become unstablenow and might need to be restarted." #~ msgstr "" #~ "Il sistema potrebbe ora diventare instabile e potrebbe essere necessario un " #~ "riavvio." ���������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/ja.po������������������������������������������������������������������������������0000644�0000000�0000000�00000142315�12677230222�012610� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Japanese translation for apport # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2013-02-04 13:53+0000\n" "Last-Translator: OKANO Takayoshi <Unknown>\n" "Language-Team: Japanese <ja@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: ja\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "キャンセル" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "OK" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "クラッシュレポート" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>残念ながら、内部エラーが発生しました。</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "さらに問題が発生する場合は、コンピューターを再起動してみてください。" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "エラーレポートを送信してこの問題の修正に協力する" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "今後このバージョンのプログラムの問題を無視する" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "詳細を表示" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "ローカルで解析する(_E)" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "閉じて終了する" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "続行" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>問題の情報を集めています</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "あなたの報告する不具合を、開発者が修正するのに役立つように情報を収集します。" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "問題の情報をアップロードしています" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>問題の情報をアップロードしています</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "収集された情報はバグトラッキングシステムに送信されます。しばらくお待ちください。" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(バイナリデータ)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "残念ながら、アプリケーション%sが予期せず停止しました。" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "残念ながら、%s は予期せず終了しました。" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "残念ながら、%s で内部エラーが発生しました。" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "問題のレポートを開発者に送信しますか?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "送信" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "強制終了" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "再起動する" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "アプリケーション %s は応答していません。" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "プログラム \"%s\" は応答していません。" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "パッケージ: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "残念ながら、ソフトウェアのインストール中に問題が発生しました。" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "アプリケーション %s は内部エラーに遭遇しました。" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "アプリケーション %s が突然終了しました。" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "今後、この種類の問題は無視する" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "詳細を隠す" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "問題の情報を集めています" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "問題の情報を集めています" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "問題の情報をアップロードしています" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "システム情報を収集" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "この問題を報告するには、システム情報を収集するための認証が必要です" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "システムの問題の報告" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "システムプログラムの問題レポートにアクセスするにはパスワードを入力してください" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "問題を報告する..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "開発者に異常動作を報告してください" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "詳細はmanページをご覧ください。" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "valgrind によって生成されたログファイルの名前を指定" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "以前作成されたサンドボックスディレクトリ (SDIR) を再利用するか、もし存在しない場合には作成する" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "追加のデバッグシンボル用にサンドボックスディレクトリを作成または再利用せず、インストールされたデバッグシンボルのみを利用する。" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "以前作成されたキャッシュディレクトリ (CDIR) を再利用するか、もし存在しない場合には作成する" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "サンドボックス内にパッケージをインストールする際、ダウンロードおよびインストールの進捗状況を報告する" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "メモリリーク検出のためvalgrindのメモリチェックツールにより実行されているプログラム" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "サンドボックスに追加のパッケージをインストールする (複数回指定可)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "エラー: %s は実行ファイルではありません。中止します。" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "システムが不安定になる可能性があるので、再起動する必要があるかもしれません。" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "これ以上レポートに新しいトレースを書き込まないが、標準出力には表示する。" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "オリジナルのレポートを変更せずに、指定されたファイルに変更後のレポートを書き込む" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "レポートのコアファイルを上書きする" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" "一時的なサンドボックスを作成し、必要なパッケージとデバッグシンボルをそこにダウンロードおよびインストールします。このオプションが指定されなかった場合には、" "必要なパッケージやデバッグシンボルはすでにお使いのシステムにインストールされているものとして処理を続行します。引数はパッケージングシステムの設定のベースデ" "ィレクトリを指定します。「system」を指定した場合にはシステムの設定ファイルを利用しますが、その場合には現在実行中のリリースで発生したクラッシュしかリ" "トレースできません。" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "サンドボックスにパッケージをインストールする際に、ダウンロードおよびインストールの進捗状況を表示する" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "ログメッセージの先頭にタイムスタンプを挿入する (バッチ処理用)" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "レポートで指定された提供元から、サードパーティーのリポジトリを作成して使用します。" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "サンドボックスにダウンロードされたパッケージのためのキャッシュディレクトリ" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" "展開したパッケージのためのディレクトリ。これ以降はダウンロード済みのパッケージはすべてこのサンドボックスに展開されているものと仮定します。" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "-S を指定せずに -C を使用することはできません。中止します。" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "このパッケージは恐らく正常にインストールされていません" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "これは %s の公式パッケージではありません。すべてのサードパーティーのパッケージを削除して再度試してください。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "古いバージョンのパッケージが利用されています。以下のパッケージをアップグレードした上で、それでも問題が発生するかを確認してください:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "不明なプログラム" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "残念ながら、プログラム \"%s\" が不意に終了しました" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "%s に問題があります" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "コンピューターに、問題を自動的に解析して開発者にレポートを送るための十分な空きメモリーがありません。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "無効な問題のレポートです" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "この問題を報告するための権限がありません。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "エラー" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "このレポートを作成するための空きスペースがディスクにありません。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "パッケージが特定できません" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "パッケージまたはプロセスIDを特定する必要があります。詳しくは--helpを見てください。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "許可がありません" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "このプロセスを操作する権限がありません。プロセスの所有者か、もしくはrootユーザとして実行してください。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "無効なプロセスID" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "指定されたプロセスIDはプログラムに属していません。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "パッケージ %s は存在しません" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "あなたはこの問題の報告者または登録者ではありません。新しいバグとしてコメントと添付ファイルを提出するより、他のバグと重複したバグとしてマークするほうがより" "簡単です。\n" "\n" "その後、\"apport-bug\"を利用して新たにバグ報告を行い、このバグの中で提出するものについてのコメントを行うことをお勧めします。\n" "\n" "本当に進めますか?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "収集する追加情報はありません。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "どのような種類の問題を報告しますか?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "未知のふるまい" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "ふるまい \"%s\" は知られていません。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "xprop はウィンドウのプロセス ID を特定できませんでした" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "%prog <report number>" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "パッケージ名を指定" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "レポートに追加タグを追加します。複数回指定できます。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "バグファイリングモードを開始します。実行には --package と追加の --pid を用いるか、あるいはただ --pid " "だけとするオプションが必要です。どちらも与えられていないときには、既知の現象のリストを表示します(暗黙の一つの引数が与えられた場合)。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "問題レポートを埋めるには、ターゲットとなるウィンドウをクリックしてください。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "バグ更新モードを開始します。オプション --package が使用できます。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "SYMPTOM(症状)についてのバグを報告します(唯一の引数は症状の名前を意味します)。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "--file-bugモードで使用するパッケージ名を指定します。--" "pidが指定されている場合はオプション扱いになります(唯一の引数はパッケージ名を意味します)。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "--file-" "bugモードの対象になる実行中のプログラムを指定します。このオプションを指定した場合、バグ報告にはより多くの情報が含まれます(唯一の引数はプロセスIDを意" "味します)。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "指定されたpidはハングアップしたアプリケーションのものです。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "クラッシュの報告を %s で保留中のプログラムのかわりに .apport または .crash ファイルで行う(ファイル名が引数のみで与えられた場合)。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" "バグファイリングモードでは、収集した情報は報告する代わりにファイルに保存されます。このファイルは、後で別のコンピューターから報告することができます。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Apport のバージョン番号を表示します。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "クラッシュの解析を行うため端末ウィンドウで apport-retrace を起動します。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "gdb セッションを実行" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "デバッグシンボルをダウンロードせず gdb セッションを実行" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "%s を完全なシンボリックスタックトレースに更新する" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "この問題レポートは、もうインストールされていないプログラムに対するものです。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "この問題はプログラム%sに発生したものですが、このプログラムはクラッシュしてから変更されています。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "この問題の報告は破損しており、処理することができません。" #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "この報告はインストールされていないパッケージによるものです" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "この問題の報告の処理中にエラーが発生しました:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "パッケージまたはソースパッケージ名を特定できませんでした。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "ウェブブラウザーを起動できません" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "%s を開くためのウェブブラウザーを起動できません" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "バグ追跡システム %s にあなたのアカウント情報を入力してください" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "ネットワークの問題" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "クラッシュデータベースに接続できませんでした。インターネット接続を確認してください。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "メモリー不足" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "あなたのシステムには、このクラッシュレポートを処理するのに十分なメモリがありません。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "問題を報告することができません:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "問題は既知のものです" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "この問題は、ブラウザーに表示されたバグレポートですでに報告されています。開発者にとって役立つような、より詳しい情報を追加できるかどうか確認してください。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "この問題はすでに開発者にレポートされています。ありがとうございます!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "このことは前のサスペンド中に発生しており、システムが正常に復帰できませんでした。" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "このことは前のハイバネーション中に発生しており、システムが正常に復帰できませんでした。" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "続けるには何かキーを押してください..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "対処方法を選択してください:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "選択してください(%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i バイト)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "問題のレポートが送信された後で、フォームに入力してください(入力用ページをウェブブラウザーで自動的に開きます)。" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "レポートの送信(&S) (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "ローカルで解析する(&E)" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "レポートの表示(&V)" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "後で送信もしくは他の場所にコピーするためにレポートファイルを保持する(&K)" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "中止し、このプログラムバージョンでは今後クラッシュしても無視する(&I)" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "キャンセル(&C)" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "問題報告ファイル:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "確認(&C)" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "エラー: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "収集された情報はアプリケーションを改善するために開発者へ送られます。\n" "しばらくお待ちください。" #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "収集された情報はバグトラッキングシステムに送信されます。\n" "しばらくお待ちください。" #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "完了(&D)" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "なし" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "現在の設定: %s。複数選択:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "選択肢:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "ファイルへのパス(Enterでキャンセル):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "ファイルが存在しません。" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "これはディレクトリです。" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "ブラウザーを今すぐ起動するか、または他のコンピューターのブラウザーにURLをコピーしてください。" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "今すぐブラウザーを起動する" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "未解決のクラッシュレポートはありません。詳しくは --help を試してみてください。" #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "この問題を報告することで、問題の解決のために開発者を助けることができます。" #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "パッケージ \"%s\"のインストールまたはアップグレードに失敗しました。" #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "完全なレポート (推奨; %s)" #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>開発者に不具合のレポートを送信しますか?</b></big>\n" #~ "\n" #~ "不具合のレポートが送信された後で、ウェブブラウザが自動的に開かれますのでフォームに入力してください。" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "秘密にしておくべき作業(パスワードや個人情報の入力など)を行っていたのでなければ、不具合を報告してアプリケーションの改善に協力することができます。" #~ msgid "Application problem" #~ msgstr "アプリケーションの不具合" #~ msgid "_Send Report" #~ msgstr "レポートを送信(_S)" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "秘密にしておくべき作業(パスワードや個人情報の入力など)を行っていたので\n" #~ "なければ、不具合を報告してアプリケーションの改善に協力することができます。" #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s は %s の %s で不意に終了しました" #~ msgid "Restart _Program" #~ msgstr "プログラムを再起動(_P)" #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">申し訳ありません、パッケージ \"%s\" " #~ "のインストール(アップグレード)は失敗しました。</span>" #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "完全なレポートの送信(&S) (推奨; %s)" #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "簡易レポート (低速回線向け; %s)" #~ msgid "_Ignore future crashes of this program version" #~ msgstr "今後このバージョンのプログラムがクラッシュしても無視する(_I)" #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "簡易レポートの送信(&R) (低速回線向け; %s)" #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "これはいくつかの大きな項目をレポートから削除します。開発者がこの不具合をデバッグするのに大変役立ちますが、インターネットの接続スピードが遅い場合、アップロ" #~ "ードには大きすぎるかもしれません。" #~ msgid "&Report Problem..." #~ msgstr "不具合を報告(&R)..." #~ msgid "_Report Problem..." #~ msgstr "不具合を報告(_R)..." #~ msgid "Kernel problem" #~ msgstr "カーネルの不具合" #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "不具合を報告することで、開発者がプログラムを修正するのに役立ちます。" #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "これは正式な %s のパッケージではありません" #~ msgid "Content of the report" #~ msgstr "レポートの内容" #~ msgid "Package problem" #~ msgstr "パッケージの不具合" #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "あなたのシステムは深刻なカーネルの問題に遭遇しました。" #, python-format #~ msgid "Sorry, the application %s has closed unexpectedly." #~ msgstr "残念ながら、アプリケーション %s が予期せず終了しました" #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "引数の数が不正です。--helpを使って短いヘルプを参照してください。" #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [オプション] <apport 問題レポート | クラッシュ ID>" #~ msgid "Your system might become unstablenow and might need to be restarted." #~ msgstr "お使いのシステムは、現在不安定な状態で再起動が必要かもしれません。" �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/kab.po�����������������������������������������������������������������������������0000644�0000000�0000000�00000100117�12677230222�012745� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Kabyle translation for apport # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2009. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2011-10-07 06:10+0000\n" "Last-Translator: yugurten <yugurten1@hotmail.fr>\n" "Language-Team: Kabyle <kab@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: kab\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "" #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Agnu deg %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "" #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/kk.po������������������������������������������������������������������������������0000644�0000000�0000000�00000100074�12677230222�012617� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Kazakh translation for apport # Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2011. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2011-10-07 06:10+0000\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: Kazakh <kk@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: kk\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "" #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "" #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/km.po������������������������������������������������������������������������������0000644�0000000�0000000�00000174665�12677230222�012642� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Khmer translation for apport # Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2011. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:46+0000\n" "Last-Translator: Martin Pitt <martin.pitt@ubuntu.com>\n" "Language-Team: Khmer <km@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: \n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "Apport" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "បោះបង់" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "យល់ព្រម" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "របាយការណ៍​គាំង" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>សូម​ទោស កំហុស​ខាង​ក្នុង​បានកើត​ឡើង ។</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" "ប្រសិនបើ​អ្នក​កត់​សម្គាល់​បញ្ហា​បន្ថែម ព្យាយាម​ចាប់ផ្ដើម​កុំព្យូទ័រ​ឡើង​វិញ ។" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "ផ្ញើ​របាយការណ៍​កំហុស ដើម្បីជួយ​កែ​បញ្ហា​នេះ" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "មិន​អើពើ​បញ្ហា​នាពេល​អនាគត​នៃ​កំណែ​កម្មវិធី​នេះ" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "បង្ហាញ​សេចក្ដី​លម្អិត" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "ត្រួតពិនិត្យ​ជា​មូលដ្ឋាន" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "ទុក​ឲ្យ​បិទ" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "បន្ត" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>ការ​ប្រមូល​ព័ត៌មាន​អំពី​បញ្ហា</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "ព័ត៌មាន​កំពុង​ត្រូវ​បាន​ប្រមូល​ " "​ដែល​អាច​ជា​ជំនួយ​ដល់​អ្នក​អភិវឌ្ឍន៍​ក្នុង​ការ​កែសម្រួល​របាយការណ៍​កំហុស ។" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "ផ្ទុក​ព័ត៌មាន​អំពី​បញ្ហា" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>ផ្ទុក​ព័ត៌មាន​អំពី​បញ្ហា</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "ព័ត៌មាន​ដែល​បាន​ប្រមូល​​កំពុង​ត្រូវ​បាន​ផ្ញើ​ទៅ​កាន់​កញ្ចប់​តាមដាន​កំហុស ។ " "វា​អាច​ចំណាយ​ពេលវេលា​ពីរ​បី​នាទី ។" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "ឯកសារ​គាំង​របស់ Apport" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(ទិន្នន័យ​គោល​ពីរ)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "សូមទោស, កម្មវិធី %s បាន​បញ្ឈប់​ដោយ​មិន​រំពឹង។" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "សូម​ទោស %s បាន​បិទ​ដោយ​មិន​រំពឹង​ទុក ។" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "សូម​ទោស %s បាន​ជួប​ប្រទះ​បញ្ហា​ខាង​ក្នុង ។" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "ផ្ញើ​​របាយការណ៍​អំពី​បញ្ហា​ទៅ​កាន់​​​អ្នក​អភិវឌ្ឍន៍ ?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "ផ្ញើ" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "បង្ខំ​បិទ" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "ចាប់ផ្ដើម​ឡើង​វិញ" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "កម្មវិធី %s បាន​បញ្ឈប់​ការ​ឆ្លើយតប។" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "កម្មវិធី \"%s\" បាន​បញ្ឈប់​ការ​ឆ្លើយតប។" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "កញ្ចប់ ៖ %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "សូម​ទោស បញ្ហា​មួយ​បានកើត​ឡើង​ខណៈ​ពេល​ដំឡើង​កម្មវិធី ។" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "កម្មវិធី %s មាន​បទពិសោធន៍​កំហុស​ខាងក្រៅ។" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "កម្មវិធី %s បាន​បិទ​ដោយ​មិន​រំពឹង​ទុក ។" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "មិន​អើពើ​នឹង​បញ្ហា​នា​ពេល​អនាគត​នៃ​ប្រភេទ​នេះ" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "លាក់​សេចក្ដី​លម្អិត" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "ការ​ប្រើប្រាស់ ៖ %s <report> <target directory>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "មាន​ថត​ទិសដៅ ។" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "ឈ្មោះ​អ្នក​ប្រើ ៖" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "ពាក្យ​សម្ងាត់ ៖" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "ប្រមូល​ព័ត៌មាន​អំពី​បញ្ហា" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "ប្រមូល​ព័ត៌មាន​អំពី​បញ្ហា" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "ព័ត៌មាន​ដែល​បាន​ប្រមូល​អាច​ត្រូវ​បាន​ផ្ញើ​ទៅកាន់​អ្នក​អភិវឌ្ឍន៍ " "ដើម្បី​ធ្វើ​ឲ្យ​កម្មវិធី​ប្រសើរ​ឡើង ។ វា​អាច​ចំណាយ​ពេលវេលា​ពីរបី​នាទី ។" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "ផ្ទុក​ព័ត៌មាន​អំពី​បញ្ហា" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "ប្រមូល​ព័ត៌មាន​ប្រព័ន្ធ" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "ការ​ផ្ទៀងផ្ទាត់​ត្រូវ​បាន​ទាមទារ​ដើម្បី​​ប្រមូល​ព័ត៌មាន​ប្រព័ន្ធ​សម្រាប់​របាយ" "ការណ៍​បញ្ហា​នេះ" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "របាយការណ៍​បញ្ហា​ប្រព័ន្ធ" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" "សូម​បញ្ចូល​ព័ត៌មាន​លម្អិត​របស់​អ្នក​ " "ដើម្បី​​ចូល​ដំណើរការ​​​របាយការណ៍​បញ្ហា​នៃ​កម្មវិធី​ប្រព័ន្ធ" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "រាយការណ៍​បញ្ហា..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "រាយការណ៍​​កំហុស​ទៅកាន់​អ្នក​អភិវឌ្ឍន៍" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "មើល​ទំព័រ​សម្រាប់​ព័ត៌មាន​លម្អិត។" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "បញ្ជាក់​ឈ្មោះ​ឯកសារ​កំណត់​ហេតុ​ដែល​បាន​ផលិត​ដោយ valgrind" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" "ប្រើ sandbox dir (SDIR) ដែល​បាន​បង្កើត​ពី​មុន​ឡើង​វិញ, ប្រសិនបើ​វា​មិន​មាន, " "បង្កើត​វា​ថ្មី" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" "កុំ​បង្កើត ឬ​ប្រើ​ថត sandbox " "ឡើង​វិញ​សម្រាប់​​និមិត្ត​សញ្ញា​​បំបាត់​កំហុស​បន្ថែម " "ប៉ុន្តែ​អាស្រ័យ​លើ​និមិត្ត​សញ្ញា​បំបាត់​កំហុស។" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" "ប្រើ​ថត​ឃ្លាំង​ដែល​បាន​បង្កើត​ពី​មុន​ឡើង​វិញ (CDIR) , " "ប្រសិនបើ​វា​មិន​ទាន់​មាន, បង្កើត​វា" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" "រាយការណ៍​វឌ្ឍនភាព ទាញ​យក/​ដំឡើង នៅ​ពេល​កំពុង​ទាញ​យក​កញ្ចប់​ទៅ​កាន់ sandbox" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" "ដំឡើង​កញ្ចប់​ខាងក្រៅ​ទៅ​ក្នុង sandbox (អាច​ត្រូវ​បាន​​បញ្ជាក់​​ពេលវេលា​ច្រើន)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "កំហុស៖ %s មិន​អាន​ប្រតិបត្តិ​បាន បាន​បញ្ឈប់។" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" "ប្រព័ន្ធ​របស់​អ្នក​អាច​​គ្មាន​ស្ថេរ​ភាព​​ឥឡូវ​នេះ " "ត្រូវ​​ការ​​​ចាប់ផ្ដើម​ឡើងវិញ ។" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" "កុំ​ដាក់​ដាន​ថ្មី​​​នៅ​ក្នុង​របាយការណ៍ ប៉ុន្តែ​​អាច​សរសេរ​ទាន់ stdout បាន ។" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "ចាប់ផ្ដើម​សម័យ gdb អន្តរ​សកម្ម​​ជាមួយ​ធាតុ​ចម្បង​របស់​របាយការណ៍ (-o មិន​អើពើ " "មិន​សរសេរ​របាយការណ៍​ឡើងវិញ)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "សរសេរ​របាយការណ៍​ដែល​បាន​កែប្រែ​ទៅ​កាន់​ឯកសារ​ដែល​បាន​ផ្ដល់​ជំនួស​ការ​ផ្លាស់ប្" "ដូរ​របាយការណ៍​ដើម" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" "យក​ធាតុ​ចម្បង​​ចេញ​ពី​របាយការណ៍ ក្រោយ​​ពេល​ការ​ធ្វើ​ឲ្យ​មាន​​ដាន​ជង់​ឡើងវិញ" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "បដិសេធ CoreFile របស់​របាយការណ៍" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "បដិសេធ ExecutablePath របស់​របាយការណ៍" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "បដិសេធ ProcMaps របស់​របាយការណ៍" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "បង្កើត​ព័ត៌មាន​កញ្ចប់​របស់​របាយការណ៍​ឡើង​វិញ" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" "បង្កើត sandbox បណ្ដោះ​អាសន្ន ហើយ​ទាញ​យក/​ដំឡើង កញ្ចប់​ដែល​ចាំបាច់ " "បំបាត់​កំហុស​និមិត្តសញ្ញា​នៅ​ទី​នេះ ដោយ​មិន​ចាំបាច់​ជម្រើស​នេះ " "សម្មត​ថា​កញ្ចប់​ដែល​ចាំបាច់ " "និង​បំបាត់​កំហុស​និមិត្ត​សញ្ញា​ត្រូវ​បាន​ដំឡើង​នៅ​ក្នុង​ប្រព័ន្ធ​រួច​ហើយ ។ " "ចំណុច​អាគុយម៉ង់​ទៅ​កាន់​ការ​កំណត់​រចនាសម្ព័ន្ធ​ប្រព័ន្ធ​ផ្អែក​លើ​ថត " "ប្រសិនបើ​អ្នក​បញ្ជាក់ \"ប្រព័ន្ធ\" " "វា​នឹង​ប្រើ​​ឯកសារ​ការ​កំណត់​រចនាសម្ព័ន្ធ​ប្រព័ន្ធ " "ប៉ុន្តែ​វា​អាច​​តាមដាន​ភាព​គាំង​ឡើង​វិញ នៅ​ពេល​ដែល​វា​ដំណើរការ​ ។" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "របាយការណ៍​ទាញ​យក/ដំឡើង វឌ្ឍនភាព​ នៅ​ពេល​ដំឡើង​កញ្ចប់​ទៅកាន់​ sandbox" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" "បន្ថែម​ខាងដើម timestamps ដើម្បី​ចុះ​កំណត់ហេតុ សម្រាប់​ប្រតិបត្តិការ​ច្រើន" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "ថត​ឃ្លាំង​សម្ងាត់​សម្រាប់​កញ្ចប់​ដែល​បាន​ទាញ​យក​នៅ​ក្នុង sandbox" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" "ថត​សម្រាប់​កញ្ចប់​ដែល​មិន​បាន​វេច​ខ្ចប់។ " "ពេល​អនាគត​ដំណើរការ​នឹង​សម្មត​ថា​កញ្ចប់​ដែល​បាន​ទាញ​យក​រួច​ហើយ​ត្រូវ​បាន​ស្រង់" "​ចេញ​ទៅ​ sandbox នេះ។" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" "ផ្លូវ​ទៅកាន់​ឯកសារ​​ដែល​មាន​​​​ព័ត៌មាន​អំពី​​ការ​ផ្ទៀងផ្ទាត់​ភាព​ត្រឹមត្រូវ​ម" "ូលដ្ឋាន​ទិន្នន័យ​ភាព​គាំ​ ។ វា​អាច​ត្រូវ​បាន​ប្រើ​ " "នៅ​ពេល​បញ្ជាក់​លេខ​សម្គាល់​​​ភាព​គាំង " "ដើម្បី​​ផ្ទុក​ដាន​ជង់​ដែល​បាន​តាមដាន​​ឡើង​វិញ (ប្រសិនបើ​មិន​ត្រូវ​​បញ្ជាក់ -" "g, -o, និង -s)" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "បង្ហាញ​ដាន​ជង់​ដែល​បាន​តាម​ដាន​ឡើងវិញ " "សួរ​រក​ការ​អះអាង​មុន​ពេល​ផ្ញើ​វា​ទៅកាន់​មូលដ្ឋាន​ទិន្នន័យ​គាំង ។" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" "ផ្លូវ​ទៅកាន់​មូលដ្ឋាន​ទិន្នន័យ sqlite​ ស្ទួន (លំនាំដើម ៖ " "គ្មាន​ការ​ត្រួតពិនិត្យ​ស្ទួន​ឡើង)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "អ្នក​មិន​​អាច​ប្រើ -C without -S. Stopping ។" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "យល់ព្រម​​ក្នុង​ការ​ផ្ញើ​​​ជា​ឯកសារ​ភ្ជាប់ឬ ? [y/n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "កញ្ចប់​នេះ​ហាក់​បី​ដូច​ជា​ដំឡើង​មិន​ត្រឹមត្រូវ​ទេ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "នេះ​មិនមែន​ជា​កញ្ចប់ %s ផ្លូវ​ការ​ទេ ។ សូម​យក​កញ្ចប់​ភាគី​ទី​បី​ចេញ " "ហើយ​ព្យាយាម​ម្ដ​ងទៀត ។" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "អ្នកមាន​កំណែ​កញ្ចប់​ដែល​លែង​ប្រើ​បាន​ដំឡើង ។ " "សូម​ធ្វើ​វា​​ឲ្យ​កញ្ចប់​ដូច​ខាង​ក្រោម​ប្រសើរ​ឡើង​ " "ហើយ​ពិនិត្យ​មើល​ថាតើ​នៅ​តែ​មាន​បញ្ហា​កើត​ឡើង​ទៀត​ដែរឬទេ ៖ %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "មិន​ស្គាល់​កម្មវិធី" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "សូម​ទោស កម្មវិធី \"%s\" មិន​ត្រឹមត្រូវ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "បញ្ហា​នៅ​ក្នុង %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "កម្មវិធី​កុំព្យូទ័រ​របស់​អ្នក​មិន​មាន​អង្គ​ចងចាំ​គ្រប់គ្រាន់ " "ដើម្បី​ធ្វើវិភាគ​ដោយស្វ័យប្រវត្តិ ហើយ​ផ្ញើ​របាយការណ៍​ទៅ​អ្នក​អភិវឌ្ឍន៍ ។" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "របាយការណ៍​បញ្ហា​មិន​ត្រឹមត្រូវ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "អ្នក​មិន​ត្រូវ​បាន​អនុញ្ញាត​ឲ្យ​ចូល​មើល​របាយការណ៍​បញ្ហា​នេះ ។" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "កំហុស" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "មិនមាន​ទំហំ​គ្រប់គ្រាន់​ ដើម្បី​ដំណើរការ​របាយការណ៍​នេះ​ទេ ។" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "គ្មាន​កញ្ចប់​បាន​បញ្ជាក់​ទេ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "អ្នក​ត្រូវ​តែ​បញ្ជាក់​កញ្ចប់ ឬ​ PID ។ ចំពោះ​ព័ត៌មាន​បន្ថែម សូម​មើល --help ។" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "សិទ្ធិ​ត្រូវ​បាន​បដិសេធ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "ដំណើរការ​ដែល​បាន​បញ្ជាក់​មិនមែនជា​របស់​អ្នក​ទេ ។ " "សូម​ដំណើរការ​កម្មវិធី​នេះ​ជា​ម្ចាស់​ដំណើរការ ឬ​ដំណើរការ​ជា root ។" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "PID មិន​ត្រឹមត្រូវ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "" "លេខ​សម្គាល់​ដំណើរការ​ដែល​បាន​បញ្ជាក់ មិន​មែន​ជា​របស់​កម្មវិធី​​នេះ​ទេ ។" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "ស្គ្រីប​សញ្ញា %s មិន​បាន​កំណត់​កញ្ចប់​ដែល​មាន​ប្រសិទ្ធភាព​ឡើយ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "គ្មាន​កញ្ចប់ %s ឡើយ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "មិន​អាច​ធ្វើ​របាយការណ៍​​បាន​ឡើយ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "ធ្វើ​បច្ចុប្បន្នភាព​របាយការណ៍​​អំពី​បញ្ហា" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "អ្នក​មិន​មែន​ជា​អ្នក​រាយការណ៍ ឬ​អ្នក​ជាវ​នៃ​របាយការណ៍​អំពី​បញ្ហា​ឡើយ " "របាយការណ៍​គឺ​ជា​ច្បាប់​ចម្លង ឬ​បាន​បិទ​ហើយ ។\n" "\n" "សូម​ធ្វើ​របាយការណ៍​ថ្មី \"apport-bug\" ។" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "អ្នក​មិន​មែន​ជា​អ្នក​រាយការណ៍​អំពី​របាយការណ៍​បញ្ហា​នេះ​ទេ ។ " "វា​គឺ​​ងាយស្រួល​ខ្លាំង​ណាស់ ក្នុង​ការ​សម្គាល់​កំហុស​ស្ទួន​ " "ជាជាង​យក​​មតិយោបល់​របស់​អ្នក​ចេញ និង​យក​ឯកសារ​ភ្ជាប់​ទៅ​កាន់​កំហុស​ថ្មី ។\n" "\n" "យើង​ផ្ដល់​យោបល់​ឲ្យ​អ្នក ប្រើ​ឯកសារ​របាយការណ៍​កំហុស​ថ្មី​ \"apport-bug\" " "ហើយ​​​ផ្ដល់​មតិយោបល់​​អំពី​​កំហុស​​ក្នុង​ឯកសារ​នេះ ។\n" "\n" "តើ​អ្នក​ពិត​ជា​ចង់​ធ្វើ​បន្ត​ឬ ?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "គ្មាន​ព័ត៌មាន​បន្ថែម​​ដែល​បាន​ប្រមូល​ឡើយ ។" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "តើ​ប្រភេទ​បញ្ហា​អ្វី​ដែល​អ្នក​ចង់​រាយការណ៍ ?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "មិន​ស្គាល់​សញ្ញា" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "មិន​ស្គាល់​សញ្ញា \"%s\" ។" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "ក្រោយ​ពេល​​បិទ​សារ​នេះ សូម​ចុច​លើ​​បង្អួច​កម្មវិធី ដើម្បី​រាយការណ៍​អំពី​វា ។" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "បាន​បរាជ័យ xprop ដើម្បី​កំណត់​លេខ​សម្គាល់​ដំណើរការ​របស់​បង្អួច" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "%prog <report number>" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "បញ្ជាក់​ឈ្មោះ​កញ្ចប់ ។" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" "បន្ថែម​ស្លាក​​ខាងក្រៅ​ដើម្បី​រាយការណ៍ ។ អាច​ត្រូវ​បាន​បញ្ជាក់​ពេលវេលា​ច្រើន ។" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "ចាប់ផ្ដើម​​ជា​របៀប​ការ​រៀបចំ​ឯកសារ​កំហុស ។ ទាមទារ --កញ្ចប់ និង​ជា​ជម្រើស --" "pid, ឬ --pid ។ ប្រសិនបើ​ មិន​ត្រូវ​​បាន​ផ្ដល់​ឲ្យ​ទេ​នោះ " "បង្ហាញ​បញ្ជី​សញ្ញា​ដែល​មិន​ស្គាល់ ។ (បាន​បញ្ជាក់ " "ប្រសិនបើ​អាគុយម៉ង់​ត្រូវ​បាន​ផ្ដល់​ឲ្យ ។)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "ចុច​លើ​បង្អួច​ដែល​ជា​គោលដៅ​សម្រាប់​បំពេញ​របាយការណ៍​អំពី​បញ្ហា ។" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" "ចាប់ផ្ដើម​ជា​របៀប​​ការ​ធ្វើ​បច្ចុប្បន្នភាព​កំហុស ។ អាច​យក​កញ្ចប់ --ជា​ជម្រើស " "។" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "ឯកសារ​របាយការណ៍​កំហុស​អំពី​សញ្ញា ។ (បាន​បញ្ជាក់ " "ប្រសិនបើ​ឈ្មោះ​សញ្ញា​ត្រូវ​បាន​ផ្ដល់​ជា​អាគុយម៉ង់​តែមួយ ។)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "បញ្ជាក់​ឈ្មោះ​កញ្ចប់​ជា​របៀប --កំហុស-ឯកសារ ។ វា​គឺ​ជា​ជម្រើស ប្រសិនបើ --pid " "ត្រូវ​បាន​បញ្ជាក់ ។ (បាន​បញ្ជាក់ " "ប្រសិនបើ​​ឈ្មោះ​កញ្ចប់​ត្រូវ​បាន​ផ្ដល់​ជា​អាគុយម៉ង់​តែមួយ ។)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "បញ្ជាក់​ការ​ដំណើរការ​កម្មវិធី​ជា​របៀប --កំហុស-ឯកសារ ។ ប្រសិនបើ " "វា​ត្រូវ​បាន​បញ្ជាក់ របាយការណ៍​កំហុស​នឹង​មាន​ព័ត៌មាន​បន្ថែម ។ (បាន​បញ្ជាក់ " "ប្រសិនបើ pid ត្រូវ​បាន​ផ្ដល់​ជា​អាគុយម៉ង់​តែមួយ ។)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "pid ដែល​បាន​ផ្ដល់​ជា​កម្ម​វិធី​ដែល​បាន​ព្យួរ។" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "របាយការណ៍​គាំង​​ដែល​បាន​ផ្ដល់​ពី​ឯកសារ .apport ឬ .crash ជំនួស​នៅ​ក្នុង%s. ( " "បាន​បញ្ជាក់​ ប្រសិនបើ​ឯកសារ​ត្រូវ​បាន​ផ្ដល់​​តែ​អាគុយម៉ង់ ។)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" "ជា​របៀប​បំពេញ​កំហុស " "រក្សាទុក​ព័ត៌មាន​ដែល​បាន​ប្រមូល​នៅ​ក្នុង​ឯកសារ​​ជំនួស​ការ​ធ្វើ​របាយការណ៍​​អំព" "ី​វា ។ ឯកសារ​នេះ​​អាច​ត្រូវ​បាន​​រាយការណ៍​​ក្រោយ​ពេល​ពី​ម៉ាស៊ីន​ខុសគ្នា ។" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "បោះពុម្ព​លេខ​កំណែ Apport ។" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" "វា​នឹង​ចាប់ផ្ដើម apport-retrace នៅ​ក្នុង​បង្អួយ​ស្ថានីយ " "ដើម្បី​ត្រួតពិនិត្យ​​ភាគ​គាំង ។" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "រត់​សម័យ gdb" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "រត់​សម័យ gdb ដោយ​មិន​ទាញ​យក​និមិត្ត​សញ្ញា​បំបាត់​កំហុស" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "ធ្វើ​បច្ចុប្បន្ន %s ជា​មួយ​ដាន​​ជា​​​និមិត្ត​សញ្ញា​ពេញលេញ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" "របាយការណ៍​អំពី​បញ្ហា​នេះ​អនុវត្ត​កម្មវិធី​ដែល​មិន​ត្រូវ​បាន​ដំឡើង​ទៀត​ឡើយ ។" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" "បញ្ហា​បានកើត​ឡើង​ជា​មួយ​កម្មវិធី %s " "ដែល​បាន​ផ្លាស់ប្ដូរ​តាំង​ពី​​មាន​ការ​គាំង ។" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "របាយការណ៍​អំពី​បង្ហាញ​នេះ​ខូច ហើយ​មិន​អាច​ធ្វើ​បន្ត​បាន​ទេ ។" #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "របាយការណ៍​ស្ថិត​នៅ​ក្នុង​កញ្ចប់​ដែល​មិន​ត្រូវ​បាន​ដំឡើង ។" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "កំហុស​មួយ​បាន​កើត​ឡើង​ នៅ​ពេល​ព្យាយាម​ដំណើរការ​របាយការណ៍​បញ្ហា​នេះ ៖" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "មិន​អាច​កំណត់​​ ឈ្មោះ​កញ្ចប់​ប្រភព ឬ​កញ្ចប់​បាន​ឡើយ ។" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "មិន​អាច​ចាប់ផ្ដើម​កម្មវិធី​រុករក​បណ្ដាញ​បាន​ទេ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "មិន​អាច​ចាប់ផ្ដើម​កម្មវិធី​រុករក​បណ្ដាញ ដើម្បី​បើក %s បាន​ទេ ។" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" "សូម​បញ្ចូល​ព័ត៌មាន​អំពី​គណនី​របស់​អ្នក​​សម្រាប់​ប្រព័ន្ធ​តាមដាន​កំហុស %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "បញ្ហា​បណ្ដាញ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "មិន​អាច​តភ្ជាប់​ទៅកាន់​មូលដ្ឋាន​ទិន្នន័យ​គាំង​បាន​ទេ " "សូម​ពិនិត្យមើល​ការ​តភ្ជាប់​អ៊ីនធឺណិត​របស់​អ្នក ។" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "ការ​ប្រើ​​​អស់​អង្គ​ចងចាំ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "ប្រព័ន្ធ​របស់​អ្នក​មិន​មាន​អង្គ​ចងចាំ​គ្រប់គ្រាន់ " "ដើម្បី​ដំណើរការ​របាយការណ៍​គាំង​នេះ​ទេ ។" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "បញ្ហា​មិន​អាច​ត្រូវ​បាន​​រាយការណ៍​ឡើយ ៖\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "ស្គាល់​​​អំពី​បញ្ហា​ហើយ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "បញ្ហា​នេះ​ត្រូវ​បាន​រាយការណ៍​នៅ​ក្នុង​របាយការណ៍​កំហុស " "ដែល​បង្ហាញ​នៅ​ក្នុង​កម្មវិធី​រុករក​បណ្ដាញ ។ សូម​ពិនិត្យមើល " "ប្រសិនបើ​អ្នក​អាច​បន្ថែម​ព័ត៌មាន​បន្ថែម " "​​ដែល​​​អា​ផ្ដល់​ជា​ប្រយោជន៍​សម្រាប់​​អ្នក​អ្នក​អភិវឌ្ឍន៍ ។" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "បញ្ហា​នេះ​​អាច​ត្រូវ​បាន​រាយការណ៍​ទៅ​កាន់​​​អ្នក​អភិវឌ្ឍន៍ ។ អរគុណ !" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "បន្ត​ដំណើរការ hung រៀងរាល់​ជិត​បញ្ចប់ ហើយ​នឹង​លេចឡើង​នៅ​ពេល​​ដែល​បញ្ចប់​​ ។" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "ចុច​គ្រាប់ចុច​ណាមួយ​ដើម្បី​បន្ត..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "តើ​អ្នក​ចង់​ធ្វើ​វា​ដែល​ឬ​ទេ ? ជម្រើស​របស់​អ្នក​គឺ ៖" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "សូម​ជ្រើសរើស (%s) ៖" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i បៃ)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "ក្រោយ​ពេល​ផ្ញើ​របាយការណ៍​អំពី​បញ្ហា សូម​បំពេញ​សំណុំ​បែបបទ​នៅ​ក្នុង\n" "​កម្មវិធី​រុករក​បណ្ដាញ​ដែល​​បាន​បើក​ដោយ​ស្វ័យប្រវត្តិ ។" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "ផ្ញើ​របាយការណ៍ (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "ត្រួតពិនិត្យ​ជា​មូលដ្ឋាន" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "មើល​របាយការណ៍" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "រក្សាទុក​ឯកសារ​របាយការណ៍​សម្រាប់​ផ្ញើ ឬ​ចម្លង​ទៅ​​ទីតាំង​​ផ្សេង​ទៀត" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "បោះបង់ និង​មិន​អើពើ​ការ​គាំង​របស់​កំណែ​​កម្មវិធី​កម្មវិធី" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "បោះបង់" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "ឯកសារ​របាយការណ៍​អំពី​បញ្ហា ៖" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "អះអាង" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "កំហុស ៖ %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "ព័ត៌មាន​ដែល​បាន​ប្រមូល​អាច​ត្រូវ​បាន​ផ្ញើ​ទៅ​អ្នក​អភិវឌ្ឍន៍ " "ដើម្បី​ធ្វើ​ឲ្យ​កម្មវិធី​ប្រសើរ​ឡើង\n" " ។ វា​អាច​ចំណាយ​ពេលវេលា​ពីរបី​នាទី ។" #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "ព័ត៌មាន​ដែល​បាន​ប្រមូល​កំពុង​​​ត្រូវ​បាន​ផ្ញើ​ទៅកាន់​ប្រព័ន្ធ​តាមដាន​កំហុស " "។\n" "វា​អាច​ចំណាយ​ពេល​ពីរបី​នាទី ។" #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "ធ្វើ​រួច" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "គ្មាន" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "បាន​ជ្រើស ៖ %s ។ ពហុ​ជម្រើស ៖" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "ជម្រើស ៖" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "ផ្លូវ​ទៅកាន់​ឯកសារ (ចូល​ដើម្បី​បោះបង់) ៖" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "មិន​មាន​ឯកសារ​ទេ ។" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "វា​ជា​ថត​មួយ ។" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "ដើម្បី​បន្ត អ្នក​ត្រូវ​មើល​ URL ខាង​ក្រោម ៖" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "អ្នក​អាច​ចាប់ផ្ដើម​កម្មវិធី​រុករក​ឥឡូវ​នេះ ឬ​ចម្លង URL " "នេះ​ទៅកាន់​កម្មវិធី​រុករក​នៅ​លើ​កុំព្យូទ័រ​ផ្សេង​ទៀត ។" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "ចាប់ផ្ដើម​កម្មវិធី​រុករក​ឥឡូវ​នេះ" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "គ្មាន​របាយការណ៍​គាំង​ឡើយ ។ សាកល្បង​ជំនួយ​សម្រាប់​ព័ត៌មាន​បន្ថែម ។" #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "អំឡុង​ពេល​ដែល​កើត​ឡើង​ ការ​ផ្អាក​មុន " #~ "និង​បាន​ការពារ​វា​ពី​ការ​ធ្វើ​បន្ត​យ៉ាង​ត្រឹមត្រូវ ។" #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "អំឡុង​ពេល​ដែល​បាន​កើតឡើង សម្ងំ​មុន " #~ "និង​បាន​ការពារ​ពី​ការ​ធ្វើ​បន្ត​យ៉ាង​ត្រឹមត្រូវ ។" #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [options] <apport problem report | crash ID>" #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "អាគុយម៉ង់​មិន​ត្រឹមត្រូវ ប្រើ --ជំនួយ​សម្រាប់​ជំនួយ​ខ្លី" #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "" #~ "អ្នក​ត្រូវ​ធ្វើ​ប្រតិបត្តិការ​​ណាមួយ​ក៏បាន (-s, -g, -o) " #~ "ឬ​ផ្គត់ផ្គង់​ឯកសារ​ការ​ផ្ទៀងផ្ទាត់​ភាព​ត្រឹមត្រូវ (--auth) សូម​មើល​ជំនួយ --" #~ "សម្រាប់​ជំនួយ​ខ្លី" #, python-format #~ msgid "Sorry, the application %s has closed unexpectedly." #~ msgstr "សូម​ទោស កម្មវិធី %s បាន​បិទ​ដោយ​មិន​រំពឹង​ទុក" #~ msgid "Your system might become unstablenow and might need to be restarted." #~ msgstr "" #~ "ប្រព័ន្ធរបស់អ្នកអាចនឹងក្លាយទៅជាមិនស្ថិតស្ថេរពេលឥឡូវនេះហើយប្រហែលជាត្រូវការដើម្" #~ "បីត្រូវបានចាប់ផ្ដើមឡើងវិញ។" ���������������������������������������������������������������������������apport-2.20.1/po/kn.po������������������������������������������������������������������������������0000644�0000000�0000000�00000117151�12677230222�012626� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Kannada translation for apport # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2009. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2011-10-07 06:10+0000\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: Kannada <kn@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: kn\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "ನೀವು ವರದಿ ಮಾಡಿದ ತೊಂದರೆಯನ್ನು ಸರಿ ಮಾಡಲು ವಿಕಾಸಗಾರರಿಗೆ ಸಹಾಯವಾಗಲು ಮಾಹಿತಿಯನ್ನು " "ಸಂಗ್ರಹಿಸಲಾಗುತ್ತಿದೆ." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "ತೊಂದರೆ ಮಾಹಿತಿಯನ್ನು ಅಪ್ಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "ಸಂಗ್ರಹಿಸಿದ ಮಾಹಿತಿಯನ್ನು ದೋಷ ಟ್ರಾಕಿಂಗ್ ವ್ಯವಸ್ಥೆಗೆ ಕಳುಹಿಸಲಾಗುತ್ತಿದೆ. ಇದು ಕೆಲವು " "ನಿಮಿಷ ತೆಗೆದುಕೊಳ್ಳ್ಬಹುದು." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Apport ಕುಸಿತದ ಕಡತ" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(ಬೈನರಿ ದತ್ತಾಂಶ)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "ದೋಷ ವರದಿಯನ್ನು ವಿಕಾಸಗಾರರಿಗೆ ರವಾನಿಸುವುದೇ?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "ಕುಸಿತದಿಂದ ಮಾಹಿತಿಯನ್ನು ಪಡೆದುಕೊಳ್ಳಲಾಗುತ್ತಿದೆ" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "ಒಂದು ತೊಂದರೆಯನ್ನು ವರದಿ ಮಾಡು..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "ಒಂದು ಅಸಮರ್ಪಕ ಕಾರ್ಯವನ್ನು ವಿಕಾಸಗಾರರಿಗೆ ವರದಿ ಮಾಡು" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "ಹೊಸ ಜಾಡನ್ನು (ಟ್ರೇಸ್) ವರದಿಗೆ ಬರೆಯಬೇಡ, ಬದಲಾಗಿ ಅದನ್ನು stdout ಗೆ ಬರೆ" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "ಮೂಲ ವರದಿಯನ್ನು ಬದಲಾಯಿಸುವ ಬದಲು ಬದಲಾವಣೆ ಮಾಡಿದ ವರದಿಯನ್ನು ಹೇಳಿದ ಕಡತಕ್ಕೆ ಬರೆ" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "ಈ ಕಡತಗಳನ್ನು ಲಗತ್ತಿಸಿ ಕಳುಹಿಸಲು ಸಮ್ಮತಿಯೆ? [y/n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "ನೀವು ಕೆಲವು ಹಳೆ ಆವ್ರತ್ತಿಯ ಪ್ಯಾಕೆಜ್ ಗಳನ್ನ ಅನುಸ್ಥಾಪಿಸಿ ಕೊಂಡಿದ್ದೀರಿ. ದಯವಿಟ್ಟು " "ಕೆಳಕಂಡ ಪ್ಯಾಕೆಜ್ ಗಳನ್ನ ಅಪ್ಗ್ರೇಡ್ ಮಾಡಿಕೊಂಡು ದೋಷ ಮರುಕಳಿಸುತ್ತದೆಯೆ ಎಂದು ಗಮನಿಸಿ\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "ಅಜ್ಜ್ನಾತ ಪ್ರೋಗ್ರಾಮ್" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "ಕ್ಷಮಿಸಿ %s ಪ್ರೋಗ್ರಾಮ್ ಅನಿರೀಕ್ಷಿತವಾಗಿ ಅಂತ್ಯಗೊಂಡಿದೆ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "%s ನಲ್ಲಿ ತೊಂದರೆ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "ಅಸಿಂಧುವಾದ ತೊಂದರೆ ವರದಿ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "ನಿಮಗೆ ಈ ತೊಂದರೆ ವರದಿಯನ್ನು ಪರಿಶೀಲಿಸುವ ಅಧಿಕಾರವಿಲ್ಲ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "ದೋಷ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" "ಈ ತೊಂದರೆ ವರದಿಯನ್ನು ಪರಿಶೀಲಿಸಲು ಬೇಕಾಗುವಷ್ಟು ಸ್ಥಳಾವಕಾಶ ನಿಮ್ಮ ಗಣಕಯಂತ್ರದ " "ಡಿಸ್ಕ್(ಮುದ್ರಿಕೆಯಲ್ಲಿ) ನಲ್ಲಿ ಇಲ್ಲ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "ಯಾವುದೇ ಪ್ಯಾಕೆಜ್ ಹೇಳಲಾಗಿಲ್ಲ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "ನೀವು ಪ್ಯಾಕೆಜ್ ಅಥವಾ PID ಯನ್ನು ಉಲ್ಲೇಖಿಸಬೇಕು. ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ --help ಅನ್ನು " "ನೋಡಿ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "ಅನುಮತಿಯು ನಿರಾಕರಿಸಲ್ಪಟ್ಟಿದೆ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "ಉಲ್ಲೇಖಿಸಿದ ಪ್ರಕ್ರಿಯೆಯು ನಿಮಗೆ ಸಂಬಂಧಿಸಿದಲ್ಲ. ದಯವಿಟ್ಟು ಈ ಅನ್ವಯವನ್ನು ಪ್ರಕ್ರಿಯೆಯ " "ಯಜಮಾನನಾಗಿ ಅಥವಾ root ಆಗಿ ಚಾಲನೆ ಮಾಡಿ." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "ಅಮಾನ್ಯವಾದ pid" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "ಉಲ್ಲೇಖಿಸಿದ ಪ್ರಕ್ರಿಯೆಯ ID ಯಾವುದೇ ಅನ್ವಯಕ್ಕೆ ಸಂಬಂಧಿಸಿದ್ದಲ್ಲ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "%s ಪ್ಯಾಕೆಜ್ ಅಸ್ಥಿತ್ವದಲ್ಲಿಲ್ಲ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "ನೀವು ಯಾವ ವಿಧದ ತೊಂದರೆಯನ್ನು ವರದಿ ಮಾಡಲು ಬಯಸುತ್ತೀರಿ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "ಅಜ್ಞಾತ ಕುರುಹು" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "\"%s\" ಕುರುಹಿನ ಬಗ್ಗೆ ತಿಳಿದಿಲ್ಲ." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Apport ನ ಆವೃತ್ತಿ ಸಂಖ್ಯೆಯನ್ನು ಮುದ್ರಿಸು." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "ಈ ತೊಂದರೆ ವರದಿ ಹಾನಿಗೊಂಡಿದೆ ಆದುದರಿಂದ ಪರಿಷ್ಕರಣೆ ಮಾಡಲಾಗುತ್ತಿಲ್ಲ" #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "ಜಾಲ ವೀಕ್ಷಕವನ್ನು ಆರಂಭಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "%s ಅನ್ನು ತೆರೆಯಲು ಜಾಲ ವೀಕ್ಷಕವನ್ನು ಆರಂಭಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "ಮೆಮೊರಿ ಖಾಲಿಯಾಗಿದೆ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "ಈ ತೊಂದರೆಯನ್ನು ವರದಿ ಮಾಡಲಾಗದು:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "ಈಗಾಗಲೆ ತಿಳಿದಿರುವ ತೊಂದರೆ." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "ಮುಂದುವರೆಯಲು ಯಾವುದಾದರು ಕೀಲಿಯನ್ನು ಅದುಮಿ..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "ದಯವಿಟ್ಟು ಆಯ್ಕೆ ಮಾಡಿ (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "ವರದಿಯನ್ನು ಕಳುಹಿಸು (%s) (&S)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "ವರದಿಯನ್ನು ವೀಕ್ಷಿಸು (&V)" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "ರದ್ದುಗೊಳಿಸು(&C)" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "ತೊಂದರೆ ವರದಿ ಕಡತ:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "ಖಚಿತಪಡಿಸು(&C)" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "ದೋಷ: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "ಅನ್ವಯವನ್ನು ಸುಧಾರಿಸಲು ಸಂಗ್ರಹಿಸಿದ ಮಾಹಿತಿಯನ್ನು ವಿಕಾಸಗಾರರಿಗೆ ಕಳುಹಿಸಬಹುದು.\n" "ಇದು ಕೆಲವು ನಿಮಿಷ ತೆಗೆದು ಕೊಳ್ಳಬಹುದು." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "ಸಂಗ್ರಹಿಸಿದ ಮಾಹಿತಿಯನ್ನು ದೋಷ ಟ್ರಾಕಿಂಗ್ ವ್ಯವಸ್ಥೆಗೆ ಕಳುಹಿಸಲಾಗುತ್ತಿದೆ.\n" "ಇದು ಕೆಲವು ನಿಮಿಷ ತೆಗೆದುಕೊಳ್ಳ್ಬಹುದು." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "ಆಯಿತು(&D)" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "ಯಾವುದೂ ಅಲ್ಲ" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "ಆಯ್ಕೆಗಳು:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "ಕಡತ ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "ಇದು ಕಡತ ಕೋಶವಾಗಿದೆ" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "ಜಾಲ ವೀಕ್ಷಕವನ್ನು ಆರಂಭಿಸು" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "%s ಅಸಲಿ ತಂತ್ರಾಂಶ(ಪ್ಯಾಕೆಜ್) ಅಲ್ಲ" #~ msgid "&Report Problem..." #~ msgstr "ತೊಂದರೆಯನ್ನು ವರದಿಮಾಡು (&R)" #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "ಸಂಪೂರ್ಣ ವರದಿಯನ್ನು ರವಾನಿಸಿ (&S)(ಸೂಚಿಸಲಾಗಿದೆ; %s)" #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "" #~ "ಮೊಟಕುಗೊಳಿಸಿದ ವರದಿಯನ್ನು ರವಾನಿಸು (&S) (ನಿಧಾನವಿರುವ ಅಂತರ್ಜಾಲ ಸಂಪರ್ಕಗಳಿಗೆ; %s)" #~ msgid "Application problem" #~ msgstr "ಅನ್ವಯದ ತೊಂದರೆ" #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "ಪೂರ್ಣ ವರದಿ (ಸೂಚಿಸಲಾದ; %s)" #~ msgid "Content of the report" #~ msgstr "ವರದಿಯ ಅಂಶಗಳು" #~ msgid "Kernel problem" #~ msgstr "ಕರ್ನೆಲ್ ತೊಂದರೆ" #~ msgid "Package problem" #~ msgstr "ಪ್ಯಾಕೇಜ್ ತೊಂದರೆ" #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "ಮೊಟಕುಗೊಳಿಸಿದ ವರದಿ (ನಿಧಾನವಿರುವ ಅಂತರ್ಜಾಲ ಸಂಪರ್ಕಕ್ಕೆ; %s)" #~ msgid "Restart _Program" #~ msgstr "ಅನ್ವಯವನ್ನು ಮರು ಪ್ರಾರಂಭಿಸು (_P)" #~ msgid "_Report Problem..." #~ msgstr "ತೊಂದರೆಯನ್ನು ವರದಿಮಾಡು ... (_R)" #~ msgid "_Send Report" #~ msgstr "ವರದಿಯನ್ನು ಕಳುಹಿಸು (_S)" �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/ko.po������������������������������������������������������������������������������0000644�0000000�0000000�00000117026�12677230222�012630� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Korean translation for apport # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the apport package. # Eungkyu Song <eungkyu@gmail.com>, 2006. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2011-10-07 06:10+0000\n" "Last-Translator: Namhyung Kim <namhyung@gmail.com>\n" "Language-Team: Korean <ko@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: ko\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>문제점 정보를 수집하는 중</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "개발자가 여러분이 보낸 보고서를 통해 문제점을 해결할 수 있도록 정보를 수집하고 있습니다." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "문제점 정보를 업로드하는 중" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>문제점 정보를 업로드하는 중</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "수집된 정보를 버그 추적 시스템으로 전송하고 있습니다. 이 작업은 몇 분 정도 걸릴 수 있습니다." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(바이너리 데이터)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "문제점을 개발자에게 보고하시겠습니까?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "문제점 정보를 모으는 중" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "문제점 보고..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "개발자에게 버그를 보고합니다" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "오래된 버전의 패키지가 몇 개 설치되어 있습니다. 다음 패키지들을 업그레이드한 후 계속 문제가 발생하는지 점검해 주십시오:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "알 수 없는 문제" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "죄송합니다. \"%s\" 프로그램이 예상치 않게 종료되었습니다" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "%s 내의 문제" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "여러분의 컴퓨터에는 자동으로 문제점을 분석하여 개발자에게 보고서를 보낼 수 있을 정도의 충분한 메모리가 없습니다." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "올바르지 않은 문제점 보고서" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "이 문제점 보고서에 접근하도록 허용되지 않았습니다." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "오류" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "디스크 공간이 부족하여 보고서를 처리할 수 없습니다." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "패키지가 지정되지 않음" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "패키지 혹은 PID를 지정해야 합니다. --help 옵션을 이용하여 정보를 볼 수 있습니다." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "권한이 없음" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "지정된 프로세스는 여러분이 실행한 것이 아닙니다. 이 프로그램을 직접 실행하거나 root 사용자로 실행하십시오." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "%s 패키지가 존재하지 않습니다" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "어떤 종류의 문제점을 보고하시겠습니까?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "알려지지 않은 증상" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "\"%s\"은 알려지지 않은 증상입니다." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "문제점 보고서가 손상되어 처리할 수 없습니다." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "보고서가 설치되지 않는 패키지에 속해 있습니다." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "패키지나 소스 패키지 이름을 알아낼 수 없습니다." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "웹 브라우저를 시작할 수 없습니다" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "웹 브라우저를 이용하여 %s을(를) 열 수 없습니다." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "네트워크 문제" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "메모리 부족" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "시스템에 충돌 보고서를 처리할 수 있을 만큼의 여유 메모리가 없습니다." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "문제점을 보고할 수 없습니다:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "이미 알려진 문제" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "이 문제는 웹 브라우저에 표시된 버그 보고서에 이미 보고된 것입니다. 개발자에게 도움이 될 만한 추가적인 정보를 제공할 수 있는지 점검해 " "주십시오." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "아무키나 누르면 계속합니다..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "어떤 작업을 수행하시겠습니까?" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "선택해 주십시오 (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "문제점 보고서가 전송된 후에, 자동으로 열리는 웹 브라우저 내의 문항을\n" "작성해 주시기 바랍니다." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "보고서 보내기(&S) - (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "보고서 보기(&V)" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "나중에 보내거나 다른 곳에 복사해 두기 위해 보고서 파일 저장(&K)" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "이 버전의 프로그램에서 다시 문제가 발생해도 무시하기(&I)" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "취소(&C)" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "문제점 보고서 파일:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "확인(&C)" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "오류: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "수집된 정보는 프로그램을 개선하기 위해 개발자에게 보낼 수 있습니다.\n" "이 과정은 몇 분 정도 걸립니다." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "수집된 정보가 버그 추적 시스템으로 전송되고 있습니다.\n" "이 과정은 몇 분 정도 걸릴 수 있습니다." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "대기 중인 문제점 보고서가 없습니다. --help 옵션을 이용하여 다른 정보를 볼 수 있습니다." #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "보고서 작성 (추천; %s)" #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>이 문제를 개발자에게 보고하시겠습니까?</b></big>\n" #~ "\n" #~ "버그 보고서를 보내고 난 후에, 웹 브라우저에 자동으로 열리는 페이지의 정보를 입력해 주십시오." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "(암호 또는 다른 개인 정보를 입력하는 것과 같은) 보안 작업을 수행하지 않았다면, 문제점을 보고하여 프로그램을 개선하도록 도울 수 " #~ "있습니다." #~ msgid "Application problem" #~ msgstr "프로그램 문제점" #~ msgid "_Send Report" #~ msgstr "보고서 보내기(_S)" #~ msgid "Restart _Program" #~ msgstr "프로그램 재시작(_P)" #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">죄송합니다. \"%s\" 패키지의 설치 혹은 업그레이드가 " #~ "실패했습니다.</span>" #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "보고서 경량화 (느린 인터넷 연결: %s)" #~ msgid "_Ignore future crashes of this program version" #~ msgstr "이 버전의 프로그램에 대해 이후의 문제 발생시 무시(_I)" #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "이것은 보고서에서 많은 항목을 제거합니다. 이 정보들은 개발자가 문제점을 고치는 데에는 매우 유용하지만, 인터넷 접속이 느리다면 " #~ "업로드하기에는 너무 클 수 있습니다." #~ msgid "_Report Problem..." #~ msgstr "문제점 보고(_R)..." #~ msgid "Kernel problem" #~ msgstr "커널 문제" #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "문제점을 보고하여 개발자들이 패키지를 수정하도록 도와줄 수 있습니다." #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "이것은 순수한 %s 용 패키지가 아닙니다" #~ msgid "Content of the report" #~ msgstr "보고서의 내용" #~ msgid "Package problem" #~ msgstr "패키지 문제" #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "시스템에 심각한 커널 문제가 발생하였습니다." #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "이 문제를 보고하여 개발자들이 문제를 해결할 수 있도록 도와줄 수 있습니다." #~ msgid "&Report Problem..." #~ msgstr "문제점 보고...(&R)" #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "\"%s\" 패키지가 설치 혹은 업그레이드 과정에서 실패하였습니다." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "만약 비밀 정보를 다루는 작업 (암호 혹은 다른 개인 정보를 입력하는 일)\n" #~ "을 수행하는 중이 아니었다면, 문제점을 보고하여 프로그램을 개선하도록\n" #~ "도움을 줄 수 있습니다." #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s 프로그램이 예상치 않게 종료되었습니다 (%s %s)" #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "간소화한 보고서 보내기 (&R) - (느린 인터넷 연결 시; %s)" #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "완전한 보고서 보내기(&S) - (추천; %s)" ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/ku.po������������������������������������������������������������������������������0000644�0000000�0000000�00000112606�12677230222�012635� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Kurdish translation for apport # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2011-10-07 06:10+0000\n" "Last-Translator: rizoye-xerzi <rizoxerzi@gmail.com>\n" "Language-Team: Kurdish <ku@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: ku\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>Agahiyên Pirsgirêkê tên civîn</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "Agahiyên pirsgirêkê tên vebarkirin." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(daneya binary)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Raporeka pirsgirêkê ji pisporan re bişîne?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Agahiyên pirsgirêkê tên civandin." #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "" #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "Te hinek guhertoyên pakêtên kevn barkiriye. Ji kerema xwe re pekêtên li " "xwarê ilind bikin û qonrol bikin ku pirsgirêk berdewam bike:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "Bernameya nenas" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Xemgînim, bernameya \"%s\" bi awayekî ne dihat hêvîkirin hat girtin." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Pirsgirêk di %s de" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "Komputera te ne xwediyê têr bîr e ku bixeber vê pirsgirêkê analîz bike û " "raporekê ji pisporan re bişîne." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Raporkirina pirsgirêkê ya ne derbasdar" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "Destûra te tune tu bigihîjî vê rapora pirsgirêkê." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Çewtî" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "Ji bo kirina vê raporê têr valahiya dîskê tune." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "Pakêt ne hatiye dîyarkirin." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "Divê tu pakêtekê yan jî PID'ekî dîyarbikî. Ji bo agahiya zêdetir li --help " "binêre." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Destûr nehate dayîn" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "Kirara dîyarkirî ne aîdî te ye. Ji kerema xwe ra bernameyê wekî ku xwediyê " "kirarê root be bixebitînin." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "PID'a nederbasdar" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "ID ya kirarê ku hatiye dîyarkirin ne aîdî bernameyekê ye." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "Pakêta %s tune" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "Çi awayê pirsgirêkê tu dixwazî raporbikî?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Nîşaneya nenas" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "Nîşaneya \"%s\" nayê zanîn." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Di moda pelkirina çewtiyan de destpêbike. --package hewceye û bi dilxwazî " "yek --pid, ya jîbi tenê --pid ek. Kû yek jî nê dayîn listeya nîşaneyên tên " "zanin nîşandide.(Tê wateya ku hebek arguman bê dayîn.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "Di dermafê nîşaneyê da raporeke çewtiyê bipel bike.(Tê wateya ku li şuna " "argumanê navê nîşaneyê bê dayîn.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Hejmara guhertoya Apport çapbike" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" "Ev rapora çewtiyan li ser bernameyên ku kîjan hêja ne sazkirî be tê sepandin." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "Ev rapora pirsgirêkê xerabe ye û nayê kirin." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "Rapor aîdê pakêteke ne barkirî ye." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "Nikare pakêtê destnîşan bike an jî navê pakêtê bibîne" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Nikare geroka webê bide destpêkirin" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "Nikare geroka webê bide destpêkirin ji bo vekirina %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "Agahiyên hesabê xwe têkevinê ji bo pergala %s şopandina çewtiyan." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Pirsgirêka torê" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "Nikare bi danegeha hilweşînê ve bê girêdan, Girêdana xweyî întenetê qontrol " "bikin." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Westana bîrê" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "Di pergala te de têr bîr tuneye ku kirara vê rapora çewtiyê bike." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "Ev pirsgirêk nayê raporkirin:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Pirsgirêk jixwe tê zanîn" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Ji bo berdewamê pê li bişkokekê bikin..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "Tu dixwazî çi bikî? Tu dikarî:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Bibijêre(%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "Pîştî rapor hat şandin ji kerema xwe ra forma di geroka webê de ku \n" "bixweber vebû dagirin." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "&Raporê bişîne (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "Raporê &Bibîne" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "Ji bo şandina peyde yan jî tomarkirina ciye&kî raporê veşêre" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" "Betal yan jî &Derbasbibe di hilweşînên vê bernameyê yên di pêşerojê de" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Betal" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Pela rapora pirsgirêkê:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&Erê bike" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Çewtî: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "Agahiyên civandî kare bê şandin ji pisporan re ji pêşxistina sepanê.\n" "Ev dibe ku çend xulekan bigire." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "Agahiyên civandî ji pergala şopandina çewtiyan re tên şandin.\n" "Ev dibe ku çend xulekan bigire." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Temam" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "tune" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Bijartî: %s. Bijartinên pirjimar:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Bijartî:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Rê li pelê(Enter ji bo betalê)" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "Pel tune" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "Ev peldank e." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "Ji bo berdewamê divê tu serî li URL'ya jêr bidî." #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "Tu karî niha gerokekê bixebitînî, yan jî URL'yê qopî bike ji bo di " "computereka din de binêrî." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Gerokekê bixebitîne" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" "Raporên hilweşînê yê bendewar tunin. Ji bo agahiya zêdetir --help " "biceribînin." #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "Ev yek dê hin hêmanên mezin ji raporê bibe. Ev tiştekî asayî ye ji bo " #~ "pêşdebiran, lê dibe ku ji bo te tiştekî gelekî mezin be ku tu barbikî heke " #~ "girêdana interneta te giran be." #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "Ev ne pakêteke xweser ya %s e." #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "Sazkirin yan jî bilindkirna pakêta \"%s\" biserbeket." #~ msgid "&Report Problem..." #~ msgstr "Pirsgirêkê &Raporbike..." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "Ger te tiştekî veşartî nekiribe (têketine nasnavê yan jî agahiyên \n" #~ "taybet yên din), tu dikarî sepanê bi pêşbixî bi raporkirina \n" #~ "pirsgirêkê." #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s bê hêvîkirin hat girtin li ser %s di %s de." #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "Pergala te leqayî pirsgirêkeka girîng ya kernel'ê hat." #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "Rapora &kêmkirî bişîne (girêdana înternetê ya hêdî; %s)" #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "" #~ "Bi raporkirina pirsgirêkê tu alîkariya pisporan bikî ji bo tamîrkirina " #~ "pakêtê." #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "" #~ "Bi raporkirina vê tu dikarî ji bo çareserkirina pirsgirêkê alîkariya " #~ "pisporan bikî." #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "&Hemû raporê bişîne(Tê pêşniyarkirin; %s)" ��������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/lo.po������������������������������������������������������������������������������0000644�0000000�0000000�00000100064�12677230222�012623� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Lao translation for apport # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2008. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2011-10-07 06:10+0000\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: Lao <lo@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: \n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "" #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "" #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/lt.po������������������������������������������������������������������������������0000644�0000000�0000000�00000137340�12677230222�012637� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Lithuanian translation for apport # Copyright (c) 2006 Rosetta Contributors and Canonical Ltd 2006 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:46+0000\n" "Last-Translator: Marius Gedminas <marius@gedmin.as>\n" "Language-Team: Lithuanian <lt@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: lt\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "Apport" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Strigties pranešimas" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>Atsiprašome, įvyko vidinė klaida.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" "Jei pastebite tolesnių problemų, mėginkite paleisti kompiuterį iš naujo." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "Siųsti pranešimą apie klaidą, kad padėtų ištaisyti šią problemą" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "Ignoruoti šios programos versijos problemas ateityje" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Rodyti išsamiau" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "_Ištirti vietoje" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Palikti užvertą" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Tęsti" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>Renkama informacija apie problemą</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "Renkama informacija, kuri gali padėti kūrėjams pataisyti problemą apie kurią " "pranešėte." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "Išsiunčiama informacija apie problemą" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>Siunčiama informacija apie problemą</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "Surinkta informacija siunčiama į klaidų sekimo sistemą. Tai gali užtrukti " "keletą minučių." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Apport strigties failas" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(dvejetainiai duomenys)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "Atsiprašome, programa „%s“ netikėtai sustojo." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "Atsiprašome, %s netikėtai užsivėrė." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "Atsiprašome, %s patyrė vidinę klaidą." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Siųsti pranešimą apie problemą kūrėjams?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Siųsti" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Paleisti iš naujo" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "Programa „%s“ nustojo reaguoti." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "Programa „%s“ nustojo reaguoti." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Paketas: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "Atsiprašome, įvyko klaida diegiant programinę įrangą." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "Programa „%s“ patyrė vidinę klaidą." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "Programa %s netikėtai užsivėrė." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "Ignoruoti šio tipo problemas ateityje" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Slėpti detales" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Naudojimas: %s <ataskaita> <paskirties katalogas>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "Paskirties katalogas egzistuoja ir yra netuščias." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "Naudotojo vardas:" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "Slaptažodis:" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "Renkama informacija apie problemą" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Renkama informacija apie problemą" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "Surinkta informacija gali būti nusiųsta kūrėjams programai patobulinti. Tai " "gali užtrukti kelias minutes." #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "Išsiunčiama informacija apie klaidą" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Surinkti sistemos informaciją" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "Reikalingas tapatumo nustatymas sistemos informacijai surinkti šiam " "pranešimui apie klaidą" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "Sistemos pranešimai apie klaidą" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" "Įveskite slaptažodį, kad prieitumėte prie sistemos programų pranešimų apie " "klaidas" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Pranešti apie problemą..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Pranešti apie triktį kūrėjams" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" "Įdiegti papildomą paketą smėlio dėžėje (gali būti nurodyta daugelį kartų)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" "Jūsų sistema dabar gali tapti nestabili ir gali reikėti įkrauti OS iš naujo." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" "Nedėti naujų pėdsakų į ataskaitą, bet išvesti juos į standartinę išvestį." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "Pradėti interaktyvų gdb seansą su ataskaitos „core dump“ (-o ignoruojamas; " "neperrašo ataskaitos)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "Įrašyti modifikuotą ataskaitą į nurodytą failą, vietoje originalios " "ataskaitos keitimo" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "Pašalinti „core dump“ iš ataskaitos po dėklo pėdsakų atkūrimo." #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "Nustelbti ataskaitos CoreFile" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "Nustelbti ataskaitos ExecutablePath" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "Nustelbti ataskaitos ProcMaps" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "Perdaryti ataskaitos paketų informaciją" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" "Sukurti laikiną smėlio dėžę ir atsiųsti/įdiegti ten reikalingus paketus ir " "derinimo simbolius; be šios parinkties yra manoma, kad reikalingi paketai ir " "derinimo simboliai jau yra įdiegti sistemoje. Argumentas rodo į paketų " "sistemos konfigūracijos bazinį katalogą; jei nurodysite „system“, bus " "naudojami sistemos konfigūravimo failai, bet tada galėsite tik atsekti " "strigtis, kurios įvyko dabar vykdomoje laidoje." #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" "Raportuoti atsiuntimo/įdiegimo eigą kai įdiegiami paketai į smėlio dėžę" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "Prie žurnalo pranešimų pridėti laiko žymes" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "Podėlio katalogas paketams atsiųstiems smėlio dėžėje" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" "Katalogas išpakuotiems paketams. Vėlesni paleidimai tars, kad bet kuris jau " "atsiųstas paketas yra išpakuotas šioje smėlio dėžėje." #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" "Kelias iki failo su strigčių duomenų bazės atpažinimo informacija. Tai " "naudojama, kai nurodomas strigties ID atsektiems dėklo pėdsakams išsiųsti " "(tik, jei nenurodyti -g, -o, ar -s)" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "Rodyti atsektus dėklo pėdsakus ir klausti patvirtinimo prieš siunčiant juos " "į strigčių duomenų bazę." #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" "Kelias į dublikatų sqlite duomenų bazę (numatyta r.: netikrinti dublikatų)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "Negalite naudoti -C be -S. Stabdoma." #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "Ar siųsti šiuos priedus? [y/n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "Atrodo šis paketas įdiegtas neteisingai" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "Tai nėra oficialus %s paketas. Prašome pašalinti bet kokius trečiųjų šalių " "paketus ir pabandyti dar kartą." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "Jūs turite keletą pasenusių paketo versijų. Prašome atnaujinti šiuos paketus " "ir patikrinti ar problema vis dar pasireiškia:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "nežinoma programa" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Atsiprašome, programa „%s“ netikėtai užsidarė" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "%s klaida" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "Kompiuteris neturi pakankamai laisvos atminties, kad automatiškai " "išanalizuotų problemą ir išsiųstų ataskaitą kūrėjams." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Neteisinga ataskaita apie klaidą" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "Jums neleidžiama prieiti prie ataskaitos apie problemą." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Klaida" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "Nepakanka vietos diske šios ataskaitos apdorojimui." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "Nenurodytas paketas" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "Jums reikia nurodyti paketą arba PID. Daugiau informacijos gausite su --help." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Neturite teisės" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "Nurodytas procesas jums nepriklauso. Paleiskite programą kaip proceso " "valdytojas ar pagrindinis naudotojas." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "Neteisingas PID" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "Nurodytas proceso ID nepriklauso programai." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "Simptomų scenarijus %s nenustatė paveikto paketo" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "Paketas %s neegzistuoja" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "Ataskaitos sukurti nepavyko" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "Atnaujinama problemos ataskaita" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "Jūs nesate šio pranešimo apie klaidą pranešėjas ar pasekėjas, arba " "pranešimas yra dublikatas ar jau užvertas.\n" "\n" "Prašome sukurti naują pranešimą naudojant „apport-bug“." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "Jūs nesate šio pranešimo apie klaidą autorius. Yra daug lengviau pažymėti " "pranešimą apie klaidą kaip kito dublikatą, nei perkelti jūsų komentarus ir " "priedus į naują pranešimą apie klaidą.\n" "\n" "Todėl mes rekomenduojame, kad jūs praneštumėte apie klaidą naudodami „apport-" "bug“ ir pakomentuotumėte šiame pranešime apie klaidą apie jūsų pranešimą.\n" "\n" "Ar tikrai norite tęsti?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "Jokios papildomos informacijos nesurinkta." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "Apie kokią problemų rūšį norite pranešti?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Nežinomas simptomas" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "Simptomas „%s“ yra nežinomas." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "Kai uždarysite šį pranešimą, paspauskite ant programos lango, kad " "praneštumėte apie tai." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "xprop nepavyko nustatyti lango proceso ID" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "%prog <pranešimo numeris>" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "Nurodykite paketo pavadinimą." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" "Prie ataskaitos pridėti papildomą žymę. Gali būti nurodyta kelis kartus." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [parametrai] [simptomas|pid|paketas|programos kelias|.apport/.crash " "failas]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Paleisti pranešimo apie klaidą režime. Reikia --package ir nebūtino --pid, " "arba tik --pid. Jei nė vienas neduotas, parodyti žinomų simptomų sąrašą. " "(Turima omeny, jei duotas tik vienas argumentas.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "Pranešti apie problemą, paspauskite ant lango." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" "Pradėti klaidos atnaujinimo režime. Gali prireikti nebūtino --package." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "Registruoti pranešimą apie simptomą. (Turima omeny, jei simptomo vardas " "duotas kaip vienintelis argumentas.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "Nurodyti paketo vardą --file-bug režime. Tai neprivaloma, jei nurodytas --" "pid. (Turima omeny, jei paketo vardas duotas kaip vienintelis argumentas.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "nurodyti vykdomą programą --file-bug veiksenoje. Jei tai nurodyta, " "pranešimas apie klaidą turės daugiau informacijos. (Numanoma, jei pateiktas " "„pid“ kaip vienintelis argumentas.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "Pateiktas pid yra užstrigusi programa." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "Pranešti apie strigtį iš duoto apport ar .crash failo, o ne iš laukiančių " "%s. (Turima omeny, jei failas duotas kaip vienintelis argumentas.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" "Pranešimo apie klaidą veiksenoje išsaugoti surinktą informaciją į failą " "vietoje perdavimo. Šis failas gali būti perduotas vėliau iš kito kompiuterio." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Atspausdinti Apport versijos numerį." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" "Tai terminalo lange paleis „apport-retrace“ ir bus galima išanalizuoti lūžį." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "Vykdyti gdb sesiją" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "Vykdyti gdb sesiją, neparsiunčiant derinimo simbolių" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "Atnaujinti %s su visiškai simboliniu dėklo pėdsaku" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "Ši ataskaita apie problemą yra programos, kuri jau nėra įdiegta." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "Problema įvyko su programa %s, kuri pasikeitė nuo strigties įvykio." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "Ši ataskaita apie klaidą yra pažeista ir negali būti apdorota." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "Ataskaita priklauso neįdiegtam paketui" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "Įvyko klaida mėginant apdoroti šį pranešimą apie klaidą:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "Nepavyko nustatyti paketo ar pirminio paketo vardo." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Nepavyko paleisti žiniatinklio naršyklės" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "Nepavyko paleisti žiniatinklio naršyklės %s atverti." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "Prašome įvesti savo paskyros informaciją %s klaidų sekimo sistemoje" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Tinklo problema" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "Nepavyko prisijungti prie strigčių duomenų bazės, patikrinkite interneto " "ryšį." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Atminties išnaudojimas" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "Jūsų sistema neturi pakankamai atminties ataskaitai apie strigtį apdoroti." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "Apie problemą negali būti pranešta:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Problema jau žinoma" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "Jau buvo pranešta apie šią problemą pranešimo apie klaidą ataskaitoje " "rodomoje žiniatinklio naršyklėje. Patikrinkite ar galite pridėti daugiau " "informacijos, kuri galėtų būti naudinga kūrėjams." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "Apie šią problemą jau buvo pranešta kūrėjams. Ačiū!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "Tęsimo apdorojimas užstrigo prie pat pabaigos ir atrodė, kad buvo atliktas " "normaliai." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Spauskite bet kurį klavišą tęsimui..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "Ką norite atlikti? Jūsų parinktys yra:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Prašome pasirinkti (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i baitų)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "Kai ataskaita apie problemą bus nusiųsta, prašome užpildyti formą\n" "automatiškai atvertoje žiniatinklio naršyklėje." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "&Siųsti ataskaitą (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "&Ištirti vietoje" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "&Peržiūrėti ataskaitą" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" "Lai&kyti ataskaitos failą vėlesniam siuntimui ar kopijavimui kur nors kitur" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "Atsisakyti ir &ignoruoti šios programos strigtis ateityje" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Atsisakyti" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Ataskaitos apie problemą failas:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "Pa&tvirtinti" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Klaida: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "Surinkta informacija gali būti nusiųsta kūrėjams, kad jie patobulintų\n" "programą. Tai gali užtrukti kelias minutes." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "Surinkta informacija yra siunčiama į klaidų sekimo sistemą.\n" "Tai gali užtrukti kelias minutes." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Baigta" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "nėra" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Pasirinkta: %s. Daugybinis pasirinkimas:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Pasirinkimai:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Kelias iki failo (Enter - atsisakyti):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "Failas neegzistuoja." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "Tai katalogas." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "Norėdami tęsti privalote aplankyti šį URL:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "Galite paleisti naršyklę dabar arba nukopijuoti šį URL į naršyklę kitame " "kompiuteryje." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Paleisti naršyklę dabar" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" "Nėra laukiančiųjų strigčių ataskaitų. Mėginkite --help daugiau informacijos " "gauti." #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "Tai ne autentiškas %s paketas" #~ msgid "&Report Problem..." #~ msgstr "&Pranešti apie problemą..." #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "Sistema susidūrė su rimta branduolio problema." #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "&Siųsti visą ataskaitą (rekomenduojama; %s)" #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "Siųsti su&mažintą ataskaitą (lėtas interneto ryšys; %s)" #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">Deja, paketas „%s“ nebuvo įrašytas ar " #~ "atnaujintas.</span>" #~ msgid "Content of the report" #~ msgstr "Ataskaitos turinys" #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "Visa ataskaita (rekomenduojama; %s)" #~ msgid "Application problem" #~ msgstr "Programos problema" #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "Sumažinta ataskaita (lėtas interneto ryšys; %s)" #~ msgid "Restart _Program" #~ msgstr "Paleisti _programą iš naujo" #~ msgid "_Ignore future crashes of this program version" #~ msgstr "_Ignoruoti šios programos versijos strigtis ateityje" #~ msgid "_Report Problem..." #~ msgstr "P_ranešti apie problemą..." #~ msgid "Package problem" #~ msgstr "Paketo problema" #~ msgid "Kernel problem" #~ msgstr "Branduolio problema" #~ msgid "_Send Report" #~ msgstr "_Siųsti ataskaitą" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "Jei nedarėte nieko konfidencialaus (slaptažodžių įvedimas ar kita\n" #~ "asmeninė informacija), galite padėti pagerinti programą pranešdami\n" #~ "apie problemą." #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s netikėtai užsidarė %s %s." #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "Nepavyko įdiegti ar atnaujinti paketo „%s“." #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "" #~ "Jūs galite padėti kūrėjams pataisyti paketą pranešdami apie problemą." #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "Jūs galite padėti kūrėjams pataisyti problemą apie ją pranešdami." #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "Tai įvyko ankstesnio pristabdymo metu ir sutrukdė tinkamai tęsti." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "Tai įvyko ankstesnio užmigdymo metu ir sutrukdė tinkamai tęsti." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "Jei nedarėte nieko konfidencialaus (slaptažodžių įvedimas ar asmeninė " #~ "informacija), galite padėti patobulinti programą pranešdami apie problemą." #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>Ar išsiųsti pranešimą apie problemą kūrėjams?</b></big>\n" #~ "\n" #~ "Kai pranešimas apie problemą bus išsiųstas, užpildykite formą automatiškai " #~ "atvertoje žiniatinklio naršyklėje." #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "Tai pašalins kelias dideles dalis iš ataskaitos. Jos yra labai naudingos " #~ "kūrėjams problemos derinimui, bet gali būti per didelės išsiuntimui, jei " #~ "turite lėtą interneto ryšį." #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [parametrai] <apport problemos ataskaita | strigties ID>" #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "" #~ "jums arba reikia naudoti vietinę operaciją (-s, -g, -o) arba pateikti " #~ "atpažinimo failą (--auth); žiūrėkite --help trumpai pagalbai" #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "neteisingas argumentų skaičius; naudokite --help trumpai pagalbai" #~ msgid "Send this data to the developers?" #~ msgstr "Siųsti šiuos duomenis kūrėjams?" #, python-format #~ msgid "Sorry, the package \"%s\" failed to install or upgrade." #~ msgstr "Atsiprašome, nepavyko įdiegti ar atnaujinti paketo „%s“" #, python-format #~ msgid "Sorry, %s closed unexpectedly" #~ msgstr "Atsiprašome, %s netikėtai užvertas" #~ msgid "Generic error" #~ msgstr "Bendroji klaida" #~ msgid "Restart &Program" #~ msgstr "Paleisti &programą iš naujo" #, python-format #~ msgid "Sorry, %s closed unexpectedly." #~ msgstr "Atsiprašome, %s netikėtai užvertas." #~ msgid "&Send" #~ msgstr "&Siųsti" #, python-format #~ msgid "Sorry, the program \"%s\" closed unexpectedly." #~ msgstr "Atsiprašome, programa „%s“ netikėtai užsivėrė." #~ msgid "&Ignore future crashes of this program version" #~ msgstr "Šios programos versijos, lūžius ateityje &ignoruoti" #~ msgid "&Details..." #~ msgstr "&Detalės..." #~ msgid "" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "Kai pranešimas apie klaidą bus išsiųstas, prašome užpildyti formą " #~ "automatiškai atvertoje žiniatinklio naršyklėje." #, python-format #~ msgid "Sorry, the application %s has closed unexpectedly." #~ msgstr "Atsiprašome, programa %s netikėtai užsivėrė." ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/lv.po������������������������������������������������������������������������������0000644�0000000�0000000�00000107654�12677230222�012646� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Latvian translation for apport # Copyright (c) 2006 Rosetta Contributors and Canonical Ltd 2006 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2011-10-07 06:10+0000\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: Latvian <lv@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: lv\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "Atcelt" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "Labi" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Ziņojums par avāriju" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>Atvainojiet, notikusi iekšējā kļūda.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "Ja jūs pamanāt tālākas problēmas, mēģiniet pārstartēt datoru." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "Sūtīt kļūdu ziņojumu, lai palīdzētu atrisināt šo problēmu" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "Ignorēt tālākas problēmas ar šo programmas versiju" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Rādīt detaļas" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "_Eksaminēt lokāli" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Atstāt aizvērtu" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Turpināt" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "Atvainojiet, lietotne %s negaidīti pārstāja strādāt." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "Atvainojiet, %s aizvērās negaidīti." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "Atvainojiet, %s gadījās iekšēja kļūda." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Sūtīt" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "Aizvērt piespiedu kārtā" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Palaist vēlreiz" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "Lietotne %s pārstāja atbildēt." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "Programma \"%s\" pārstāja atbildēt." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Pakotne: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "Atvainojiet, problēma notika instalējot programmatūru." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "Lietotnei %s gadījās iekšējā kļūda" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "Lietotne %s aizvērās negaidīti." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "Ignorēt šāda veida tālākas problēmas" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Slēpt detaļas" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Savākt informāciju par sistēmu" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "Autentifikācija ir nepieciešama, lai savāktu informāciju par sistēmu šim " "problēmu ziņojumam" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "Sistēmas problēmu ziņojumi" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" "Lūdzu, ievadiet savu paroli, lai piekļūtu sistēmas programmu " "problēmziņojumiem" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "" #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "Skatiet rokasgrāmatu “man”, lai uzzinātu vairāk" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "norādiet žurnāla datnes nosaukumu, ko veidojis valgrind" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" "atkārtoti izmantot iepriekš izveidoto smilšu kastes direktoriju (SDIR) vai " "tādu izveidot, ja tāda neeksistē" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" "neveidot vai atkārtoti izmanto smilšu kastes direktoriju papildu " "atkļūdošanas simboliem, bet paļauties tikai uz instalētajiem atkļūdošanas " "simboliem." #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" "atkārtoti izmantot iepriekš izveidoto kešatmiņas direktoriju (CDIR) vai tādu " "izveidot, ja tāda neeksistē" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" "ziņot lejupielādes/instalēšanas progresu, kad pakotnes instalē smilšu kastē" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" "izpildāmā datne, kas ir palaista ar valgrind memcheck rīku, atmiņas noplūdes " "atklāšanai" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "Kļūda — %s nav izpildāms. Aptur." #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "Pievienot laika zīmogus žurnāla ierakstiem" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" "Izveidot un izmantot trešās puses krātuves no vietām, kas ir norādītas " "pārskatos" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" "Direktorija neatpakotajām pakotnēm. Nākotnē programma uzskatīs ka jebkura " "lejupielādētā pakotne ir arī atarhivēta šeit." #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "Nevar izmantot -C bez -S. Aptur." #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "Šī pakotne šķiet instalēta nekorekti" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "Šī nav oficiāla %s pakotne. Lūdzu, noņemiet jebkuras trešās puses pakotnes " "un mēģiniet vēlreiz." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "Dažas no Jūsu uzstādītajām pakotņu versijām ir novecojušas. Lūdzu, " "uzlabojiet novecojušās pakotnes un pārbaudiet, vai problēma vēl paliek:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Piedod, bet programma „%s“ negaidīti beidza darboties" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Problēma ar %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "Jūsu datoram trūkst brīvas atmiņas, lai veiktu automātisku problēmas analīzi " "un nosūtītu ziņojumu izstrādātājiem." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "Jums nav atļauts piekļūt kļūdas ziņojumam." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "Nepietiek brīvas diska vietas, lai apstrādātu šo ziņojumu." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "Jums nepieder norādītais process. Lūdzu, palaidiet šo programmu kā procesa " "īpašnieks vai kā root lietotājs." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "Norādītais procesa identifikators (pid) ir \"uzkārusies\" lietotne" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" "Tas palaidīs apport-retrace termināļa logā, lai sīkāk izpētītu avāriju." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "Palaist gdb sesiju" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "Palaist gdb sesiju bez atkļūdošanas simbolu lejupielādes" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "Atjaunināt %s ar pilnīgu simbolisko izsekošanas pavedienu" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "Problēma notika ar programmu %s, kura ir mainījusies kopš avārijas." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "Problēmas ziņojums ir bojāts un to nevar apstrādāt." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "Notika kļūda apstrādājot šo problēmu ziņojumu:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "Šī problēma jau ir ziņota izstrādātājiem. Paldies!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" "Tas gadījās iepriekšējā iesnaudināšanas reizē un tas neļāva sistēmai normāli " "atsākt darbu." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" "Tas gadījās iepriekšējā iemidzināšanas reizē un tas neļāva sistēmai normāli " "atsākt darbu." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "&Eksaminēt lokāli" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" #, python-format #~ msgid "Sorry, the application %s has closed unexpectedly." #~ msgstr "Atvainojiet, lietotne %s aizvērās negaidīti." #~ msgid "Your system might become unstablenow and might need to be restarted." #~ msgstr "" #~ "Šī sistēma varētu palikt nestabila un, iespējams, to vajadzētu pārstartēt." ������������������������������������������������������������������������������������apport-2.20.1/po/mhr.po�����������������������������������������������������������������������������0000644�0000000�0000000�00000100111�12677230222�012770� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Mari (Meadow) translation for apport # Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2013. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2013-12-10 08:33+0000\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: Mari (Meadow) <mhr@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:19+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: \n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "" #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "" #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/mk.po������������������������������������������������������������������������������0000644�0000000�0000000�00000100104�12677230222�012613� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Macedonian translation for apport # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2007. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2011-10-07 06:10+0000\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: Macedonian <mk@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: mk\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "" #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "" #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/ml.po������������������������������������������������������������������������������0000644�0000000�0000000�00000100102�12677230222�012612� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Malayalam translation for apport # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2009. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2011-10-07 06:10+0000\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: Malayalam <ml@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: ml\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "" #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "" #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/mr.po������������������������������������������������������������������������������0000644�0000000�0000000�00000105013�12677230222�012626� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Marathi translation for apport # Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2013. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2013-04-08 10:39+0000\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: Marathi <mr@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: mr\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "एप्पोर्ट" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "क्रॅश अहवाल" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "तपशील दर्शवा" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "स्थानीयरित्या तपासा (_E)" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "बंद ठेवा" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "पुढे चला" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(बायनरी डेटा)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "पाठवा" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "बळपूर्वक बंद केले" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "पुन्हा प्रक्षेपण करा" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "पेकेज : %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "या प्रकारच्या समस्येकडे दुर्लक्ष करा" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "तपशील लपवा" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "वापर : %s <report> <target directory>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "वापरकर्ता नाव :" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "गुप्तशब्द :" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "समस्या माहिती गोळा करत आहे" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "समस्या माहिती गोळा करत आहे" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "समस्या माहिती अपलोड करत आहे" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "प्रणाली माहिती गोळा करा" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "प्रणाली समस्या अहवाल" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "समस्या अहवाल सादर करा..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "अपरिचीत कार्यक्रम" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "%s यात समस्या" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "अवैध समस्या अहवाल" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "त्रुटी" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "परवानगी नाही" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "अवैध पीआयडी" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "पेकेज %s अस्तित्वात नाही" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "अहवाल निर्माण करू शकत नाही" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "समस्या अहवाल अद्ययावत करत आहे" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "अधिक माहिती गोळा केली नाही." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "अपरिचीत लक्षण" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "%prog <report number>" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "पॅकेज नाव निर्देशित करा." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "" #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "वेब ब्राउजर सुरु करू शकत नाही" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "%s उघडण्याकरिता वेब ब्राउजर सुरु करू शकत नाही." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "संजाळ समस्या" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "स्मृती अपुरी पडली" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "समस्या अगोदरच माहित आहे" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i बाइट्स)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "बग अहवाल पाठवा (&S) (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "स्थानीयरित्या तपासा (&E)" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "अहवाल बघा (&V)" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "रद्द करा (&C)" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "समस्या अहवाल फाईल :" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "खात्री करा (&C)" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "त्रुटी : %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "झाले (&D)" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "काही नाही" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "निवडलेले : %s. अनेक पर्याय :" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "पर्याय :" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "फाईल अस्तित्वात नाही." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "हि संचयीका आहे." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "ब्राऊजर दाखल करा" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/ms.po������������������������������������������������������������������������������0000644�0000000�0000000�00000130040�12677230222�012625� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Malay translation for apport # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:47+0000\n" "Last-Translator: Martin Pitt <martin.pitt@ubuntu.com>\n" "Language-Team: Malay <ms@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: ms\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "Apport" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "Batal" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "OK" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Laporan kerosakan" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>Maaf, ralat dalaman berlaku.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "Jika anda mengalami masalah, cuba mulakan semula komputer." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "Hantar laporan ralat untuk bantu membaiki masalah ini" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "Abai masalah versi program ini dimasa hadapan" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Papar Perincian" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "_Periksa secara setempat" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Tinggalkan Tertutup" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Teruskan" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>Mengutip maklumat masalah</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "Maklumat yang dikutip mungkin membantu para pembangun membaiki masalah yang " "anda laporkan." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "Memuat naik maklumat masalah" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>Memuat naik maklumat masalah</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "Maklumat yang dikutip akan dihantat ke sistem penjejakan pepijat. Ia " "mengambil masa beberapa minit." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Fail rosak Apport" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(data binari)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "Maaf, aplikasi %s telah dihentikan tanpa dijangka." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "Maaf, %s telah ditutup tanpa dijangka." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "Maaf, %s telah mengalami ralat dalaman." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Hantar laporan masalah kepada pembangun?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Hantar" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "Paksa Tutup" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Lancarkan Semula" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "Aplikasi %s telah berhenti membalas." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "Aplikasi \"%s\" telah berhenti membalas." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Pakej: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "Maaf, masalah berlaku semasa memasang perisian." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "Aplikasi %s telah mengalami ralat dalaman" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "Aplikasi %s telah ditutup tanpa dijangka." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "Abai masalah masa hadapan bagi jenis ini" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Sembunyi Perincian" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Penggunaan: %s <laporan> <direktori sasaran>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "Destinasi direktori wujud dan berisi." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "Nama Pengguna:" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "Kata Laluan:" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "Mengumpul Maklumat Masalah" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Mengumpul maklumat masalah" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "Maklumat yang dikumpul boleh dihantar ke pembangun untuk pertingkatkan " "kualiti aplikasi. Ia mengambil masa beberapa minit." #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "Memuat Naik Maklumat Masalah" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Kutip maklumat sistem" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "Pengesahihan diperlukan untuk mengutip maklumat sistem bagi laporan masalah " "ini" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "Laporan masalah sistem" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" "Sila masukkan kata laluan anda untuk mencapai laporan masalah bagi program " "sistem" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Lapor masalah..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Laporkan kerosakan kepada pembangun" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "Rujuk laman panduan untuk perincian." #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "nyatakan nama fail log yang dihasilkan oleh valgrind" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" "guna semula dir kotak pasir (SDIR) yang digunakan sebelum ini atau, jika ia " "tidak wujud, cipta baru" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" "jangan cipta atau guna semula direktori kotak pasir untuk simbol nyahpepijat " "tambahan tetapi hanya bergantung pada simbol nyahpepijat yang dipasang." #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" "guna semula dir cache (CDIR) yang dicipta sebelum ini, jika tidak wujud, " "cipta baru" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" "lapor kemajuan muat turun/pasang bila memasang pakej ke dalam kotak pasir" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" "boleh laku yang berjalan dibawah alat semakan ingatan valgrind untuk " "pengesanan kebocoran ingatan" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" "Pasang pakej tambahan kedalam kekotak pasir (boleh ditentukan berbilang kali)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "Ralar: %s bukanlah boleh laku. Menghentikan." #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" "Sistem anda akan menjadi tidak stabil sekarang dan mungkin perlu dimulakan " "semula." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" "Jangan letakkan surihan baru kedalam laporan, tetapi tuliskannya ke stdout." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "Mulakan sesi gdb berinteraktif dengan laporan longgokan teras (-o abaikan; " "tidak menulis semula laporan)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "Tulis laporan yang diubahsuai pada fail yang diberikan selain dari mengubah " "laporan asal" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" "Buang longgokan teras dari laporan selepas penjanaan semula surihan tindanan" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "Batalkan laporan CoreFile" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "Batalkan laporan ExecutablePath" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "Batalkan laporan ProcMaps" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "Bina semula laporan maklumat pakej" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" "Bina kekotak pasir sementara dan muat turun/pasang pakej yang perlu dan " "nyahpepijat simbol disini; tanpa pilihan ini ia anggap pakej dan simbol " "nyahpepijat yang diperlukan sudah dipasang didalam sistem. Argumen merujuk " "kepada direktori dasar konfigurasi sistem pakej; jika anda tentukan " "\"sistem\", ia akan gunakan fail kkonfigurasi sistem, tetapi hanya boleh " "menyurih semula kerosakan yang disebabkan keluaran yang dijalankan semasa " "ini." #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" "Lapor kemajuan muat turun/pasang bilang memasang pakej kedalam kekotak pasir" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "Tokok setem masa untuk log mesej, bagi operasi kelompok" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" "Cipta dan guna repositori pihak-ketiga dari asal yang dinyatakan dalam " "laporan" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "Direktori cache untuk pakej yang dimuat turun didakam kekotak pasir" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" "Direktori untuk pakej tidak padat. Bila dijalankan dimasa hadapan akan " "menganggap mana-mana pakej yang sudah dimuat turun juga diekstrak kedalam " "kotak pasir ini." #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" "Laluan fail dengan maklumat pengesahihan pengkalan data kerosakan. Ia " "digunakan bila menentukan ID kerosakan untuk muat naik jejak tindanan yang " "dijejakkan semula (hanya jika tidak -g, -o ataupun -s ditentukan)" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "Papar jejak tindanan yang dijejakkan semula dan tanya pengesahan sebelum " "menghantarnya ke pangkalan data kerosakan." #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" "Laluan ke pangkalan data sqlite pendua (lalai: tiada pemeriksaan penduaan)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "Anda tidak bleh guna -C tanpa -S. Dihentikan." #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "OK untuk menghantar lampiran ini? [y/t]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "Pakej ini tidak kelihatan dipasang dengan betul" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "Ini bukanlah pakej %s rasmi. Sila buang sebarang pakej pihak ketiga dan cuba " "lagi." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "Anda mempunyai beberapa pakej versi lapuk yang sudah dipasang. SIla tatarkan " "pakej berikut dan semak jika masalah masih berlaku:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "program tidak diketahui" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Maaf, program \"%s\" terpaksa ditutup" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Masalah pada %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "Komputer anda tidak mempunyai ingatan bebas yang mencukupi untuk " "menganalisis masalah dan hantar laporan ke pembangun secara automatik." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Laporan masalah tidak sah" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "Anda tidak dibenarkan mencapai laporan masalah ini." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Ralat" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "Ruang cakera tidak mencukupi untuk memproses laporan ini." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "Tiada pakej ditentukan" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "Anda perlu tentukan pakej atau PID. Rujuk --help untuk maklumat lanjut." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Keizinan dinafikan" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "Proses tersebut bukan milik anda. Sila jalankan program sebagai pemilik " "proses atau root." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "PID tidak sah" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "ID proses yang ditentukan tidak dimiliki oleh program tersebut." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "Skrip simptom %s tidak menentukan pakej yang terjejas" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "Pakej %s tidak wujud" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "Tidak dapat mencipta laporan" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "Mengemaskini laporan masalah" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "Anda bukanlah pelapor atau pelanggan laporan masalah ini, atau laporan " "adalah pendua atau sudahpun ditutup.\n" "\n" "Sila cipta laporan baru menggunakan \"apport-bug\"." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "Anda bukanlah pelapor masalah ini. Adalah mudah tandakan pepijat sebagai " "pendua yang lain selain dari alihkan ulasan dan lampiran anda ke pepijat " "baru.\n" "\n" "Oleh itu, kami sarankan anda failkan laporan pepijat baru menggunakan " "\"apport-bug\" dan masukkan ulasan mengenai pepijat ini pada laporan yang " "anda failkan.\n" "\n" "Adakah anda ingin meneruskannya?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "Tiada maklumat tambahan dikumpulkan." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "Apakah jenis masalah yang anda ingin laporkan?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Simpton tidak diketahui" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "Simptom \"%s\" tidak diketahui" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "Selepas menutup mesej ini sila klik pada tetingkap aplikasi untuk melaporkan " "masalah tersebut." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "xprop gagal memastikan ID proses tetingkap" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "%prog <report number>" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "Nyatakan nama pakej." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" "Tambahkan tag tambahan kedalam laporan. Boleh dinyatakan beberapa kali." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Mulakan didalam mod pengisian pepijat. Perlukan --package dan pilihan --pid, " "atau hanya --pid. Jika tidak diberikan, paparkan senarai simptom yang " "diketahui. (Dilaksanakan jika argumen tunggal diberikan.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "Klik pada tetingkap sebagai sasaran untuk failkan laporan masalah" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "Mulakan dalam mod kemaskini pepijat. Boleh ambil pilihan --package." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "Failkan laporan pepijat mengenai simptom. (Dilaksanakan jika nama simptom " "diberikan sebagai argumen sahaja.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "Nyatakan nama pakej didalam mod --file-bug. Ini merupakan pilihan jika --pid " "ditentukan. (Dilaksanakan jika nama pakej diberikan sebagai argumen sahaja.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "Nyatakan nama pakej didalam mod --file-bug. Ini merupakan pilihan jika --pid " "ditentukan. (Dilaksanakan jika nama pakej diberikan sebagai argumen sahaja.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "pid yang disediakan adalah aplikasi tergantung." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "Laporkan kerosakan melalui fail .apport atau .crash yang diberikan selain " "dari yang ditangguh pada %s. (Dilaksanakan jika fail hanya diberikan sebagai " "argumen.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" "Didalam mod failkan pepijat, simpan maklumat yang dikutip kedalam fail " "selain dari melaporkannya. Fail ini kemudiannya boleh dilaporkan melalui " "mesin yang lain." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Papar nombor versi Apport." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" "Ini akan lancarkan apport-retrace didalam tetingkap terminal untuk periksa " "kerosakan." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "Jalankan sesi gdb" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "Jalankan sesi gdb tanpa memuat turun simbol nyahpepijat" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "Kemaskini %s dengan jejak tindanan simbolik penuh" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" "Laporan masalah ini dilaksanakan kepada program yang mana ia tidak dipasang " "lagi." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" "Masalah berpunca dari program %s yang mana telah berubah semejak kerosakan " "berlaku." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "Masalah laporan ini ialah sudah rosak dan tidak boleh diproses." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "Laporan dari pakej yang belum dipasang." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "Ralat berlaku semasa cuba memproses laporan masalah ini:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "Tidak dapat mengenalpasti pakej atau nama sumber pakej." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Tidak boleh mulakan pelayar sesawang" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "Tidak boleh mulakan pelayar sesawang untuk membuka %s." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "Sila masukkan maklumat akaun anda untuk sistem penjejakan pepijat %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Masalah rangkaian" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "Tidak dapat menyambung ke pengkalan data kerosakan, sila semak sambungan " "internet anda." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Kehabisan ingatan" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "Sistem anda tidak mempunyai ingatan yang mencukupi untuk memproses laporan " "kerosakan ini." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "Masalah tidak boleh dilaporkan:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Masalah sudah pun diketahui" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "Masalah ini sudah pun dilaporkan didalam laporan pepijat yang telah " "dipaparkan didalam pelayar sesawang. Sila semak jika anda boleh menambah " "maklumat lanjutan lagi yang dikira boleh dianggap berguna untuk para " "pembangun." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "Masalah ini sudah dilaporkan kepada pembangun. Terima kasih!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" "Ia berlaku ketika tangguh terdahulu, dan menghalang sistem menyambung semula " "dengan baik." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" "Ia berlaku ketika hibernasi terdahulu, dan menghalang sistem menyambung " "semula dengan baik." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "Proses pemulihan kaku pada saat-saat akhir dan kelihatan selesai seperti " "biasa." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Tekan mana-mana kekunci untuk sambung" #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "Apakah yang anda ingin lakukan? Pilihan anda adalah:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Sila pilih (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i bait)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "Selepas laporan masalah dihantar, sila isikan borang didalam\n" "pelayar sesawang yang dibuka secara automatik." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "&Hantar laporan(%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "&Periksa secara setempat" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "&Lihat laporan" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" "&Simpan dahulu fail laporan untuk dihantarkan kemudian atau salin ke tempat " "lain terlebih dahulu" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "Batal dan &abaikan kerosakan dimasa hadapan untuk versi program ini" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Batal" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Fail laporan masalah:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&Sahkan" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Ralat: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "Maklumat yang dikutip boleh dihantat kepada pembangun untuk " "mempertingkatkan\n" "kualiti aplikasi. Ia mengimbil masa beberapa minit." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "Maklumat yang dikutip telah dihantar ke sistem penjejakan pepijat.\n" "Ia mengambil masa beberapa minit." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Selesai" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "tiada" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Dipilih: %s. Berbilang pilihan:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Pilih:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Laluan ke fail (Enter untuk batal):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "Fail tidak wujud." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "Merupakan direktori." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "Untuk teruskan, anda mesti lawati URL berikut:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "Anda boleh lancarkan pelayar sekarang, atau salin URL ini kedalam pelayar " "pada komputer lain." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Lancarkan pelayar sekarang" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" "Tiada laporan kerosakan ditangguhkan. Cuba taip --help untuk maklumat lanjut." #~ msgid "Application problem" #~ msgstr "Masalah aplikasi" #~ msgid "_Send Report" #~ msgstr "_Kirim Laporan" #~ msgid "&Report Problem..." #~ msgstr "&Lapor Masalh..." #~ msgid "_Report Problem..." #~ msgstr "_Lapor Masalah..." #~ msgid "Kernel problem" #~ msgstr "Masalah kernel" #~ msgid "Content of the report" #~ msgstr "Kandungan laporan" #~ msgid "Package problem" #~ msgstr "Masalah pakej" #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "Ini bukanlah pakej %s yang tulen" #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Ini berlaku semasa tangguhan terdahulu dan elakkannya dari dipulih semula " #~ "dengan betul." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Ini berlaku semasa hibernasi terdahulu dan elakkannya dari dipulih semula " #~ "dengan betul." #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [options] <laporan masalah apport | ID Kerosakan>" #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "Bilangan argumen tidak betul; guna --help untuk bantuan ringkas" #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "" #~ "Anda perlu lakukan operasi setempat (-s. -g, -o) atau bekalkan fail " #~ "pengesahihan (-auth); rujuk --help untuk bantuan ringkas" #, python-format #~ msgid "Sorry, the application %s has closed unexpectedly." #~ msgstr "Maaf, aplikasi %s telah ditutup tanpa dijangka." #~ msgid "Your system might become unstablenow and might need to be restarted." #~ msgstr "" #~ "Sistem anda mungkin menjadi tidak stabil sekarang dan perlu dimulakan semula." ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/my.po������������������������������������������������������������������������������0000644�0000000�0000000�00000121002�12677230222�012631� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Burmese translation for apport # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2012. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2012-09-04 12:14+0000\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: Burmese <my@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:17+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: my\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "ပယ်ဖျက်မည်" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "ကောင်းပြီ" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "လေယာဉ်ပျက်ကျအစီရင်ခံစာ" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>ဆောရီး၊ အတွင်းပိုင်းပြသာနာတက်နေပါသည်</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" "နောက်ထပ်ပြသာနာများကိုတွေ့ရှိပါက " "သင်၏ကွန်ပြူတာကိုပိတ်ပြီးပြန်ဖွင့်ခြင်းဖြင့်ကြိုးစားကြည့်ပါ" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "ဤပြဿနာကိုဖြေရှင်းကူညီဆိုတဲ့ error အစီရင်ခံစာ Send" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "ဒီပရိုဂရမ်ဗားရှင်း၏အနာဂတ်ပြဿနာတွေ Ignore" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "အသေးစိတ်များကို ဖော်ပြပါ။" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "ပိတ်လိုက်မည်" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "ဆက်လုပ်" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>ပြဿနာအချက်အလက်များကိုစုဆောင်းနေပါသည်</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(binary data)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "ဆောရီး application %s သည်ရုပ်တရက်ရပ်သွားသည်။" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "ဆောရီး %s သည်မမျှော်လင့်ပဲပိတ်သွားပါသည်" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "ဆောရီး, %s သည်အတွင်းပိုင်းပြသာနာတက်နေသည်။" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "developer ဆီသို့ပြသာနာများကို သတင်းပို့မည်" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "ပို့မည်။" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "အတင်းပိတ်မည်" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "ပြန်ဖွင့်မည်" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "ဒီ application %s တုံ့ပြန်ရပ်တန့်ခဲ့သည်။" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "အဆိုပါအစီအစဉ်ကို \"%s\" တုန့်ပြန်ရပ်တန့်ခဲ့သည်။" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Package: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "ဆောရီး၊ ဆော့ဝဲလ်သွင်းနေစဉ်ပြသာနာအနည်းငယ်ရှိသည်။" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "application %s သည်မမျှော်လင့်ပဲပိတ်သွားသည်" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "ဒီလိုအမျိုးအစားပြသာနာများကိုလစ်လျူရှုမည်" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "အချက်အလက်များကို ဖျောက်ထားမည်" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "အသုံးပြုသူအမည် −" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "စကားဝှက် −" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "ပြသာနာအချက်အလက်များကိုစုစည်းနေပါသည်" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "ပြသာနာအချက်အလက်များကိုစုစည်းနေပါသည်" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "ဒီ application ကောင်းမွန်စေရန်အတွက် စုဆောင်းရရှိသည့်အချက်အလက်များကို " "developer များထံသို့ပို့မည်။ မိနစ်အနည်းငယ်ကြာနိုင်ပါသည်။" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "authentication ဤပြဿနာကိုအစီရင်ခံစာသည် system " "သတင်းအချက်အလက်စုဆောင်းဖို့လိုအပ်သည်" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "System ကိုပြဿနာအစီရင်ခံစာများ" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" "မိမိကွန်ပျူတာ၏စနစ်ကိုပြဿနာအစီရင်ခံစာများဝင်ရောက်ကြည့်ရှုရန်သင့် password " "ကိုရိုက်ထည့်ပေးပါ" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "ပြသာနာတစ်ခုကိုသတင်းပို့မည်" #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "valgrind ကထုတ်လုပ်ဃဖိုင်အမည်ကိုသတ်မှတ်" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "တင်ပြမှုတွင်လမ်းကြောင်းသစ်များမထည့်ပါနှင့် သို့သော် stdout တွင်ရေးပါ" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "gdb အပြန်အလှန်ကဏ္ဍကို တင်ပြမှုရဲ့ ပင်မအစုဖြင့်စတင်ပါ (-o လျစ်လျှူရှု; " "တင်ပြမှုကိုပြန်လည်မရေးတော့ပါ)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "မူလတင်ပြချက်ကို ပြင်မည့်အစား အသစ်ပြင်ထားသောတင်ပြချက်ကိုရေး၍ပေးပါ" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "ခြေရာခံမှုထုတ်ပြန်ပြီးနောက် ပင်မပြဿနာအစုကို တင်ပြမှုမှဖယ်ထုတ်ပါ" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "တင်ပြမှုရဲ့ အဓိကဖိုင်ကို ပြင်ရေးပါ" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "တင်ပြမှုရဲ့ ခွင့်ပြုလမ်းကြောင်းကိုပြင်ရေးပါ" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "တင်ပြမှုရဲ့ ProcMaps ကိုပြင်ရေးပါ" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "တင်ပြမှုရဲ့ ပက်ကေ့ချ်အချက်အလက်ကို ပြန်တည်ဆောက်ပါ" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" "ယာယီ ပေးပို့မှုတည်ဆောက်ပြီး လိုအပ်သော ပက်ကေ့ချ်များကို " "ဆွဲချခြင်းတပ်ဆင်ခြင်းနှင့် အပြစ်တွေ့ရှိမှုရဲ့သင်္ကေတရှိနေမည်။ " "ဤရွေးချယ်မှုမပါဝင်ပါကလိုအပ်သောပက်ကေ့ချ်များနှင့် " "အပြစ်တွေ့ရှိမှုရဲ့သင်္ကေတများရှိပြီးသားဟုမှတ်ယူမည်။ပက်ကေ့ချ်စနစ်ရဲ့ပြုပြင်ပြီ" "းသားအခြေခံလမ်းကြောင်းတွင်ရှိသော ထပ်ဖြည့်မှတ်များ၌ " "အကယ်၍သင့်အနေဖြင့်စနစ်ဟုသတ်မှတ်လျှင် ၎င်းတို့သည် " "စနစ်ရဲ့စီမံပြီးသားဖိုင်တွေကိုအသုံးပြုမည်။သို့သော် " "ပျက်စီးမှုလမ်းကြောင်းများကိုသာသိနိုင်ပြီးယခုလက်ရှိထွက်ရှိမှုတွင်သာအကြုံးဝင်သည" "်။" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "ဒီ package သည်ကောင်းမွန်စွာမသွင်းထားဘူးဟုထင်ရပါသည်" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "အမည်မသိပရိုဂရမ်" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "ဆောရီး၊ ပရိုဂရမ် \"%s\" သည်မမျှော်လင့်ပဲပိတ်သွားပါသည်" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "%s တွင်ပြသာနတက်နေပါသည်" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "ပြဿနာသတင်းပို့ချက်မမှန်ကန်ပါ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "ချို့ယွင်းချက်" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "ခွင့်ပြုချက်ငြင်းပယ်ခြင်းခံရပါသည်" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "PID မမှန်ကန်ပါ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "Package %s သည်မတည်ရှိပါ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "report မဖန်တီးနိုင်ပါ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "ဘယ်လိုပြဿနာမျိုးကိုသတင်းပို့လိုပါသလား။" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Apport ဗားရှင်းနံပါတ်ကိုပရင့်ထုတ်မည်" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "" #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Web browser ကိုမဖွင့်နိုင်ပါ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "နတ်ဝေါ့ပြသာနာ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "ပြသာနာကိုသိရှိပြီးပါပြီ။" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "ဒီပြသာနာကို developer များသို့ပို့ပြီးပါပြီ။ ကျေးဇူးတင်ရှိပါသည်။" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "ဆက်လုပ်ရန်ကီးဘုတ်မှခလုတ်တစ်ခုခုကိုနှိပ်ပါ" #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "သင်ဘာလုပ်လိုပါသလဲ။ သင်၏ရွေးချယ်မှု့များကတော့ -" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "ကျေးဇူးပြုပြီးရွေးပါ (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i bytes)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "&S အစီရင်ခံစာကိုပို့မည် (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "&V အစီရင်ခံစာကိုကြည့်မည်" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&C ပယ်ဖျက်မည်" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&C အတည်ပြုမည်" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "ချို့ယွင်းချက် - %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&D ပြီးပါပြီ" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "ဘာမှမဟုတ်" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "ရွေးချယ်မှု့များ -" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "ဖိုင်မတည်ရှိပါ" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "ဆက်လက်သွားရန်အတွက် အောက်ပါ URL ကိုအလည်သွားမှရမည် -" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "browser တစ်ခုကိုဖွင့်မည်" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [ ရွေးချယ်ခွင့်များ]< ခွဲဝေမှု ပြဿနာတင်ပြချက် | ပျက်စီး ID>" ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/nb.po������������������������������������������������������������������������������0000644�0000000�0000000�00000135577�12677230222�012631� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Norwegian Bokmål translation for apport # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:47+0000\n" "Last-Translator: Martin Pitt <martin.pitt@ubuntu.com>\n" "Language-Team: Norwegian Bokmål <nb@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: \n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "Apport" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "Avbryt" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "OK" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Krasjrapport" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>Beklager, det oppsto en intern feil.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "Prøv å starte datamaskinen på nytt hvis det oppstår flere problemer" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "Send en feilrapport for å hjelpe til med å reparere dette problemet" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "Ignorer fremtidige problemer med denne programversjonen" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Vis detaljer" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "_Undersøk lokalt" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Forbli lukket" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Fortsett" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>Samler inn informasjon om problemet</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "Informasjon som kan hjelpe utviklerne med å reparere problemet du " "rapporterer samles inn." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "Laster opp probleminformasjon" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>Laster opp feilinformasjon</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "Den innsamlede informasjonen sendes til feilsporingssystemet. Dette kan ta " "et par minutter." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Apport-krasjfil" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(binære data)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "Beklager. Programmet %s har fått en uventet stans." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "Beklager. %s har lukket seg uventet." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "Beklager, det har skjedd en intern feil med %s." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Send problemrapport til utviklerne?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Send" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "Tving lukking" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Start på nytt" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "Programmet %s svarer ikke." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "Programmet \"%s\" svarer ikke." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Pakke: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "Beklager. Et problem oppstod under installasjon av programvare." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "Programmet %s har hatt en intern feil." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "Programmet %s lukket seg uventet." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "Ignorer denne typen problemer i fremtiden" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Skjul detaljer" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Bruk: %s <rapport> <målmappe>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "Målmappe finnes og er ikke tom." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "Brukernavn:" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "Passord:" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "Samler informasjon om feil" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Samler probleminformasjon" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "Den innsamlede informasjonen kan sendes til utviklerne for å forbedre " "programmet. Dette kan ta noen minutter." #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "Laster opp informasjon om feil" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Samle inn informasjon om systemet" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "Du må autentisere deg for å samle inn systeminformasjon til denne " "feilrapporten" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "Feilrapporter for system" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" "Skriv inn passordet ditt for å få tilgang til systemets feilrapporter" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Rapporter et problem" #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Rapporter en feil til utviklerne" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "Se programmets bruksanvisning («man»-side) for mer informasjon." #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "spesifiser navn på loggfilen som produseres av valgrind" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" "bruk en tidligere opprettet sandkassemappe (SDIR), eller opprett den hvis " "den ikke eksisterer" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" "Bruk kun installerte feilsøkingssymboler, i stedet for å opprette eller " "bruke en eksisterende sandkassemappe for flere symboler." #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" "bruk en tidligere opprettet hurtiglagermappe (CDIR), eller opprett en hvis " "det ikke eksisterer" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" "rapporter nedlastings- og installasjonsfremdrift når pakker installeres i " "sandkassa" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" "den kjørbare fila som brukes under valgrinds memcheck-verktøy for å se etter " "minnelekkasje" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "Installer en ekstrapakke i sandkassa (kan spesifiseres flere ganger)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "Feil: %s er ikke et kjørbart program. Stopper." #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "Systemet ditt kan bli ustabilt nå, og kan måtte startes på nytt." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" "Legg ikke til flere meldinger i rapporten, skriv de heller til stdout." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "Start en interaktiv gdb-sesjon med rapportens kjernedump (-o ignoreres; " "skriver ikke rapporten på nytt)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "Skriv den endrede rapporten til en gitt fil i stedet for å andre den " "opprinnelige rapporten" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" "Fjern kjerne-informasjon fra rapporten etter \"stack trace\" er opprettet på " "nytt" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "Overstyr rapportens kjernefil" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "Overstyr rapportens kjøresti" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "Overstyr rapportens ProcMaps" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "Gjennoppbygg pakkeinformasjonen i rapporten" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" "Bygg en midlertidig sandkasse, og last ned/installer nødvendige pakker og " "feilsøkingssymboler i den. Uten dette valget, antas de nødvendige pakkene og " "feilsøkingssymbolene å være installert i systemet allerede. Argumentet peker " "til pakkesystemets grunnmappe. Hvis du spesifiserer «system», blir systemets " "konfigurasjonsfiler brukt, men da vil du bare kunne spore en kræsj hvis den " "oppstod på utgivelsen som kjører nå." #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" "Rapporter nedlastings- og installasjonsfremdrift når pakker blir installert " "i sandkassa." #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "Sett tidsstempler i starten av logg-meldinger, for bunthåndtering" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "Lag og bruk tredjepartslager fra kilder som er valgt i rapporter" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "Legg pakkenedlastinger for sandkassa i hurtiglageret" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" "Mappe for utpakkede pakker. Senere kjøringer vil basere seg på at nedlastede " "pakker også har blitt pakket ut til denne sandkassa." #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" "Sti til en fil med autentifiseringsinformasjon for krasjdatabasen. Dette " "brukes til å spesifisere en krasj-ID når krasjrapporten lastes opp (kun hvis " "hverken -g, -o, eller -s spesifiseres)" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "Vis krasjrapporten og be om bekreftelse før den sendes til krasjdatabasen." #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "Sti til kopien av sqlite-databasen. (Forvalgt: ikke se etter kopier)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "Du kan ikke bruke -C uten -S. Stopper." #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "OK å sende disse som vedlegg? [j/n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "Denne pakken ser ikke ut til å være korrekt installert" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "Dette er ikke en offisiell %s-pakke. Fjern eventuelle tredjepartsprogrammer " "og prøv igjen." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "Du har noen overflødige versjoner av pakken installert. Oppgrader følgende " "pakker, og se om feilen fremdels oppstår:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "ukjent program" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Beklager, programmet \"%s\" ble uventet avsluttet" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Problem i %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "Datamaskinen din har ikke nok tilgjengelig minne for å kunne analysere og " "rapportere problemet automatisk." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Ugyldig problemrapport" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "Du har ikke tilgang til denne feilrapporten." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Feil" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "Det er ikke nok ledig diskplass til å behandle denne rapporten." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "Ingen pakke er spesifisert" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "Du må spesifisere en pakke eller PID: Se --hjelp for mer informasjon." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Adgang nektet" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "Den valgte prosessen tilhører ikke deg. Kjør dette programmet som eieren av " "prosessen eller som root." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "Ugyldig prosess-id (PID)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "Den valgte prosess-IDen tilhører ikke noe program." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "Symptomskript %s fant ingen berørte pakker" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "Pakken %s finnes ikke" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "Kan ikke lage rapport" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "Oppdaterer problemrapport" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "Du er ikke en rapportør eller abonnent på denne problemrapporten, eller " "rapporten er et duplikat eller allerede lukket.\n" "\n" "Vennligst lag en ny rapport ved å bruke «apport-bug»." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "Du er ikke opprinnelig innmelder av denne problemrapporten. Det er enklere å " "merke en feil som et duplikat av en annen enn å flytte dine kommentarer og " "vedlegg til en ny feil.\n" "\n" "Vi vil også anbefale deg å rapportere en ny feil ved å bruke «apport-bug» og " "lage en kommentar i denne feilen om den du rapporterer.\n" "\n" "Ønsker du å fortsette?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "Ingen tilleggsinformasjon har blitt samlet inn." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "Hva slags problem vil du rapportere?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Ukjent symptom" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "Symptomet \"%s\" er ukjent." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "Vennligst klikk på et programvindu etter at du har lukket denne meldingen, " "slik at du kan sende en feilrapport om problemet." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "«xprop» fant ikke vinduets prosess-ID" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "%prog <report number>" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "Angi pakkenavn." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "Legg til et ekstra stikkord i rapporten. Kan nevnes flere ganger." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "%prog [valg] [symptom|pid|pakke|programsti|.apport/.crash-fil]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Start i feilrapporteringsmodus. Krever --package og en valgfri --pid, eller " "kun --pid. Hvis ingen av disse er gitt vises en liste over kjente symptomer. " "(Underforstått at ett argument blir gitt)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" "Klikk på det aktuelle vinduet for å sende en feilrapport om problemet." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "Start i feiloppdateringmodus. Aksepterer en alternativ --pakke." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "Send en feilmelding om et problem. (Underforstått hvis problemnavn er gitt " "som eneste argument)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "Oppgi pakkenavn i --file-bug-modus. Dette er valgfritt hvis --pid er gitt. " "(Underforstått hvis pakkenavn er gitt som eneste argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "Spesifiser et kjørende program i «--file-bug»-modus. Hvis dette er " "spesifisert, vil feilrapporten inneholde mer informasjon. (Dette er allerede " "implisert hvis «pid» oppgis som eneste argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "Den oppgitte pid-en er en applikasjon som henger." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "Rapporter kræsj fra en gitt .apport- eller .crash-fil i stedet for de " "gjeldende i %s. (Underforstått hvis en fil er gitt som eneste argument)." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" "I feilrapporteringsmodus kan du lagre den samlede feilinformasjonen i en fil " "i stedet for å rapportere den. Filen kan innrapporteres senere, for eksempel " "fra en annen maskin." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Skriv ut Apport-versjonsnummeret." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" "Dette vil starte apport-retrace i et terminalvindu for å undersøke krasjen." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "Kjør gdb-økt" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "Kjør gdb-økt uten å laste ned feilrapporteringssymboler" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "Oppdater %s med symbolsk stabelsporing" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" "Denne problemrapporten gjelder et program som ikke lenger er installert." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" "Problemet skjedde med programmet %s, som har endret seg siden kræsjen " "oppstod." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "Denne feilrapporten er skadet, og kan ikke behandles." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "Rapporten tilhører en pakke som ikke er installert." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "En feil oppstod da denne feilrapporten skulle behandles:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "Kunne ikke bestemme pakken eller kildepakkens navn." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Kunne ikke starte nettleser" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "Kunne ikke starte nettleseren for å åpne %s." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" "Vennligst skriv inn kontoinformasjonen din for %s-feilsporingssystemet" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Nettverksfeil" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "Kan ikke koble til krasjdatabasen, vennligst sjekk internettforbindelsen." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Minne fullt" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "Systemet ditt har ikke nok minne til å behandle denne krasjrapporten." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "Problemet kan ikke rapporteres:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Problemet er allerede kjent" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "Dette problemet er allerede rapportert i feilrapporten som vises i " "nettleseren. Hvis du har mer informasjon som kan hjelpe utviklerne å løse " "problemet, bør du legge det til i rapporten." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "Dette problemet er allerede rapportert til utviklerne. Takk!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" "Dette oppstod mens maskinen stod i hvilemodus, og hindret systemet fra å " "våkne skikkelig." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" "Dette oppstod mens maskinen stod i dvalemodus, og hindret systemet fra å " "våkne skikkelig." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "Gjenopptagelsen hang seg opp nær slutten og det vil synes som om denne " "fullførte normalt." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Trykk en tast for å fortsette..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "Hva vil du gjøre? Alternativene dine er:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Vennligst velg (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i bytes)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "Etter at problemrapporten har blitt sendt: vennligst fyll ut skjemaet i den\n" "automatisk åpnede nettleseren." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "&Send rapport (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "&Undersøk lokalt" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "&Vis rapport" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" "&Behold rapportfilen for å sende den senere eller kopiere den til et annet " "sted" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "Avbryt og &ignorer framtidige krasj i denne programversjonen" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Avbryt" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Problemrapportfil:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&Bekreft" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Feil: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "Den innsamlede informasjonen kan sendes til utviklerne for å forbedre\n" "programmet. Dette kan ta et par minutter." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "Den innsamlede informasjonen sendes til feilsporingssystemet.\n" "Dette kan ta et par minutter." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Fullført" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "ingen" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Valgt: %s. Flere valg:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Valg:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Filbane (Enter for å avbryte):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "Filen eksisterer ikke." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "Dette er en mappe." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "For å fortsette, må du gå til følgende URL:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "Du kan starte en nettleser nå, eller kopiere denne URL-en til en nettleser " "på en annen maskin." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Start nettleseren nå" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "Ingen ventende krasjrapporter. Prøv --help for mer informasjon." #~ msgid "Application problem" #~ msgstr "Program feil" #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "Dette vil fjerne noen store elementer fra rapporten. Disse er veldig nyttige " #~ "for utviklere for å feilsøke problemet, men kan være for store for deg å " #~ "laste opp om du har en treg internettforbindelse." #~ msgid "Content of the report" #~ msgstr "Innhold i rapporten" #~ msgid "&Report Problem..." #~ msgstr "&Rapporter problem..." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "Hvis du ikke gjorde noe konfidensielt (skrev inn passord eller annen\n" #~ "privat informasjon), kan du hjelpe til med å forbedre programmet ved å " #~ "rapportere\n" #~ "problemet." #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "Systemet støtte på et alvorlig kjerneproblem." #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "" #~ "Du kan hjelpe utviklerne med å reparere pakken ved å rapportere problemet." #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "" #~ "Du kan hjelpe utviklerne med å reparere problemet ved å rapportere det." #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "&Send komplett rapport (anbefalt; %s)" #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "Send &redusert rapport (treg internettforbindelse; %s)" #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "Pakken \"%s\" ble ikke installert eller oppgradert." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Dette skjedde under en tidligere dvalemodus og forhindret den fra å starte " #~ "på nytt riktig." #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Dette skjedde under en tidligere ventemodus og forhindret den fra å starte " #~ "på nytt riktig." #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "Redusert rapport (treg internettforbindelse; %s)" #~ msgid "_Ignore future crashes of this program version" #~ msgstr "_Ignorer framtidige krasj i denne programversjonen" #~ msgid "Restart _Program" #~ msgstr "Start _programmet på nytt" #~ msgid "Package problem" #~ msgstr "Pakkeproblem" #~ msgid "Kernel problem" #~ msgstr "Kjerneproblem" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "Hvis du ikke gjorde noe konfidensielt (skrev inn passord eller annen privat " #~ "informasjon), kan du hjelpe til med å forbedre programmet ved å rapportere " #~ "problemet." #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "Komplett rapport (anbefalt; %s)" #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">Beklager, pakken\"%s\" kunne ikke " #~ "installeres eller oppgraderes.</span>" #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s ble lukket uventet på %s på %s." #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>Sende problemrapport til utviklerne?</b></big>\n" #~ "\n" #~ "Vennligst fyll ut skjemaet i det automatisk åpnede nettleservinduet etter at " #~ "problemrapporten har blitt sendt." #~ msgid "_Report Problem..." #~ msgstr "_Rapporter problem" #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "feil antall argumenter, bruk --help for en kort hjelpedialog" #~ msgid "_Send Report" #~ msgstr "_Send rapport" #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [alternativer] <apport feilrapport | kræsj ID>" #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "Dette er ikke en gyldig %s-pakke" #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "" #~ "du må enten gjøre en lokal operasjon (-s, -g, -o) eller bruke en " #~ "autentiseringsfil (--auth); kjør --help for mer hjelp" #~ msgid "Your system might become unstablenow and might need to be restarted." #~ msgstr "" #~ "Systemet kan bli ustabilt, og det blir kanskje nødvendig å starte maskinen " #~ "på nytt." ���������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/nds.po�����������������������������������������������������������������������������0000644�0000000�0000000�00000102646�12677230222�013005� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# German, Low translation for apport # Copyright (c) 2006 Rosetta Contributors and Canonical Ltd 2006 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2011-10-07 06:10+0000\n" "Last-Translator: mafix <launchpad@marfix.net>\n" "Language-Team: German, Low <nds@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: \n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Rapportiere ein Problem..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Ungültiger Problem Rapport" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "" #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "Kompleter Raport (empfohlen; %s)" #~ msgid "_Send Report" #~ msgstr "_Sende Rapport" #~ msgid "Restart _Program" #~ msgstr "Programm neustarten" #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "Reduzierter Rapport (langsame Internetverbindung; %s)" #~ msgid "_Ignore future crashes of this program version" #~ msgstr "_Ignoriere zukünftige Fehler von dieser Programmversion" #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "Große Objekte werden dann aus dem Bericht entfernt. Diese sind sehr nützlich " #~ "für die Entwickler, die das Programm verbessern, könnte aber zu groß sein, " #~ "wenn Sie über einen langsame Internetverbindung verfügen." #~ msgid "_Report Problem..." #~ msgstr "_Rapporttiere Problem" #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "" #~ "Du kannst den Entwicklern helfen das Paket zu korrigieren mit den " #~ "Rapporttieren des Problems." #~ msgid "Content of the report" #~ msgstr "Inhalt des Raports" ������������������������������������������������������������������������������������������apport-2.20.1/po/ne.po������������������������������������������������������������������������������0000644�0000000�0000000�00000120500�12677230222�012610� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Nepali translation for apport # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2009. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-12-27 16:39+0000\n" "Last-Translator: sarojdhakal <Unknown>\n" "Language-Team: Nepali <ne@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: ne\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "एपोर्ट" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "रद्द गर्नुहोस्" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "ठीक छ" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "क्र्यास प्रतिवेदन" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>माफ गर्नुहोस् , आन्तरिक त्रुटी आइपर्‍यो ।</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "अरु समस्याहरू आइपरेमा , कम्प्युटर पुनःसुरु गर्न प्रयास गर्नुहोस्।" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "यो समस्या समाधान गर्न मदत गर्न त्रुटि रिपोर्ट पठाउनु होस्।" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "यो प्रोग्राम् संस्करण को भविष्य समस्या बेवास्ता गर्नुहोस्।" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "विवरण देखाउनुहोस्।" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "स्थानीयरूपमा जाँच गर्नुहोस्" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "बन्द नै छोड्नुहोस्।" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "जारी राख्नुहोस" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>समस्या जानकारी सङ्कलन हुदैछ​।</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "सूचना संकलन भइरहेको छ जस्ले डेवलपर्सलाई तपाईंले रिपोर्टको गर्नु भ​एको समस्या " "समाधान गर्न मद्दत हुन​ सक्छ।" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "समस्याको जानकारी अपलोड हुदैछ​।" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>समस्याको जानकारी अपलोड हुदैछ​।</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "एकत्र जानकारी बग ट्रयाकिङ सिस्टममा पठाइदैछ​। यो केही मिनेट लिन सक्छ।" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "एपोर्ट क्र्यास प्रतिवेदनहरू" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(बायनरी डेटा)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "माफ गर्नुहोस्, अनुप्रयोग %s अचानक रोकिएको छ।" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "माफ गर्नुहोस्, %s अचानक बन्द भएको छ।" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "माफ गर्नुहोस् , %s ले अन्तरिक त्रुटीको सामना गरेको छ।" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "यो समस्याको प्रतिवेदन डेभेलोपरहरूलाई पठाउन चाहनुहुन्छ ?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "पठाउनुहोस्" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "_अन्त्य गर्न दवाब दिनुहोस्" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "पुनः खोल्नुहोस्" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "अनुप्रयोग %s ले जवाफ दिन बन्द गरेको छ।" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "प्रोग्राम %s ले जवाफ दिन बन्द गरेको छ।" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "प्याकेज: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "माफ गर्नुहोस्, सफ्टवेयर स्थापना गर्दा त्रुटी भयो।" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "माफ गर्नुहोस् , अनुप्रयोग %s ले आन्तरिक त्रुटीको सामना गरेको छ।" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "माफ गर्नुहोस्, अनुप्रयोग %s अचानक बन्द भएको छ।" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "यस प्रकारका समस्याहरूलाई भविष्यमा वेवास्ता गर्नुहोस्" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "विवरण लुकाउनु॒होस्" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "उपयोग: %s <report> <target directory>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "गन्तव्य निर्देशिका अवस्थित छ तथा खाली छैन" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "प्रयोगकर्ता-नाम:" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "पासवर्ड:" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "समस्या जानकारी सङ्कलन हुँदैछ​।" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "समस्या जानकारी सङ्कलन हुँदैछ​।" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "समस्याको जानकारी अपलोड हुदैछ​।" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "प्रणाली जानकारी बटुल्नुहोस्" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "प्रणाली समस्या प्रतिवेदनहरू" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "समस्या रिपोर्ट गर्नुहोस्..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "डेवलपर्सलाई काम नगरे रिपोर्ट गर्नुहोस्" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "विस्तृत जानकारीका लागि man page हेर्नुहोस् !" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "भलग्रिन्डद्वारा उत्पादित लग फाइलको नाम निर्दिष्ट गर्नुहोस्" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" "पहिलै बनाईएको sandbox dir (SDIR) पुनःप्रयोग गर्नुहोस वा यदि अवस्थित छैन भने " "बनाउनुहोस" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" "पहिलै बनाईएको cache dir (CDIR) पुनःप्रयोग गर्नुहोस वा यदि अवस्थित छैन भने " "बनाउनुहोस" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" "स्यान्डबक्स मा प्याकेजहरू स्थापना गर्दा डाउनलोड / उन्नति गरेर स्थापना " "रिपोर्ट गर्नुहोस" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "त्रुटी: %s सञ्चालन गर्न सकिएन। रोक्दै ।" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "यो सङ्लग्नहरू पठाउन चाहनुहुन्छ ? [y/n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "अज्ञात उपक्रम" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "माफ गर्नुहोस्, \"%s\" उपक्रम अप्रत्याशित बन्द भयो।" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "%s मा समस्या" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "अवैध समस्या प्रतिवेदन" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "त्रुटि" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "निर्दिष्ट नगरिएको प्यकेज" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "इजाजत अस्वीकार गरियो" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "अवैध PID" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "%s प्याकेज अस्तित्वमा छैन" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "प्रतिवेदन सिर्जना गर्न सकिएन" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "समस्या प्रतिवेदन अद्यावधिक गर्दै" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "तपाईले कस्तो समस्या प्रतिवेदन गर्न चाहनुहुन्छ?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "अज्ञात लक्षण" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "\"%s\" लक्षण विदित छैन।" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "%prog <प्रतिवेदन सङ्ख्या>" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "प्याकेज नाम खुलाउनुहोस्" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "कुनै लक्षण सम्बन्धी त्रुटि प्रतिवेदन दर्ता गर्नुहोस्। (जब लक्षण नाम नै " "एकमात्र तर्क भएमा लागू हुने)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "gdb सत्र चलाउनुहोस्" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "" #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "वेब ब्राउजर सुरु गर्न सकिएन" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "%s खोल्न वेब ब्राउजर सुरु गर्न सकिएन।" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "सञ्जाल समस्या" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "मेमोरी सकियो" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "यो कार्यक्रम प्रतिवेदन गर्न सकिदैन:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "पूर्वविदित समस्या" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" "यो अघिल्लो निलम्बित हुने समयमा भयो र​ सिस्टमलाई राम्रो सङं पुन: शुरू हुन बाट " "रोक्यो।" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" "यो अघिल्लो हाइबर्नेसन् हुने समयमा भयो र​ सिस्टमलाई राम्रो सङं पुन: शुरू हुन " "बाट रोक्यो।" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "जारी राख्नको लागि कुनै कुञ्जी थिच्नुहोस्..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "छान्नुहोस् (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i बाइट)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "प्रतिवेदन पठाउनुहोस् (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "स्थानीयरूपमा जाँच गर्नुहोस्" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "प्रतिवेदन हेर्नुहोस्" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "रद्द गर्नुहोस् (&C)" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "समस्या रिपोर्ट फाइल:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "सुनिश्चित गर्नुहोस्" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "त्रुटि: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "सकियो" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "कुनै पनि हैन" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "छानिएको: %s। विकल्पहरू:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "चयनहरू:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "फाइल अवस्थित छैन ।" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "यो डारेक्टरी हो।" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "अहिले नै ब्राउजर सुरु गर्नुहोस्" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "यो असली %s प्याकेज होइन" #~ msgid "&Report Problem..." #~ msgstr "समस्या प्रतिवेदन गर्नुहोस् (&R)..." ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/nl.po������������������������������������������������������������������������������0000644�0000000�0000000�00000133376�12677230222�012636� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# translation of apport.po to Nederlands # Dutch translation for apport # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the apport package. # # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # Balaam's Miracle <balaam@balaamsmiracle.com>, 2008. msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:46+0000\n" "Last-Translator: Martin Pitt <martin.pitt@ubuntu.com>\n" "Language-Team: Nederlands <nl_NL@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: \n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "Annuleren" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "Ok" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Crashrapport" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>Er is helaas een interne fout opgetreden.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" "Als er nog steeds problemen zijn, probeer dan de computer opnieuw te starten." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "Een foutrapportage opsturen om te helpen dit probleem op te lossen" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "Toekomstige problemen bij deze programmaversie negeren" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Details tonen" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "lokaal _onderzoeken" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Gesloten laten" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Doorgaan" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>Bezig met verzamelen van probleeminformatie</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "Er wordt informatie verzameld die ontwikkelaars kan helpen om het " "gerapporteerde probleem te verhelpen." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "Bezig met versturen van foutgegevens" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>Bezig met het versturen van probleeminformatie</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "De verzamelde gegevens worden naar het foutbeheersysteem verzonden. Dit kan " "enkele minuten duren." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Apport-crashbestand" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(binaire gegevens)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "Helaas is de toepassing %s onverwacht gestopt." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "%s is helaas onverwachts gesloten." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "Er is in %s helaas een interne fout opgetreden." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Probleemrapport naar de ontwikkelaars sturen?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Versturen" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "Geforceerd gesloten" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Opnieuw starten" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "De toepassing %s reageert niet meer." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "Het programma ‘%s’ geageert niet meer." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Pakket: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "" "Er is helaas een fout opgetreden bij het installeren van de software." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "In de toepassing %s is een interne fout opgetreden." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "De toepassing %s werd onverwachts gesloten." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "Dit type problemen in de toekomst negeren" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Details verbergen" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Gebruik: %s <rapport> <doelmap>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "Doelmap bestaat en is niet leeg." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Bezig met verzamelen van probleeminformatie" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Systeeminformatie verzamelen" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "Authenticatie is vereist om systeeminformatie voor dit probleemrapport te " "verzamelen" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "Systeemprobleemrapporten" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" "Voer uw wachtwoord in om toegang te krijgen tot de probleemrapporten van " "systeemprogramma's" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Een probleem rapporteren..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Rapporteer een fout aan de ontwikkelaars" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "Zie man-pagina voor details." #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "geef de naam op van het logbestand dat door valgrind is gemaakt" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" "gebruik een eerder aangemaakte uitprobeermap (sandbox) (SDIR) opnieuw, of " "maak hem aan als deze niet bestaat" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" "u moet geen uitprobeermap maken of hergebruiken voor extra debugsymbolen; " "vertrouw alleen op geïnstalleerde debugsymbolen." #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" "gebruik een eerder aangemaakte cache dir (CDIR) opnieuw, of maak hem aan als " "deze niet bestaat" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" "rapporteren van de download/installatie-voortgang wanneer pakketten in " "sandbox worden geïnstalleerd" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" "het uitvoerbare bestand dat gedraaid wordt onder valgrind's " "geheugencontrolehulpmiddel voor geheugellekkagedetectie" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "Fout: %s is geen uitvoerbaar bestand. Wordt stopgezet." #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" "Uw systeem kan nu instabiel worden en moet mogelijk opnieuw worden opgestart." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" "Nieuwe traces naar stdout schrijven in plaats van ze te plaatsen in het " "rapport." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "Een interactieve gdb-sessie starten met de coredump van het rapport (-o " "genegeerd; herschrijft het rapport niet)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "Gewijzigde rapport naar opgegeven bestand schrijven in plaats van het " "originele bestand bij te werken" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" "De coredump verwijderen uit het rapport na hergeneratie van de stacktrace" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "CoreFile van rapport overschrijven" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "ExecutablePath van rapport overschrijven" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "ProcMaps van rapport overschrijven" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "Pakketinformatie van rapport opnieuw aanmaken" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" "Tijdsaanduiding vooraan in logberichten invoegen, voor batchverwerking" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" "Softwarebronnen van derden, uit bronnen die in rapporten gespecificeerd " "zijn, aanmaken en gebruiken" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" "Map voor uitgepakte pakketten. In het vervolg zal er bij het uitvoeren van " "uitgegaan worden dat elk reeds gedownloade pakket ook naar deze zandbak is " "uitgepakt." #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" "Pad naar het bestand met de aanmeldinformatie voor de crash-database. Dit " "wordt gebruikt bij het opgegeven van een crash-ID om hergetraceerde " "stacktraces te uploaden (alleen als -g, -o en -s niet zijn opgegeven)" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "Hergetraceerde stacktraces tonen en voor bevestiging vragen alvorens te " "verzenden naar de crash-database." #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" "Pad naar de dubbele sqlite-database (standaard: geen controle voor " "duplicaten)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "U kunt niet -C zonder -S gebruiken. Wordt stopgezet." #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "Deze bijlagen verzenden? [y/n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "Dit pakket lijkt niet juist te zijn geïnstalleerd" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "Dit is geen officieel %s pakket. Verwijder pakketten van derden en probeer " "het opnieuw." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "Er staan enkele verouderde pakketversies op uw systeem geïnstalleerd. " "Upgrade de volgende pakketten en controleer of het probleem nog steeds " "optreedt.\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "onbekend programma" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Excuses, het programma \"%s\" werd onverwachts afgesloten" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Probleem in %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "Uw computer heeft onvoldoende vrij werkgeheugen om het probleem automatisch " "te analyseren en een rapport naar de ontwikkelaars te sturen." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Ongeldig probleemrapport" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "U bent niet bevoegd om dit probleemrapport te bekijken." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Fout" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "Er is onvoldoende schijfruimte om dit rapport te verwerken" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "Geen pakket opgegeven" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "U moet een pakket of PID opgeven. Zie --help voor meer informatie." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Toegang geweigerd" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "U bent niet de eigenaar van het opgegeven proces. Voer dit programma uit als " "proceseigenaar of als root." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "Ongeldig PID" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "Het opgegeven proces-PID behoort niet tot een programma." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "Pakket %s bestaat niet" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "Wat voor soort probleem wilt u rapporteren?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Onbekend symptoom" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "Het symptoom \"%s\" is onbekend." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [opties] [symptomen|pid|pakket|programmapad|.apport/.crash-bestand]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "In modus voor foutrapportage starten. Vereist --package en een optionele --" "pid, of gewoon een --pid. Als ze beide niet zijn opgegeven, zal een lijst " "met bekende symptomen getoond worden. (Impliciet als een enkel argument is " "opgegeven.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "Een foutrapport over een symptoom indienen. (Impliciet als symptoomnaam het " "enige argument zijn.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "Pakketnaam in --file-bug-modus opgeven. Dit is optioneel als een --pid is " "opgegeven. (Impliciet als pakketnaam het enige argument is.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "De gegeven PID is een vastgelopen toepassing." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "De vastloper van een gegeven .apport- of .crash-bestand rapporten in plaats " "van de wachtende rapporten in %s. (Impliciet als file het enige argument is.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Het versienummer van Apport weergeven." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" "Dit zal apport-retrace starten in een terminalvenster om de crash te " "onderzoeken." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "gdb-sessie draaien" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "gdb-sessie draaien zonder debugsymbolen te downloaden" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "Update %s met volledige symbolic stack trace" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" "Dit probleemrapport verwijst naar een programma dat niet meer geinstalleerd " "is." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" "Het probleem deed zich voor bij het programma %s dat gewijzigd werd sinds " "het voorvallen van de crash." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "Dit probleemrapport is beschadigd en kan niet worden verwerkt." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "Het rapport behoort bij een pakket dat niet is geïnstalleerd." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" "Er is een fout opgetreden bij de poging deze probleemrapportage te verwerken:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "Kon de naam van het pakket of het bronpakket niet bepalen." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Kon de webbrowser niet starten" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "Kon de webbrowser niet starten om %s te openen." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "Voer uw accountinformatie in voor het foutbeheersysteem %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Netwerkprobleem" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "Verbinding met crash-database mislukt, controleer uw internetverbinding." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Geheugen vol" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "Uw systeem heeft onvoldoende geheugen om dit foutenrapport te verwerken." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "Het probleem kan niet worden gerapporteerd:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Probleem reeds bekend" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "Dit probleem werd reeds gerapporteerd in het foutenrapport dat in de " "webbrowser wordt weergegeven. Controleer of u extra informatie kunt " "toevoegen die voor de ontwikkelaars nuttig kan zijn." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "Dit probleem is al doorgegeven aan de ontwikkelaars. Dank u wel!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" "Dit gebeurde tijdens een eerdere pauzestand, waardoor het systeem niet op de " "juiste wijze herstart werd." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" "Dit gebeurde tijdens een eerdere slaapstand, waardoor het systeem niet op de " "juiste wijze herstart werd." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "Het ontwakingsproces liep vlak voor het einde vast en zag eruit alsof het " "compleet geslaagd was." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Druk op een toets om door te gaan..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "Wat wilt u doen? U kunt kiezen uit:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Maak uw keuze (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "Zodra het probleemrapport is verzonden, wordt u verzocht het formulier\n" "in de automatisch geopende webbrowser in te vullen." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "Rapport ver&sturen (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "Lokaal &onderzoeken" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "Rapport weerge&ven" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" "Rapportbestand bewaren voor latere verzending, of om elders heen te &kopiëren" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" "Annuleren en toekomstige vastlopers van deze programmavers&ie negeren" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Annuleren" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Probleemrapport-bestand:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "Be&vestigen" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Fout: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "De verzamelde informatie kan naar de ontwikkelaars worden verzonden om\n" "de toepassing te verbeteren. Dit kan enkele minuten duren." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "De verzamelde informatie wordt naar het foutbeheersysteem verzonden.\n" "Dit kan enkele minuten duren." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "Geree&d" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "geen" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Geselecteerd: %s. Meerdere keuzes:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Keuzes:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Pad naar het bestand (Enter om te stoppen):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "Bestand bestaat niet." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "Dit is een map." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "Om verder te gaan moet u het volgende adres bezoeken:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "U kunt nu een browser starten, of dit adres in een browser op een andere " "computer openen." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "De browser nu starten" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" "Geen crashrapporten in de wachtrij. Probeer --help voor meer informatie." #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "Volledig verslag (aanbevolen; %s)" #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>Probleemrapport aan de ontwikkelaars sturen?</b></big>\n" #~ "\n" #~ "Vul, nadat het probleemrapport is verstuurd, het formulier in dat " #~ "automatisch in een webbrowser geopend wordt." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "Als u niets vertrouwelijks aan het doen was (invoeren van wachtwoorden of " #~ "privé-informatie), dan kunt u helpen de toepassing te verbeteren door het " #~ "probleem te melden." #~ msgid "Application problem" #~ msgstr "Toepassingprobleem" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "Als u niets vertrouwelijks aan het doen was (wachtwoorden of andere privé-\n" #~ "informatie invoeren), dan kunt u helpen om de toepassing te verbeteren door\n" #~ "het probleem te melden." #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s werd onverwachts afgesloten op %s om %s." #~ msgid "Restart _Program" #~ msgstr "_Programma herstarten" #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "Beperkt rapport (langzame internetverbinding; %s)" #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "Bepe&rkt rapport versturen (langzame internetverbinding; %s)" #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "Dit verwijdert enkele grote items uit het rapport. Deze zijn erg nuttig voor " #~ "de ontwikkelaars om het probleem te analyseren, maar kunnen te groot zijn " #~ "voor het uploaden als u een langzame internetverbinding heeft." #~ msgid "Kernel problem" #~ msgstr "Kernelprobleem" #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "" #~ "U kunt de ontwikkelaars helpen om het pakket te repareren door het probleem " #~ "te rapporteren." #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "Dit is geen authentiek %s-pakket." #~ msgid "Content of the report" #~ msgstr "Inhoud van het verslag" #~ msgid "Package problem" #~ msgstr "Pakketprobleem" #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "" #~ "U kunt de ontwikkelaars helpen met het probleem te verhelpen, door het te " #~ "rapporteren." #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "Het pakket \"%s\" kon niet worden geïnstalleerd of opgewaardeerd" #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "" #~ "ongeldig aantal argumenten; gebruik --help voor een korte handleiding" #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Dit gebeurde tijdens een vorige pauzestand en zorgde ervoor dat de computer " #~ "niet goed ontwaakte." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Dit vond plaats tijdens een vorige slaapstand en zorgde ervoor dat de " #~ "computer niet goed ontwaakte." #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [opties] <apport-probleemrapport | crash-ID>" #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "" #~ "u moet een lokale handeling uitvoeren (-s, -g, -o) of een " #~ "authenticatiebestand (--auth) meegeven; zie --help voor een korte handleiding" #~ msgid "_Ignore future crashes of this program version" #~ msgstr "Toekomstige vastlopers van deze programmavers_ie negeren" #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "Er is een ernstig kernelprobleem op uw computer opgetreden." #~ msgid "&Report Problem..." #~ msgstr "P&robleem melden..." #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "Compleet rapport ver&sturen (aanbevolen; %s)" #~ msgid "_Report Problem..." #~ msgstr "Probleem _rapporteren..." #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">Excuses, de installatie of upgrade van " #~ "pakket \"%s\" is mislukt.</span>" #~ msgid "_Send Report" #~ msgstr "Rapport ver_sturen" #, python-format #~ msgid "Sorry, the application %s has closed unexpectedly." #~ msgstr "De toepassing %s is helaas onverwachts gesloten." #~ msgid "Your system might become unstablenow and might need to be restarted." #~ msgstr "" #~ "Uw systeem zou nu instabiel kunnen worden en dient mogelijk opnieuw " #~ "opgestart te worden." ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/oc.po������������������������������������������������������������������������������0000644�0000000�0000000�00000145064�12677230222�012623� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Occitan (post 1500) translation for apport # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:47+0000\n" "Last-Translator: Cédric VALMARY (Tot en òc) <cvalmary@yahoo.fr>\n" "Language-Team: Occitan (post 1500) <oc@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: \n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "Apòrt" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "Abandonar" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "D'acòrdi" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Rapòrt d'anomalia" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>O planhèm, una error intèrna s'es producha !</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "En cas de problèmas mai, ensajatz de reamodar vòstre ordenador." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "Mandar un rapòrt d'anomalia per ajudar a resòlvre aqueste problèma" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "Ignorar los problèmas que venon d'aquesta version del programa" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Afichar los detalhs" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "_Examinar en local" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Daissar tampat" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Contunhar" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>A collectar d'informacions ligadas al problèma</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "De donadas son en cors de collècta per ajudar los desvolopaires a corregir " "lo problèma qu'avètz rencontrat." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "Mandadís de las informacions ligadas al problèma" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>Mandadís de las informacions ligadas a l'incident</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "Las donadas collectadas son transmesas al sistèma de seguit dels bugs. Aquò " "pòt prene qualques minutas." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Fichièr d'arrèst brutal d'Apport" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(donadas binàrias)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "O planhèm, %s s'es arrestada d'un biais inesperat." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "O planhèm, %s a quitat d'un biais imprevist." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "O planhèm, %s a rencontrat una error intèrna." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Mandar un rapòrt d'errors als desvolopaires ?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Mandar" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "Tampat de fòrça" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Reaviar" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "L'aplicacion %s a daissat de respondre." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "Lo programa \"%s\" a daissat de respondre." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Paquet : %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "" "O planhèm, una error s'es producha al moment de l'installacion del logicial." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "L'aplicacion %s a patit una error intèrna." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "L'aplicacion %s a quitat d'un biais imprevist." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "Ignorar los problèmas d'aquesta mena que venon" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Amagar los detalhs" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Utilizacion : %s <rapòrt> <dorsièr cibla>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "Lo dorsièr de destinacion existís ja e es pas void." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "Nom d'utilizaire :" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "Senhal :" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "Collècta de las informacions ligadas al problèma" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Collècta d'informacions ligadas al problèma" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "Las informations collectadas pòdon èsser mandadas als desvolopaires per " "melhorar l'aplicacion. Aquò pòt prene qualques minutas." #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "Mandadís de las informacions ligadas al problèma" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Collectar d'informacions a prepaus del sistèma" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "Una autentificacion es necessària per collectar l'informacion del sistèma " "requesida per aqueste rapòrt de bug" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "Rapòrts de problèmas sistèma" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" "Picatz vòstre senhal per accedir a de rapòrts de problèmas de programas " "sistèma" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Senhalar un problèma..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Senhalar un disfoncionament als desvolopaires" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "Vejatz la pagina de manual per mai de detalhs." #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "especifica lo nom del fichièr jornal produch per valgrind" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" "reütilizar un repertòri de nauc de sabla (« sandbox ») (SDIR) creat " "precedentament o, s'existís pas, lo crear" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" "crear pas o reütilizar pas un repertòri sandbox per de simbòls de desbugatge " "addicionals mas s'apuejar solament suls simbòls de desbugatge instaltats." #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" "reütilizar un repertòri d'escondedor (CDIR) precedentament creat o, " "s'existís pas, lo crear" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" "afichar la progression del telecargament e de l'installacion al moment de " "l'installacion de paquets dins lo nauc de sabla (« sandbox »)" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" "l'executable aviat dins l'aisina de verificacion de la memòria de valgrind " "per detectar un pèrda de memòria." #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" "Installar un paquet suplementari dins lo nauc de sabla (pòt èsser " "especificat mantun còp)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "Error : %s es pas un executable. Arrèst." #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" "Ara, vòstre sistèma se pòt far instable e pòt aver besonh d'èsser reaviat." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" "Plaçar pas las « traças » novèlas dins lo rapòrt de bug, mas los escriure " "sus la sortida estandarda." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "Avia una sesilha gdb interactiva amb l'imatge memòria (core dump) del rapòrt " "(-0 ignorat ; reescriu pas lo rapòrt)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "Escriu lo rapòrt dins un fichièr donat puslèu que de modificar lo rapòrt " "d'origina." #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" "Suprimir l'imatge memòria (core dump) del compte rendut aprèp regeneracion " "de l'estat de la pila" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "Espotir lo fichièr d'imatge memòria (CoreFile) del rapòrt" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "Espotir l'emplaçament de l'executable (ExecutablePath) del rapòrt" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "Espotir la lista dels processus (ProcMaps) del rapòrt" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "Tornar construire las informacions suls paquets del rapòrt" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" "Metre en plaça un nauc de sabla temporari e i telecargar/installar los " "paquets e los simbòls de desbugatge necessaris ; sens aquesta opcion, serà " "supausat que los paquets e los simbòls de desbugatge necessaris son ja " "installats sul sistèma. L'argument punta cap al dorsièr de configuracion de " "basa del sistèma de creacion de paquets ; s'especificatz \"system\", los " "fichièrs de configuracion del sistèma seràn utilizats, mas sols los " "plantatges de la version en cors d'execucion poiràn èsser traçats." #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" "Senhalar l'avançament del telecargament/de l'installacion pendent " "l'installacion de paquets dins lo nauc de sabla." #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" "Prefixar un orodatatge als messatges de jornal, per un tractament per lòts" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" "Crear e utilizar de depauses tèrces a partir d'originas especificadas dins " "de rapòrts" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" "Repertòri d'escondedor pels paquets telecargats dins lo nauc de sabla" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" "Repertòri pels paquets descompressats. Las execucions futuras presumiràn " "qu'un paquet ja telecargat serà tanben extrach dins aqueste nauc de sabla." #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" "Emplaçant d'un fichièr que conten las informacions d'autentificacion a la " "banca de donadas dels plantatges. Aquò's utilizat quand òm indica un ID de " "plantatge per cargar l'estat de la pila (solzment se -g, -o o -s son pas " "especificats)" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "Afichar l'estat de la pila reconstituida e demandar una confirmacion abans " "de lo mandar a la banca de donadas dels plantatges." #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" "Emplaçament de la còpia de la banca de donadas SQLite (per defaut : pas de " "verificacion de la còpia)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "Podètz pas utilizar -C sens -S. Arrèst." #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "D'acòrdi per mandar aquò coma pèças juntas ? [y/n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "Sembla qu'aqueste paquet es pas installat corrèctament." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "Aqueste paquet es pas oficialament pres en carga per %s. Desinstallatz tot " "paquet tèrç e tornatz ensajar." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "Las versions installadas d'unes paquets son obsolets. Metètz a jorn los " "paquets seguents, puèi verificatz se lo problèma es encara present :%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "programa desconegut" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "O planhèm, lo programa « %s » a quitat d'un biais imprevist" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Problèma dins %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "Vòstre ordenador possedís pas pro de memòria liura per analisar " "automaticament lo problèma e mandar un rapòrt als desvolopaires." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Rapòrt d'incident invalid" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "Sètz pas autorizat a accedir aqueste rapòrt d'incident." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Error" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "I a pas pro d'espaci de disc disponible per tractar aqueste rapòrt." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "Cap de paquet pas especificat" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "Vos cal precisar un paquet o un PID. Utilizatz --help per mai d'informacions." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Autorizacion refusada" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "Lo processus especificat vos aparten pas. Executar aqueste programa en tant " "que proprietari del processus o en tant qu'administrator (root)." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "PID invalida" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "L'ID de processus especificat aparten pas a cap de programa." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "L'escript %s a pas pogut determinar un paquet afectat" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "Lo paquet %s existís pas" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "Impossible de crear lo rapòrt" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "Mesa a jorn del rapòrt d'incident" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "Aqueste rapòrt es pas estat fach per vos o vos i sètz pas inscrich ; o es " "tampat o s'agís d'un doblon.\n" "Creatz un rapòrt novèl en utilizant « apport-bug »." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "Sètz pas lo redactor d'aqueste rapòrt d'incident. Es pus aisit de marcar un " "bug coma duplicata que non pas de desplaçar vòstres comentaris e pèças " "juntas sus un bug novèl.\n" "Vos recomandam doncas de completar un senhalament de bug novèl en utilizant " "\"apport-bug\" e de ne far un comentari dins lo bug inicial. \n" "Sètz segur que volètz contunhar ?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "Cap d'informacion suplementària es pas estada collectada." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "Quin tipe de problèma volètz senhalar ?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Simptòma desconegut" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "Lo simptòma « %s » es desconegut." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "Aprèp la tampadura d'aqueste messatge, clicatz sus la fenèstra de " "l'aplicacion per la quala volètz senhalar un problèma." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "xprop a pas pogut determinar l'ID del processus de la fenèstra" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "%prog <numèro del rapòrt>" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "Indicatz lo nom del paquet." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" "Apondre un marcador suplementari pel rapòrt. Pòt èsser especificat mantun " "còp." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Avia en mòde senhalament de bug. Necessita l'argument --package e --pid en " "opcion, o simplament --pid. Se n'i a pas cap de provesit, aficha una lista " "de simptòmas coneguts. (Implicit se un sol argument es provesit.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "Clicatz sus la fenèstra per laquala volètz senhalar un problèma." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "Començar en mòde « mesa a jorn de bug ». Accèpta l'opcion --package" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "Efectua un senhalament de bug a prepaus d'un simptòma. (Implicit se lo nom " "del simptòma es donat coma argument unic.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "Especifica un nom de paquet dins lo mode --file-bug. Aquò's opcional se --" "pid es especificat. (Implicit se lo nom del paquet es donat coma argument " "unic.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "Especificar un programa que s'executa en mòde « --file-bug ». S'aquò es " "especificat, lo rapòrt de bug contendrà mai d'informacions. (implicita se " "l’identificant del processus es passat coma argument unic)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "Lo pid provesit es una aplicacion que respond pas." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "Senhala lo bug a partir d'un fichièr .apport o .crash donat puslèu qu'a " "partir de los que son en espèra dins %s. (Implicit se lo fichièr es donat " "coma argument unic.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" "En mòde de senhalament de bug, enregistra las informacions collectadas dins " "un fichièr puslèu que de generar un rapòrt. Aqueste fichièr poirà èsser " "utilizat pus tard a partir d'una autra maquina per mandar un rapòrt." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Aficha lo numèro de version d'Apport." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" "Aquò va aviar apport-retrace dins una fenèstra de terminal per examinar lo " "crash." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "Aviar una sesilha gdb" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "Executar la sesilha gdb sens telecargar los simbòls de desbugatge" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "Mesa a jorn de %s amb una traça de la pila totalament simbolica" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" "Aqueste rapòrt d'incident s'aplica a un logicial qu'es pas pus installat per " "aquesta distribucion." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" "Lo problèma concernís lo programa %s qu'a cambiat dempuèi lo plantatge." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "Aqueste rapòrt d'incident es damatjat e pòt pas èsser tractat." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "Lo rapòrt fa referéncia a un paquet pasinstallat." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" "Una error s'es producha al moment del tractament d'aqueste rapòrt " "d'anomalia :" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "Impossible de determinar lo nom del paquet o del paquet font." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Impossible d'aviar lo navegador web" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "Impossible d'aviar lo navegador web per dobrir %s." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" "Picatz las informacions de vòstre compte pel sistèma de seguit dels bugs %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Problèma de ret" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "Impossible de se connectar a la banca de donadas dels plantatges. Verificatz " "vòstra connexion a l'Internet." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Memòria saturada" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "Vòstre sistèma dispausa pas de pro de memòria per tractar aqueste rapòrt " "d'incident." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "Lo problèma pòt pas èsser senhalat :\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Problèma ja conegut" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "Aqueste problèma ja es estat senhalat dins lo rapòrt d'incident afichat per " "vòstre navigador. Verificatz se podètz apondre d'informacions " "complementàrias susceptiblas d'ajudar los desvolopaires." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "Aqueste problèma es ja estat senhalat als desvolopaires. Mercé !" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" "Aquò s'es produch precedentament al moment d'una mesa en velha e a empachat " "lo sistèma de se reaviar corrèctament." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" "Aquò s'es produch precedentament al moment d'una mesa en velha perlongada e " "a empachat lo sistèma de se reaviar corrèctament." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "Lo processus de represa s'es blocat juste abans d'arribar a son tèrme e " "apareisserà coma s'èra acabat normalament." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Quichatz sus una tòca per contunhar..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "Qué ne volètz far ? Las causidas son :" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Fasètz una causida (%s) :" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i octets)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "Un còp que lo rapòrt d'incident serà estat mandat, completatz lo\n" "formulari dobèrt automaticament dins vòstre navigador Web." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "&Mandar lo rapòrt (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "&Examinar en local" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "&Veire lo rapòrt" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" "&Conservar lo fichièr del rapòrt per lo mandar ulteriorament o lo copiar " "endacòm" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" "Anullar e &ignorar los plantatges venents d'aquesta version del programa" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Anullar" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Fichièr del rapòrt d'incident :" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&Confirmar" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Error : %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "Las informacions collectadas pòdon èsser mandadas als desvolopaires per \n" "melhorar l'aplicacion. Aquò pòt prene qualques minutas." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "Las informacions collectadas son mandadas al sistèma de seguit de bugs.\n" "Aquò pòt prene qualques minutas." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Acabat" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "pas cap" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Seleccionat : % s. Causida multipla :" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Causida multipla :" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Emplaçament del fichièr (tòca Entrada per anullar) :" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "Lo fichièr existís pas." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "Aquò's un repertòri." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "Per contunhar, vos cal anar a aquela adreça :" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "Podètz dobrir un navigador Web ara, o picar aquesta URL dins un navigador " "sus un autre ordenador." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Aviar un navigador Web ara" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" "Pascap de rapòrt d'incident en espèra. Ensajatz --help per mai " "d'informacions." #~ msgid "&Details..." #~ msgstr "&Detalhs" #~ msgid "Restart _Program" #~ msgstr "Tornar aviar lo _programa" #~ msgid "Content of the report" #~ msgstr "Contengut del rapòrt" #~ msgid "&Report Problem..." #~ msgstr "&Senhalar lo problèma..." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "Se fasiatz pas res de confidencial (picada de senhals o d'autras\n" #~ "informacions privadas), podètz ajudar a melhorar l'aplicacion en senhalant\n" #~ "lo problèma." #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s a quitat d'un biais imprevist lo %s à %s" #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "Un problèma seriós amb lo nucli s'es produch sus vòstre sistèma." #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "&Mandar un rapòrt complet (recomandat ; %s)" #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "" #~ "Podètz ajudar los desvolopaires a resòlvre lo problèma en lo senhalant." #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "" #~ "Podètz ajudar los desvolopaires a corregir aqueste problèma en lo senhalant." #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "Mandar un rap*rt ab&reujat (connexion Internet lenta ; %s)" #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "L'installacion o la mesa a jorn dl paquet « %s » a fracassat." #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Aquò s'es produch al moment d'una mesa en velha precedenta ; aquò l'empacha " #~ "de tornar prene corrèctament." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Aquò s'es produch al moment d'una ivernacion precedenta ; aquò l'empacha de " #~ "tornar prene corrèctament." #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "Rapòrt complet (recomandat ; %s)" #~ msgid "Application problem" #~ msgstr "Problèma logicial" #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">O planhèm, fracàs al moment de " #~ "l'installacion o de la mesa a jorn del paquet « %s ».</span>" #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>Mandar un rapòrt d'incident als desvolopaires ?</b></big>\n" #~ "\n" #~ "Un còp lo rapòrt mandat, emplenatz lo formulari afichat automaticament per " #~ "vòstre navigador Web." #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "Rapòrt abreujat (connexion Internet lenta ; %s)" #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "De partidas voluminosas van èsser suprimidas del rapòrt. Son fòrça utilas " #~ "als desvolopaires per resòlvre lo problèma, mas se pòdon revelar tròp " #~ "pesugas al moment de lor transmission se dispausatz pas que d'una connexion " #~ "Internet de bas debit." #~ msgid "_Ignore future crashes of this program version" #~ msgstr "_Ignorar los plantatges venents d'aquesta version del programa" #~ msgid "_Report Problem..." #~ msgstr "Senhalar aqueste p_roblèma..." #~ msgid "Package problem" #~ msgstr "Problèma de paquet" #~ msgid "Kernel problem" #~ msgstr "Problèma de nucli" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "Se fasiatz pas res de confidencial (picada de senhals o d'informacions " #~ "privadas), podètz ajudar a melhorar l'aplicacion en senhalant lo problèma." #~ msgid "_Send Report" #~ msgstr "_Mandar lo rapòrt" #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [options] <apport problem report | crash ID>" #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "" #~ "Nombre d'arguments incorrècte ; utilizatz --help per una ajuda succincta" #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "" #~ "Vos cal far una operacion locala (-s, -g, -o) o provesir un fichièr " #~ "d'autentificacion (--auth) ; vejatz --help per una ajuda succinta" #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "Aquò's pas es pas un paquet %s autentic" #~ msgid "Send this data to the developers?" #~ msgstr "Mandar aquelas donadas als desvolopaires ?" #, python-format #~ msgid "Sorry, the package \"%s\" failed to install or upgrade." #~ msgstr "" #~ "O planhèm, lo paquet « %s » a pas pogut èsser installat o mes a jorn." #, python-format #~ msgid "Sorry, %s closed unexpectedly" #~ msgstr "O planhèm, %s a quitat d'un biais imprevist" #~ msgid "" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "Aprèp lo mandadís del rapòrt d'incident, completatz lo formulari dobèrt " #~ "automaticament dins lo navigador Web." #~ msgid "Generic error" #~ msgstr "Error generica" #~ msgid "&Ignore future crashes of this program version" #~ msgstr "&Ignorar los plantatges que venon d'aquesta version del logicial" #, python-format #~ msgid "Sorry, the program \"%s\" closed unexpectedly." #~ msgstr "O planhèm, lo programa « %s » a quitat d'un biais imprevist." #~ msgid "Restart &Program" #~ msgstr "Reaviar lo &programa" #, python-format #~ msgid "Sorry, %s closed unexpectedly." #~ msgstr "O planhèm, %s a quitat d'un biais imprevist." #~ msgid "&Send" #~ msgstr "&Mandar" #, python-format #~ msgid "Sorry, the application %s has closed unexpectedly." #~ msgstr "O planhèm, l'aplicacion %s a quitat d'un biais imprevist." #~ msgid "Your system might become unstablenow and might need to be restarted." #~ msgstr "Vòstre sistèma poiriá venir instable e necessitar una reaviada." ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/pa.po������������������������������������������������������������������������������0000644�0000000�0000000�00000101661�12677230222�012615� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Punjabi translation for apport # Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2014. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2014-02-02 00:14+0000\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: Punjabi <pa@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: pa\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "ਵੇਰਵਾ ਵੇਖੋ" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "ਬੰਦ ਰਹਿਣ ਦਿਓ" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "ਜਾਰੀ ਰੱਖੋ" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "ਭੇਜੋ" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "ਮੁੜ-ਚਲਾਓ" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "ਪੈਕੇਜ: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "ਅਫਸੋਸ, ਸਾਫਟਵੇਅਰ ਇੰਸਟਾਲ ਕਰਨ ਦੌਰਾਨ ਗਲਤੀ ਆਈ ਹੈ।" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "ਐਪਲੀਕੇਸ਼ਨ %s ਨੂੰ ਅੰਦਰੂਨੀ ਗਲਤੀ ਆਈ ਹੈ।" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "ਐਪਲੀਕੇਸ਼ਨ %s ਅਚਾਨਕ ਬੰਦ ਹੋ ਗਈ ਹੈ।" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "ਵੇਰਵਾ ਓਹਲੇ" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "ਯੂਜ਼ਰ-ਨਾਂ:" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "ਪਾਸਵਰਡ:" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "ਸਮੱਸਿਆ ਰਿਪੋਰਟ" #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "ਵਿਸਥਾਰ ਲਈ ਮੈਨ ਪੇਜ ਵੇਖੋ।" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" "ਸੈਂਡ ਬੌਕਸ ਵਿੱਚ ਵਾਧੂ ਪੈਕਿਜ ਇੰਸਟਾਲ (ਇਸਨੂੰ ਕਈ ਵਾਰ ਨਿਸ਼ਚਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "ਗਲਤੀ: %s ਚੱਲਣਯੋਗ ਨਹੀਂ ਹੈ। ਬੰਦ ਹੋ ਰਿਹਾ ਹੈ।" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "" #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" �������������������������������������������������������������������������������apport-2.20.1/po/pl.po������������������������������������������������������������������������������0000644�0000000�0000000�00000142301�12677230222�012624� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Polish translation for apport # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-12-10 11:29+0000\n" "Last-Translator: Tomasz Dominikowski <dominikowski@gmail.com>\n" "Language-Team: Polish <pl@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: pl\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "Apport" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "Anuluj" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "OK" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Zgłoszenie awarii" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>Przepraszamy, wystąpił wewnętrzny błąd.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" "Jeśli wystąpią kolejne awarie, proszę spróbować ponownie uruchomić komputer." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "Wysłanie zgłoszenia o błędzie, aby pomóc go usunąć" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "Ignorowanie przyszłych błędów tej wersji programu" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Wyświetl szczegóły" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "_Zbadaj lokalnie" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Pozostaw zakończony" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Kontynuuj" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>Zbieranie informacji o błędzie</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "Trwa zbieranie informacji, które mogą pomóc twórcom programu usunąć " "zgłoszony błąd." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "Wysyłanie informacji o problemie" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>Wysyłanie informacji o błędzie</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "Zebrane informacje są wysyłane do systemu śledzenia błędów. To może potrwać " "kilka minut." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Plik zgłoszenia Apport" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(dane binarne)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "Niestety, program %s niespodziewanie wstrzymał pracę." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "Przepraszamy, %s został niespodziewanie zakończony." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "Przepraszamy, wystąpił wewnętrzny błąd działania %s." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Zgłosić błąd twórcom programu?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Wyślij" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "Wymuś zakończenie" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Uruchom ponownie" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "Program %s przestał odpowiadać." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "Program „%s” przestał odpowiadać." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Pakiet: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "Przepraszamy, wystąpił błąd podczas instalowania oprogramowania." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "Wystąpił wewnętrzny błąd programu %s." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "Program %s został niespodziewanie zakończony." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "Ignorowanie problemów tego typu w przyszłości" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Ukryj szczegóły" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Użycie: %s <ZGŁOSZENIE> <KATALOG DOCELOWY>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "Katalog docelowy istnieje i nie jest pusty." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "Nazwa użytkownika:" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "Hasło:" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "Zbieranie informacji o problemie" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Zbieranie informacji o błędzie" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "Zebrane informacje mogą zostać wysłane do twórców programu w celu jego " "usprawnienia. To może potrwać kilka minut." #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "Wysyłanie informacji o błędzie" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Pobranie informacji o systemie" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "Aby pobrać informacje o systemie, wymagana jest autoryzacja" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "Raporty problemów systemowych" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" "Aby uzyskać dostęp do raportów o błędach systemowych, należy wprowadzić hasło" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Zgłaszanie błędu" #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Zgłasza twórcom błędy działania oprogramowania" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "Zajrzyj na stronę podręcznika systemowego po więcej szczegółów." #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "Podaj nazwę pliku logów, generowanych przez valgrind" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" "Ponowne użycie istniejącego już katalogu sandbox (SDIR) lub jego utworzenie" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" "Katalog sandbox nie zostanie utworzony ani użyty ponownie dla dodatkowych " "symboli debugowania. Polegamy tylko na symbolach już zainstalowanych." #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" "Ponowne użycie istniejącego już katalogu cache (CDIR) lub jego utworzenie" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" "Raportowanie postępu pobierania/instalacji podczas instalowania pakietów do " "sandbox" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" "Element wykonalny uruchamiany poprzez narzędzie memcheck programu Valgrind, " "mające za zadanie detekcję wycieków pamięci" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "Instaluje dodatkowy pakiet w piaskownicy (można użyć wiele razy)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "Błąd: nie można wykonać %s. Zatrzymywanie." #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" "System może być niestabilny, dlatego może być wymagane jego ponowne " "uruchomienie." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" "Nie dodaje nowych śladów do zgłoszenia tylko wypisuje je na standardowe " "wyjście." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "Uruchamia interaktywną sesję gdb na zrzucie pamięci zgłoszenia (ignoruje " "opcję -o; nie przepisuje zgłoszenia)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "Napisz zmienione zgłoszenie dla danego pliku zamiast zmieniać oryginalne " "zgłoszenie" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "Usuwa zrzut pamięci ze zgłoszenia po regeneracji śladu stosu." #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "Zastąp CoreFile raportu" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "Zastąp ExecutablePath raportu" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "Zastąp ProcMaps raportu" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "Przebudowuje informacje o pakiecie w zgłoszeniu" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" "Buduje tymczasowy sandbox oraz pobiera/instaluje w nim potrzebne pakiety " "wraz z symbolami debugowania. Bez tej opcji założone zostaje, że niezbędne " "pakiety i symbole są już zainstalowane w systemie. Argument wskazuje na " "katalog bazy konfiguracji systemu pakietów. Wybranie opcji \"system\" " "skutkuje użyciem plików konfiguracji systemu - możliwe będzie wyłącznie " "śledzenie i analiza (retrace) problemów, które miały miejsce w bieżąco " "zainstalowanym wydaniu systemu." #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" "Wyświetl pasek postępu pobierania/instalowania podczas instalowania pakietów " "w piaskownicy" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" "Dodanie informacji o czasie do logów dla operacji trybu wsadowego (batch " "operation)" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" "Utwórz i użyj repozytoriów osób trzecich ze źródeł określonych w raportach" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "Określa katalog podręczny pakietów pobieranych do piaskownicy" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" "Katalog dla nierozpakowanych pakietów. Przyszłe użycie domyślnie założy, że " "każdy z już pobranych pakietów, jest również rozpakowany do tego sandboxa." #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" "Ścieżka do pliku z danymi uwierzytelnienia bazy danych problemów. Opcja " "używana podczas podawania identyfikatora problemu w celu przesłania ponownie " "prześledzonego śladu stosu (tylko jeśli nie użyto -g, -o, oraz -s)" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "Wyświetla ponownie wyśledzone ślady stosu i pyta o potwierdzenie przez " "wysłaniem ich do bazy błędów." #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" "Ścieżka do zduplikowanej bazy danych sqlite (domyślnie: bez wyszukiwania " "duplikatów)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "Nie można użyć -C bez -S. Zatrzymywanie." #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "Wysłać to jako załączniki? [y/n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "Prawdopobnie pakiet został zainstalowany nieprawidłowo" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "To nie jest oficjalny pakiet %s. Proszę usunąć wszystkie pakiety pochodzące " "z innych źródeł niż oficjalne i spróbować ponownie." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "Niektóre wersje pakietów są już przestarzałe. Proszę zaktualizować " "następujące pakiety i sprawdzić, czy problem nadal występuje:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "nieznany program" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Przepraszamy, program %s został niespodziewanie zakończony" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Wystąpił problem w %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "Komputer nie posiada wystarczającej ilości wolnej pamięci, aby automatycznie " "przeanalizować problem i zgłosić błąd do twórców programu." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Nieprawidłowe zgłoszenie o błędzie" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "Brak dostępu do zgłoszenia o błędzie." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Błąd" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" "Brak wystarczającej ilości wolnego miejsca na dysku, aby przetworzyć to " "zgłoszenie." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "Nie określono pakietu" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "Należy określić pakiet lub identyfikator procesu. Proszę użyć opcji --help, " "aby uzyskać więcej informacji." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Brak dostępu" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "Określony proces nie jest własnością bieżącego użytkownika. Proszę uruchomić " "ten program jako właściciel procesu lub jako administrator." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "Nieprawidłowy identyfikator procesu" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "" "Określony identyfikator procesu nie powiązany jest z żadnym programem." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "Skrypt symptomu %s nie określił pakietu" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "Pakiet %s nie istnieje" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "Nie można utworzyć raportu" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "Uaktualnianie zgłoszenia o błędzie" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "Użytkownik nie jest autorem lub subskrybentem tego zgłoszenia o błędzie lub " "zgłoszenie jest duplikatem albo zostało już zamknięte.\n" "\n" "Proszę zgłosić błąd używając narzędzia \"apport-bug\"." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "Użytkownik nie jest autorem tego zgłoszenia o błędzie. O wiele łatwiej " "oznaczyć błąd jako duplikat innego, niż przenieść swoje komentarze i " "załączniki do nowego błędu.\n" "\n" "Z tego powodu zaleca się wysłanie nowego zgłoszenia błędu używając narzędzia " "\"apport-bug\" i dodanie komentarza do tego zgłoszenia na temat błędu już " "zgłoszonego.\n" "\n" "Kontynuować?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "Nie zebrano dodatkowych informacji." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "Jaki rodzaj zgłoszenia ma zostać wysłany?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Nieznany symptom" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "Symptom \"%s\" jest nieznany" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "Po zamknięciu tej wiadomości, proszę kliknąć okno programu, aby zgłosić jego " "błąd." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" "Nie udało się określić identyfikatora okna procesu przy użyciu programu xprop" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "%prog <numer raportu>" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "Określa nazwę pakietu" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "Dodaje dodatkową etykietę do zgłoszenia. Można użyć kilkukrotnie." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "%prog [opcje] [symptom|pid|scieżka_do_programu|plik .apport/.crash]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Rozpoczyna w trybie zgłaszania błędu. Wymaga opcji --package oraz " "opcjonalnie --pid, lub tylko opcji --pid. Jeśli żadna opcja nie zostanie " "użyta, wyświetlona zostanie lista symptomów." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "Zgłasza błąd programu wskazanego kliknięciem w okno docelowe" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" "Uruchomia w trybie aktualizacji zgłoszenia błędu. Można użyć z opcją --" "package." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "Zgłasza błąd dotyczący symptomu (wymuszone jeśli podano nazwę symptomu jako " "parametr)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "Określa nazwę pakietu w trybie zgłaszania błędu. Opcjonalne, jeśli użyto " "opcję --pid (wymuszone, jeśli podano nazwę pakietu jako parametr)." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "Określa program w trybie zgłaszania błędu. Dodaje do zgłoszenia większą " "ilość informacji (pid jest podany jako jedyny parametr)." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "Podany pid to numer zawieszonej aplikacji." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "Zgłasza błąd działania programu na podstawie określonego pliku .apport lub " ".crash zamiast oczekujących w %s (wymuszone, jeśli określono plik jako " "parametr)." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" "Zapisuje informacje o błędzie do pliku, zamiast zgłaszać go. Raport zawarty " "w pliku, może być zgłoszony później z innego komputera." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Wypisuje informacje o wersji" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "Analiza awarii w terminalu za pomocą apport-retrace" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "Rozpoczyna sesję gdb" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "Rozpoczęcie sesji gdb bez pobierania symboli debugowania" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "Aktualizacja %s z pomocą fully symbolic stack trace" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "Zgłoszenie błędu dotyczy programu, który nie jest już zainstalowany." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "Problem dotyczy programu %s, który został zmieniony od czasu awarii." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "" "To zgłoszenie o błędzie jest uszkodzone i nie może zostać przetworzone." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "Zgłoszenie dotyczy niezainstalowanego pakietu." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "Wystąpił błąd podczas próby zgłoszenia błędu:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "Nie można ustalić pakietu lub nazwy pakietu źródłowego." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Nie można uruchomić przeglądarki internetowej" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "Nie można uruchomić przeglądarki internetowej, aby otworzyć %s." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "Proszę wprowadzić dane swojego konta w systemie śledzenia błędów %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Problem z siecią" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "Nie można połączyć się z bazą danych awarii, proszę sprawdzić połączenie " "internetowe." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Pamięć wyczerpana" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "System nie dysponuje wystarczającą ilością pamięci, aby przetworzyć raport " "błędu." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "Nie można zgłosić błędu:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Błąd został już zgłoszony" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "Ten błąd został już zgłoszony w raporcie wyświetlonym w przeglądarce " "internetowej. Proszę sprawdzić, czy można dodać jakiekolwiek dalsze " "informacje, które mogą być pomocne twórcom programu." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "Programiści zostali już poinformowani o tym problemie. Dziękujemy!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" "Wydarzyło się to podczas poprzedniego stanu wstrzymania i uniemożliwiło " "systemowi poprawne przejście do normalnego stanu pracy." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" "Wydarzyło się to podczas poprzedniego stanu uśpienia i uniemożliwiło " "systemowi poprawne przejście do normalnego stanu pracy." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "Wznawianie zawiesiło się bardzo blisko końca tego procesu i wygląda na " "ukończony poprawnie." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Proszę wcisnąć dowolny klawisz, aby kontynuować..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "Co zrobić? Możliwe działania:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Proszę wybrać (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i bajtów)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "Gdy raport zostanie wysłany, proszę wypełnić formularz\n" "w automatycznie otwartej przeglądarce internetowej." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "Wy&słanie zgłoszenia (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "&Zbadanie lokalnie" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "&Wyświetlenie zgłoszenia" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" "Pozostawienie pli&ku zgłoszenia w celu późniejszego wysłania lub skopiowania" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "Anulowanie i &ignorowanie przyszłych awarii tej wersji programu" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Anulowanie" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Plik zgłoszenia:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&Potwierdź" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Błąd: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "Zebrane informacje mogą zostać wysłane do twórców, aby ulepszyć\n" "program. To może potrwa kilka minut." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "Zebrane informacje są wysyłane do systemu zgłaszania błędów.\n" "To może potrwać kilka minut." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Gotowe" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "brak" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Zaznaczono: %s. Wielokrotny wybór:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Wybór:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Ścieżka do pliku (wciśnięcie klawisza ENTER anuluje działanie):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "Plik nie istnieje." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "To jest katalog." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "Aby kontynuować, należy otworzyć następujący adres URL:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "Można teraz uruchomić przeglądarkę internetową, albo wkleić ten adres URL do " "przeglądarki na innym komputerze." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Uruchom przeglądarkę" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" "Nie ma oczekujących zgłoszeń awarii. Proszę użyć opcji --help, aby uzyskać " "więcej informacji." #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "Instalowanie lub aktualizowanie pakietu \"%s\" nie powiodło się." #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "Raport pełny (zalecany; %s)" #~ msgid "Application problem" #~ msgstr "Problem z programem" #~ msgid "_Send Report" #~ msgstr "_Wyślij zgłoszenie" #~ msgid "Generic error" #~ msgstr "Błąd ogólny" #~ msgid "" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "Po wysłaniu raportu o błędzie proszę wypełnić formularz w automatycznie " #~ "otwartym oknie przeglądarki." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "Jeśli wykonywana praca nie była poufna (wpisywanie haseł bądź innych " #~ "prywatnych informacji), można pomóc w usprawnieniu programu zgłaszając " #~ "problem." #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "Wy&syłanie pełnego raportu (zalecane; %s)" #~ msgid "_Ignore future crashes of this program version" #~ msgstr "_Ignorowanie przyszłych problemów tej wersji programu" #~ msgid "Restart &Program" #~ msgstr "Uruchom &program ponownie" #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "To usunie większe obiekty z raportu. Są bardzo przydatne dla programistów w " #~ "celu naprawienia błędu, jednak mogą być zbyt duże jeśli posiadasz wolne " #~ "połączenie z Internetem." #~ msgid "&Report Problem..." #~ msgstr "&Powiadom o problemie..." #~ msgid "_Report Problem..." #~ msgstr "Powiadom o p_roblemie..." #~ msgid "&Send" #~ msgstr "&Wyślij" #~ msgid "Kernel problem" #~ msgstr "Problem z jądrem systemu" #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "To nie jest oryginalny pakiet %s" #~ msgid "Content of the report" #~ msgstr "Zawartość raportu" #~ msgid "Package problem" #~ msgstr "Problem z pakietem" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "Jeśli bieżąca praca nie jest jest tajna (wprowadzanie haseł lub innych " #~ "prywatnych danych), to można pomóc w ulepszeniu programu poprzez wysłanie " #~ "raportu o błędzie." #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "W systemie wystąpił poważny problem z jądrem." #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "Wysłanie z&redukowanego raportu (wolne łącze internetowe; %s)" #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s nieoczekiwanie zakończył działanie: %s o %s." #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Nastąpiło to podczas poprzedniego wstrzymania systemu i uniemożliwiło " #~ "poprawne wznowienie." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Nastąpiło to podczas poprzedniej hibernacji systemu i uniemożliwiło poprawne " #~ "wznowienie." #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "" #~ "należy wykonać operację lokalną (-s, -g, -o) lub wskazać plik " #~ "uwierzytelnienia (--auth); krótka pomoc dostępna jest z --help" #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "" #~ "Można pomóc twórcom programu naprawić pakiet, wysyłając raport opisujący " #~ "problem." #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "Można pomóc twórcom naprawić problem, zgłaszając go." #, python-format #~ msgid "Sorry, the package \"%s\" failed to install or upgrade." #~ msgstr "" #~ "Przepraszamy, nie udało się zainstalować lub zaktualizować pakietu \"%s\"." #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "Raport zmniejszony (wolne połączenie internetowe; %s)" #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>Wysłać raport o problemie do twórców programu?</b></big>\n" #~ "\n" #~ "Po wysłaniu raportu o błędzie, proszę wypełnić formularz w automatycznie " #~ "otwartym oknie przeglądarki." #~ msgid "Restart _Program" #~ msgstr "_Uruchom program ponownie" #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">Przepraszamy, nie udało się " #~ "zainstalować lub zaktualizować pakietu \"%s\".</span>" #, python-format #~ msgid "Sorry, the program \"%s\" closed unexpectedly." #~ msgstr "Przepraszamy, program \"%s\" został niespodziewanie zakończony." #, python-format #~ msgid "Sorry, %s closed unexpectedly." #~ msgstr "Przepraszamy, niespodziewanie zakończono %s." #, python-format #~ msgid "Sorry, the application %s has closed unexpectedly." #~ msgstr "Przepraszamy, program %s został niespodziewanie zakończony." #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [OPCJA...] <ZGŁOSZENIE BŁĘDU APPORT | IDENTYFIKATOR BŁĘDU>" #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "" #~ "nieprawidłowa ilość parametrów. Proszę użyć opcji --help, aby uzyskać więcej " #~ "informacji." #~ msgid "Your system might become unstablenow and might need to be restarted." #~ msgstr "System może stać się niestabilny i wymagać ponownego uruchomienia." �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/pt.po������������������������������������������������������������������������������0000644�0000000�0000000�00000125315�12677230222�012642� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Portuguese translation for apport # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:46+0000\n" "Last-Translator: Martin Pitt <martin.pitt@ubuntu.com>\n" "Language-Team: Portuguese <pt@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: pt\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>A recolher informações sobre o problema</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "A informação está a ser recolhida para tentar ajudar os programadores a " "corrigir o problema relatado." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "A enviar informações do problema" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>A enviar informação sobre o problema</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "A informação recolhida está a ser enviada ao sistema de rastreamento de " "erros. Isto poderá demorar alguns minutos." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Ficheiro de crash do Apport" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(dados binários)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Enviar o relatório do problema aos programadores?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Utilização: %s <relatório> <directório de destino>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "Directório de destino existe mas não está vazio" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "A recolher informações sobre o problema" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Relatar um problema..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Reporte um mau funcionamento para os programadores" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" "O seu sistema pode ficar instável agora e poderá necessitar de ser " "reiniciado." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" "Não colocar as novas análises no relatório, mas mostrá-las na saída padrão." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "Iniciar uma sessão interativa do gdb com o core dump do relatório (-o " "ignorado; não reescreve o relatório)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "Escreve o relatório modificado para um determinado ficheiro ao invés de " "alterar o relatório original" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" "Remove o core dump do relatório após a regeneração da análise da pilha" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "Substituir relatório CoreFile" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "Substituir relatório ExecutablePath" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "Substituir relatório ProcMaps" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "Reconstruir o relatório de informação do pacote" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" "Caminho para uma ficheiro com informação de autenticação da base de dados de " "erros. Isto é usado ao especificar a ID de erros para enviar os rastreios de " "erros rastreados (apenas se nem -g, -o, ou -s estarem especificados)" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "Mostrar rastreios de erros rastreados e perguntar por confirmação antes de " "os enviar para a base de dados de erros." #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" "Caminho para a base de dados de duplicados sqlite (por omissão: sem " "verificação de duplicação)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "OK para enviar estes como anexos? [y/n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "Você tem alguns pacotes desactualizados instalados. Por favor actualize os " "seguintes pacotes e verifique se o problema continua a ocorrer:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "programa desconhecido" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Desculpe, o programa %s fechou inesperadamente" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Problema em %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "O seu computador não tem memória livre suficiente para analisar " "automáticamente o problema e enviar um relatório para os programadores." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Relatório do problema inválido" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "Você não tem autorização para aceder ao relatório deste problema." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Erro" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" "Não tem espaço livre suficiente no disco para processar este relatório." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "Nenhum pacote especificado" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "Deve especificar um pacote ou um PID. Veja --help para mais informações." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Permissão negada" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "O processo especificado não lhe pertence. Por favor execute este programa " "como dono do processo ou como \"root\"." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "PID inválido" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "O ID de processo especificado não pertence a um programa." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "O pacote %s não existe" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "Que tipo de problema quer reportar?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Sintoma desconhecido" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "O sintoma \"%s\" não é conhecido" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [opções] [sintoma|pid|pacote|caminho do programa|ficheiro " ".apport/.crash]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Iniciar em modo de classificação de defeitos. Requer --package e um opcional " "--pid, ou somente um --pid. Se nenhum é fornecido, mostra uma lista de " "sintomas conhecidos. (Automático se um único argumento é fornecido)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "Submete um relatório de defeito sobre um sintoma. (Automático se um nome de " "sintoma é fornecido como único argumento)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "Especifica um nome de pacote em modo --file-bug. Opcional se um --pid é " "especificado. (Automático se um nome de pacote é fornecido como único " "argumento)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "Relatar a falha de um arquivo .apport ou .crash fornecido ao invés dos " "arquivos pendentes em %s. (Automático se o arquivo é fornecido como único " "argumento)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Imprime o número da versão do Apport" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" "Este relatório de problema aplica-se a um programa que já não se encontra " "instalado." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "" "Este relatório de problema está danificado e não pode ser processado." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "O relatório pertence a um pacote que não está instalado." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "Não foi possível determinar o nome do pacote ou pacote fonte." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Não é possível iniciar o navegador web" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "Não é possível iniciar o navegador web para abrir %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" "Por favor introduza a informação da sua conta para o sistema de " "gerenciamento de falhas %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Problema na rede" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "Não é possível estabelecer a ligação à base de dados de falhas, por favor " "verifique a sua ligação à Internet." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Exaustão da memória" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "O seu sistema não tem memória suficiente para processar o relatório desta " "paragem." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "O problema não pode ser relatado:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Problema já conhecido" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "Este problema já se encontra relatado como poderá confirmar no navegador " "web. Por favor, verifique se poderá adicionar mais alguma informação que " "possa ser útil aos programadores." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "O processo foi terminado muito perto do final, e pareceu-nos que foi " "completado normalmente." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Prima qualquer tecla para continuar..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "O que gostaria de fazer? As suas opções são:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Por favor escolha (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "Depois do relatório do problema ter sido enviado, por favor preencha o " "formulário na\n" "janela do navegador web que é aberta automaticamente." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "&Enviar relatório (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "&Ver relatório" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" "&Manter o ficheiro do relatório para enviar depois ou copiar para outro local" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "Cancelar e &ignorar futuros erros desta versão da aplicação" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Cancelar" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Ficheiro com o relatório do problema:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&Confirmar" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Erro: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "A informação recolhida pode ser enviada aos programadores de modo a " "melhorar\n" "a aplicação. Isto pode demorar alguns minutos." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "A informação recolhida está a ser enviada ao sistema de rastreio de erros.\n" "Isto pode demorar alguns minutos." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Concluído" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "nenhum" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Seleccionado: %s. Opções:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Escolhas:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Caminho para o ficheiro (Enter para cancelar):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "O ficheiro não existe." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "Isto é um directório." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "Para continuar, tem que visitar o seguinte URL:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "Pode iniciar um navegador agora, ou copiar este URL para um navegador noutro " "computador." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Iniciar um navegador agora" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" "Nenhum relatório de erro pendente. Tente --help para mais informações." #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "Pode ajudar os programadores a resolver o problema se o reportar." #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "O pacote \"%s\" falhou a instalação ou actualização." #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "Relatório completo (recomendado; %s)" #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>Enviar relato do problema para os programadores?</b></big>\n" #~ "\n" #~ "Depois do relato do problema ser enviado, por favor preencha o formulário na " #~ "janela que abriu no navegador web." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "Se não estava a fazer nada de confidencial (como introduzir senhas ou outra " #~ "informação privada), pode ajudar a melhorar a aplicação enviando o relatório " #~ "do problema." #~ msgid "Application problem" #~ msgstr "Problema na Aplicação" #~ msgid "_Send Report" #~ msgstr "_Enviar Relatório" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "Se não estava a fazer nada de confidencial (introduzindo senhas ou outra\n" #~ "informação privada), pode ajudar a melhorar a aplicação se relatar\n" #~ "o problema." #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s fechou inesperadamente no dia %s às %s." #~ msgid "Restart _Program" #~ msgstr "Reiniciar o _Programa" #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">Desculpe, o pacote \"%s\" falhou ao " #~ "instalar ou actualizar.</span>" #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "&Enviar relatório completo (recomendado; %s)" #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "Relatório reduzido (ligação à internet lenta; %s)" #~ msgid "_Ignore future crashes of this program version" #~ msgstr "_Ignorar paragens futuras desta versão do programa" #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "Enviar relatório &reduzido (ligação à internet lenta; %s)" #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "Isto irá remover alguns elementos grandes do relatório. Estes são muito " #~ "úteis para que os programadores possam depurar o problema, mas podem ser " #~ "demasiado grandes para os poder transferir caso tenha uma ligação lenta à " #~ "internet." #~ msgid "&Report Problem..." #~ msgstr "&Reportar um Problema" #~ msgid "_Report Problem..." #~ msgstr "_Relatar Problema" #~ msgid "Kernel problem" #~ msgstr "Problema no Kernel" #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "" #~ "Pode ajudar os programadores a corrigir o pacote informando-os do problema." #~ msgid "Content of the report" #~ msgstr "Conteúdo do relatório" #~ msgid "Package problem" #~ msgstr "Problema no Pacote" #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "O sistema encontrou um problema grave do kernel." #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Isto ocorreu durante uma suspensão anterior e impediu-o de resumir " #~ "correctamente." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Isto ocorreu durante uma hibernação anterior e impediu-o de resumir " #~ "correctamente." #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "O pacote %s não é genuíno" #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [opções] <relatório do problema apport | ID do crash>" #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "número incorrect de argumentos; utilize --help para uma ajuda rápida" #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "" #~ "você precisa de fazer uma operação local (-s, -g, -o) ou fornecer um arquivo " #~ "de autenticação (--auth); ver --help para uma ajuda rápida" �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/pt_BR.po���������������������������������������������������������������������������0000644�0000000�0000000�00000142655�12677230222�013233� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Portuguese (Brazil) translation for apport # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:46+0000\n" "Last-Translator: Neliton Pereira Jr. <nelitonpjr@gmail.com>\n" "Language-Team: Portuguese (Brazil) <pt_BR@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: \n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "Apport" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "Cancelar" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "OK" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Relatório de erros" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>Desculpe, ocorreu um erro interno.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "Se você observar outros problemas, tente reiniciar o computador." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "Envie um relatório de erros para ajudar a corrigir este problema" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "Ignorar problemas futuros desta versão do programa" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Mostrar detalhes" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "_Examinar localmente" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Deixe fechado" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Continuar" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>Coletando informações sobre o problema</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "A informação que está sendo coletada pode ajudar os desenvolvedores a " "corrigir o problema que você relatou." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "Enviando informações sobre o problema" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>Enviando informações sobre o problema</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "A informação coletada está sendo enviada ao sistema de rastreamento de " "erros. Isto pode levar alguns minutos." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Arquivo Apport falhou" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(dados binários)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "Desculpe, o aplicativo %s parou de funcionar inesperadamente." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "Desculpe, %s fechou inesperadamente." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "Desculpe, %s apresentou um erro interno." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Enviar o relatório do problema aos desenvolvedores?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Enviar" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "Forçar fechamento" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Reexecutar" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "O aplicativo %s parou de responder." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "O programa \"%s\" parou de responder." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Pacote: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "Desculpe, ocorreu um problema durante a instalação do programa." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "O aplicativo %s apresentou um erro interno." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "O aplicativo %s foi fechado inesperadamente." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "Ignorar futuros problemas deste tipo" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Ocultar detalhes" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Uso: %s <relatório> <diretório de destino>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "Diretório de destino existe e não está vazio." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "Nome de usuário:" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "Senha:" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "Coletando Informações sobre o Problema" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Coletando informações sobre o problema" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "As informações coletadas podem ser enviadas aos desenvolvedores para " "melhorar aplicativo. Isto pode demorar alguns minutos." #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "Enviando Informações sobre o Problema" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Coletar informações sobre o sistema" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "É necessário autenticar para coletar informações sobre o sistema para o " "relatório deste problema" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "Relatórios de problemas do sistema" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" "Por favor, informe sua senha para acessar os relatórios de problemas dos " "programas do sistema" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Informar um problema..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Relatar um mal-funcionamento aos desenvolvedores" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "Consulte o manual para detalhes." #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "especificar o nome do arquivo de log produzido pelo valgrind" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" "reutilizar um diretório para área local criado anteriormente (SDIR) ou, caso " "este não exista, criar um" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" "não criar ou reutilizar um diretório de área local para símbolos de " "depuração adicionais, confie apenas nos símbolos de depuração instalados." #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" "reutilizar um diretório de cache (CDIR) criado previamente ou, caso não " "exista, criar um" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" "reportar download/progresso de instalação ao instalar pacotes na área local" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" "o executável sendo executado pela ferramenta de checagem de memória do " "valgrind para detecção de vazamento de memória" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" "Instalar um pacote extra na área local (pode ser especificado múltiplas " "vezes)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "Erro: %s não é um executável. Interrompendo." #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" "Seu sistema poderá se tornar instável agora e poderá ser necessário reiniciá-" "lo." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" "Não colocar as novas análises no relatório, mas mostrá-las na saída padrão." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "Iniciar uma sessão interativa do gdb com o core dump do relatório (-o " "ignorado; não reescreve o relatório)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "Escrever relatório modificado para determinado arquivo ao invés de alterar o " "relatório original" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" "Remove o core dump do relatório após a regeneração da análise da pilha" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "Sobrescrever os relatórios \"CoreFile\"" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "Sobrescrever os relatórios \"ExecutablePath\"" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "Sobrescrever os relatórios \"ProcMaps\"" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "Reconstruir o relatório de informação do pacote" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" "Constrói uma área local temporária e baixa/instala os pacotes necessários e " "símbolos de depuração lá; sem esta opção ele supõe que que os pacotes " "necessários e símbolos de depuração já estão instalados no sistema. O " "argumento aponta para o diretório base de configuração do sistema de " "empacotamento; se você especificar \"sistema\", ele usará os arquivos de " "configuração do sistema, mas então será capaz de rastrear somente falhas que " "ocorreram na versão em execução no momento." #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" "Relatar progresso ao baixar/instalar durante instalação do pacotes na área " "local" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "Inserir hora antes das mensagens de registro, para operações em lote" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "Diretório de cache para pacotes baixados na área local" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" "Diretório para pacotes descompactados. Execuções futuras assumirão que " "qualquer pacote obtido via download também será extraído nesta área local." #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" "Caminho para um arquivo com as informações de autenticação do banco de dados " "de falhas. Isto é usado quando especificado uma identificação (ID) de erro " "para carregar o rastreamento de pilha refeito (somente se não -g, -o, nem -s " "forem especificadas)" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "Exibir rastreamentos de pilhas refeitos e pedir confirmação antes de enviá-" "los para o banco de dados de falhas." #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" "Caminho para o banco de dados de duplicados do SQLite (padrão: nenhuma " "verificação duplicação)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "Você não pode usar -C sem -S. Interrompendo." #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "OK para enviar estes como anexos? [y / n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "Este pacote não parece estar instalado corretamente" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "Este não é um pacote oficial do %s. Por favor, remova qualquer pacote de " "terceiros e tente novamente." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "Você tem alguns pacotes obsoletos instalados. Por favor atualize os pacotes " "a seguir e verifique se o problema continua a ocorrer:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "programa desconhecido" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Desculpe, o programa \"%s\" fechou inesperadamente" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Problema em %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "Seu computador não possui memória suficiente para analisar automaticamente o " "problema e enviar um relatório aos desenvolvedores." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Relatório do problema inválido" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "Você não tem permissão para acessar esse relatório de problema." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Erro" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "Não há espaço suficiente em disco para processar este relatório." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "Nenhum pacote especificado" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "Você precisa especificar o pacote ou o PID. Veja --help para mais " "informações." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Permissão negada" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "O processo especificado não pertence a você. Por favor, execute este " "programa como dono do processo ou como usuário root." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "PID inválido" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "O ID do processo especificado não pertence a um programa." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "O script de sintoma %s não determinou um pacote afetado." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "O pacote %s não existe." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "Não foi possível criar o relatório" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "Atualizando o relatório de problema" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "Você não é o relator ou assinante deste relatório de problema, o relatório " "está duplicado ou já foi fechado.\n" "Por favor, crie um novo relatório utilizando o \"apport-bug\"" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "Você não é o relator do presente relatório de problema. É muito mais fácil " "marcar um bug como uma duplicação de outro do que para mover os seus " "comentários e anexos de um novo bug.\n" "\n" "Posteriormente, recomendamos que você relate um bug novo usando o \"apport-" "bug\" e fazer um comentário a este erro sobre o que um arquivo.\n" "\n" "Você realmente deseja continuar?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "Nenhuma informação adicional foi coletada." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "Que tipo de problema você deseja informar?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Sintoma desconhecido" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "O sintoma \"%s\" não é conhecido." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "Depois de fechar esta mensagem, por favor, clique na janela do aplicativo " "para relatar um problema sobre ele." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "xprop falhou ao determinar a ID do processo da janela" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "%prog <relato número>" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "Especificar o nome do pacote." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" "Adicione um rótulo a mais ao relatório. Pode ser especificado várias vezes." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [opções] [sintoma|pid|pacote|localização do programa|arquivo " ".apport/.crash]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Iniciar em modo de classificação de bug. Requer --package e um opcional --" "pid, ou somente um --pid. Se nenhum é fornecido, mostra uma lista de " "sintomas conhecidos. (Automático se um único argumento é fornecido)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "Clique na janela como alvo para preencher um relatório de problema." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" "Iniciar em modo de atualização de erro. Aceita o parâmetro --package." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "Submete um relatório de bug sobre um sintoma. (Automático se um nome de " "sintoma é fornecido como único argumento)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "Especifica um nome de pacote em modo --file-bug. Opcional se um --pid é " "especificado. (Automático se um nome de pacote é fornecido como único " "argumento)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "Especifique um programa em funcionamento no modo --file-bug. Desta forma, o " "relatório de erro conterá mais informações. (Implícito se pid for dado como " "único argumento.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "O pid fornecido é de uma aplicação pendente." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "Relatar a falha de um arquivo .apport ou .crash fornecido ao invés dos " "arquivos pendentes em %s. (Automático se o arquivo é fornecido como único " "argumento)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" "No modo de arquivamento de erro, salve as informações coletadas em um " "arquivo em vez de relatá-las. Esse arquivo pode ser reportado mais tarde ou " "de outra máquina." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Imprimir o número da versão do Apport." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" "Isto irá executar o apport-retrace em uma janela de Terminal para examinar a " "falha." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "Executar sessão gdb" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "Executar sessão gdb sem baixar símbolos de depuração" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "Atualizar %s com rastreamento de pilha totalmente simbólico" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" "Este problema relatado se aplica a um programa que não está mais instalado." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" "O problema aconteceu com o programa %s que mudou desde que o problema " "ocorreu." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "Este relatório de erros está danificado e não pode ser processado." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "O relatório pertence a um pacote que não está instalado." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "Um erro ocorreu ao tentar processar esse relatório de problema:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "Não foi possível determinar o pacote ou nome do pacote fonte." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Não é possível iniciar navegador web" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "Não é possível iniciar navegador web para abrir %s." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" "Por favor digite as informações da sua conta para o sistema de monitoramento " "de falhas %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Problema na rede" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "Não é possível conectar em uma base de dados quebrada, por favor verifique " "sua conexão com a internet." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Memória exaurida" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "Seu sistema não tem memória o suficiente para processar este relatório de " "erro." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "O problema não pode ser relatado:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Problema já informado" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "Este problema já foi relatado no relatório do erro mostrado no navegador. " "Por favor, verifique se você pode adicionar alguma informação adicional que " "possa ser útil aos desenvolvedores." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "O problema já foi reportado aos desenvolvedores. Obrigado!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "O processo foi terminado muito perto do final, e nos parece que foi " "completado normalmente." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Pressione qualquer tecla para continuar..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "O que você gostaria de fazer? Suas opções são:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Por favor escolha (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i bytes)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "Depois que o relatório do problema for enviado, por favor preencha o \n" "formulário que será aberto automaticamente no navegador web." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "&Enviar relatório (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "&Examinar localmente" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "&Ver relatório" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" "&Manter arquivo do relatório para enviar mais tarde ou copiar para outro " "lugar." #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "Cancelar e &ignorar futuros travamentos dessa versão do programa." #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Cancelar" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Arquivo do relatório de problema:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&Confirmar" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Erro: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "A informação coletada pode ser enviada aos desenvolvedores para melhorar\n" "o aplicativo. Isso pode demorar alguns minutos." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "A informação coletada está sendo enviada ao sistema de rastreamento de " "erros.\n" "Isso pode demorar alguns minutos." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Pronto" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "nenhum" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Selecionado: %s. Multiplas opções:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Escolhas:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Caminho para o arquivo (Enter para cancelar):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "O arquivo não existe." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "Isto é um diretório." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "Para continuar, você deve visitar a seguinte URL:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "Você pode executar um navegador agora, ou copiar esta URL dentro de um " "navegador em outro computador." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Executar o navegador agora" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" "Nenhum relatório de travamentos pendente. Tente --help para maiores " "informações." #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "O pacote \"%s\" falhou na instalação ou atualização." #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "Relatório completo (recomendado; %s)" #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>Enviar relatório de problemas aos desenvolvedores?</b></big>\n" #~ "\n" #~ "Após o relatório de problemas ser enviado, preencha o formulário no " #~ "navegador que se abrirá automaticamente." #, python-format #~ msgid "Sorry, %s closed unexpectedly" #~ msgstr "Desculpe, %s fechou inesperadamente" #~ msgid "&Details..." #~ msgstr "&Detalhes..." #~ msgid "_Send Report" #~ msgstr "_Enviar Relatório" #~ msgid "Generic error" #~ msgstr "Erro genérico" #~ msgid "" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "Após o relatório de problemas ser enviado, preencha o formulário no " #~ "navegador que se abrirá automaticamente." #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s fechou inesperadamente em %s em %s." #~ msgid "Restart _Program" #~ msgstr "Reiniciar o _Programa" #, python-format #~ msgid "Sorry, the package \"%s\" failed to install or upgrade." #~ msgstr "Desculpe, o pacote \"%s\" falhou na instalação ou atualização." #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">Desculpe, falha ao instalar ou " #~ "atualizar o pacote \"%s\".</span>" #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "&Enviar relatório completo (recomendado; %s)" #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "Relatório reduzido (baixa conexão de internet; %s)" #, python-format #~ msgid "Sorry, %s closed unexpectedly." #~ msgstr "Desculpe, %s fechou inesperadamente." #~ msgid "_Ignore future crashes of this program version" #~ msgstr "_Ignorar travamentos futuros nesta versão do programa" #~ msgid "Restart &Program" #~ msgstr "Reiniciar o &Programa" #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "Enviar relatório &resumido (conexão lenta com a internet; %s)" #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "Isto removerá alguns itens grandes do relatório. Estes são muito úteis para " #~ "que os desenvolvedores solucionem o problema, mas podem ser demasiadamente " #~ "grandes para que você os envie caso tenha uma conexão lenta com a Internet." #~ msgid "&Report Problem..." #~ msgstr "&Reportar Problema..." #~ msgid "&Send" #~ msgstr "&Enviar" #~ msgid "Kernel problem" #~ msgstr "Problema no kernel" #~ msgid "&Ignore future crashes of this program version" #~ msgstr "&Ignorar travamentos futuros desta versão do programa" #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "" #~ "Você pode ajudar os desenvolvedores a reparar o pacote informando o problema." #, python-format #~ msgid "Sorry, the program \"%s\" closed unexpectedly." #~ msgstr "Desculpe, o programa %s fechou inesperadamente" #~ msgid "Content of the report" #~ msgstr "Índice do relatório" #~ msgid "Package problem" #~ msgstr "Problema no pacote" #~ msgid "_Report Problem..." #~ msgstr "Info_rmar Problema..." #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "Seu sistema encontrou um grave problema no kernel" #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "" #~ "Você pode ajudar os desenvolvedores a corrigir o problema, reportando-o." #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Isto ocorreu durante uma suspensão anterior e preveniu um reinício correto." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Isto ocorreu durante uma hibernação anterior e preveniu um reinício correto." #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [opções] <relatório de problema apport | id da falha>" #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "" #~ "você precisa fazer uma operação local (-s, -g, -o) ou fornecer um arquivo de " #~ "autenticação (--auth); veja --help para uma ajuda rápida" #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "número de argumentos incorretos; use --help para uma ajuda rápida" #~ msgid "Application problem" #~ msgstr "Problema no aplicativo" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "Se você não estava fazendo nada confidencial (inserindo senhas ou a outra " #~ "informação privada), você pode ajudar a melhorar este aplicativo relatando o " #~ "problema ocorrido." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "Se você não estava fazendo nada confidencial (digitando senhas ou outras\n" #~ "informações privadas), você pode ajudar a melhorar o aplicativo relatando\n" #~ "o problema." #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "Este não é um pacote %s genuíno" #~ msgid "Send this data to the developers?" #~ msgstr "Deseja enviar estes dados para os desenvolvedores?" #, python-format #~ msgid "Sorry, the application %s has closed unexpectedly." #~ msgstr "Desculpe, o aplicativo %s fechou inesperadamente." #~ msgid "Your system might become unstablenow and might need to be restarted." #~ msgstr "" #~ "O seu sistema pode se tornar instável agora e pode precisar ser reiniciado." �����������������������������������������������������������������������������������apport-2.20.1/po/ro.po������������������������������������������������������������������������������0000644�0000000�0000000�00000141374�12677230222�012642� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Romanian translation for apport # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-09-13 13:17+0000\n" "Last-Translator: Meriuță Cornel <meriutacornel@neacornel.eu>\n" "Language-Team: Romanian <ro@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: ro\n" "100 > 19) || ((n % 100 == 0) && (n != 0))) ? 2: 1))\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "Apport" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "Anulează" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "În regulă" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Raport eroare" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>A apărut o eroare internă.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "Dacă întâmpinați alte probleme, încercați să reporniți calculatorul." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" "Trimiteți un raport de eroare pentru a ajuta la rezolvarea acestei probleme" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "" "Ignoră viitoarele probleme apărute în versiunea curentă a programului" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Arată detalii" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "_Examinează local" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Păstrează închis" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Continuă" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>Se colecteză informații despre problemă</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "Se colectează informații care pot ajuta programatorii să remedieze problema " "pe care o raportați." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "Se încarcă informațiile despre problemă" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>Se trimit informațiile despre problemă</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "Informațiile colectate sunt transmise sistemului de urmărire a " "defecțiunilor. Această operațiune poate dura câteva minute." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Fișier despre o avarie Apport" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(date binare)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "Ne pare rău, aplicația %s s-a oprit pe neașteptate." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "%s s-a închis neașteptat." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "%s a produs o eroare internă." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Trimiteți raportul problemei la programatori?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Trimite" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "Închidere forțată" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Repornire" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "Aplicația %s nu mai răspunde." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "Programul \"%s\" nu mai răspunde." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Pachet: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "A apărut o problemă la instalarea programului." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "Aplicația %s a întâmpinat o eroare internă." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "Aplicația %s s-a închis neașteptat." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "Ignoră viitoarele probleme de acest tip" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Ascunde detaliile" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Utilizare: %s <raport> <dosar destinație>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "Dosarul destinație există și nu este gol." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "Nume utilizator:" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "Parolă" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "Se colectează informațiile problemei" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Se colectează informațiile problemei" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "Informațiile colectate pot fi trimise dezvoltatorilor pentru a îmbunătății " "aplicația. Acest lucru poate dura câteva minute." #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "Se încarcă informațiile problemei" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Colectare informații despre sistem" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "Pentru a se colecta informații despre sistem necesare raportării problemei " "trebuie să vă autentificați" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "Rapoarte despre probleme de sistem" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" "Pentru a accesa rapoartele despre problemele cu programele sistemului " "trebuie să vă introduceți parola" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Raportează o problemă..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Raportează o eroare programatorilor" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "Pentru detalii consultați paginile manualului." #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "specificați numele fișierului jurnal produs de valgrind" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" "reutilizează un dosar izolat (sandbox) creat anterior (SDIR) sau, dacă nu " "există, creați unul" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" "nu se creează sau reutilizează un dosar izolat (sandbox) pentru simboluri " "suplimentare pentru depanare ci se bazează numai pe simbolurile pentru " "depanare instalate." #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" "reutilizează un dosar cache (CDIR) creat anterior sau, dacă nu există, " "creați unul" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" "raportează progresul pentru descărcare/instalare la instalarea pachetelor în " "dosarul izolat" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" "executabilul care este rulat sub utilitarul valgrind pentru verificarea " "pierderilor de memorie" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" "Instalează un pachet suplimentar în zona protejată (poate fi specificat de " "mai multe ori)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "Eroare: %s nu este un fișier executabil. Se oprește." #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" "Sistemul poate deveni instabil după acest pas și s-ar putea să trebuiască " "repornit." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "Nu include noile trasări în raport, ci scrie-le la stdout." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "Pornește o sesiune gdb interactivă cu fișierul core dump din raport (-o " "ignorat; nu va rescrie raportul)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "Scrie raportul modificat într-un fișier dat în loc de a schimba raportul " "original" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" "Șterge core-dump-ul din raport după regenerarea trasării stivei apelurilor" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "Înlocuiește CoreFile din raport" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "Înlocuiește ExecutablePath din raport" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "Înlocuiește ProcMaps din raport" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "Reconstruiește informațiile despre pachet din raport" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" "Construiește o zonă protejată temporară și descarcă/instalează aici " "pachetele necesare și simbolurile pentru depanare; fără această opțiune se " "presupune că pachetele necesare și simbolurile pentru depanare sunt " "instalate deja în sistem. Argumentul indică dosarul de bază al configurației " "sistemului de pachete; dacă specificați „sistem”, vor fi folosite fișierele " "de configurare ale sistemului, însă în acest mod vor putea fi urmărite numai " "erorile apărute în versiunea curentă." #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" "Arată progresul descărcării/instalării pentru instalarea pachetelor în zona " "protejată" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" "Adaugă marcaje de timp mesajelor din jurnale, pentru operații în bloc" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "Dosarul cache pentru pachetele descărcate în zona protejată" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" "Dosarul pentru pachete nedespachetate. La executările viitoare se va " "presupune că orice pachet deja descărcat este, de asemenea, extras în acest " "dosar izolat." #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" "Calea către un fișier cu informații de autentificare pentru baza de date " "despre avarii. Aceasta este folosită când se specifică un ID al unei avarii " "pentru a trimite trasările de stivă de apeluri retrasate (doar dacă niciuna " "dintre -g, -o și -s nu au fost specificate)" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "Afișează trasările de stivă de apeluri retrasate și cere confirmarea înainte " "de a le trimite în baza de date despre avarii." #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" "Calea către baza de date sqlite duplicată (implicit: fără verificarea " "duplicatelor)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "Nu puteți utiliza -C fără -S. Se oprește." #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "Se trimit aceste atașamente? [y/n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "Se pare că acest pachet nu este instalat corect" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "Acesta nu este un pachet oficial %s. Ștergeți toate pachetele de la terți și " "încercați din nou." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "Aveți instalate versiuni vechi ale unor pachete. Vă rugăm să actualizați " "următoarele pachete și să verificați dacă problema continuă să apară:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "program necunoscut" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Ne cerem scuze, programul „%s” s-a întrerupt într-un mod neașteptat" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Problemă în %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "Calculatorul dumneavoastră nu dispune de suficientă memorie pentru a analiza " "automat problema și a trimite un raport despre eroare programatorilor." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Raport de probleme nevalid" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "Accesul la raport nu vă este permis." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Eroare" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" "Nu există suficient spațiu disponibil pe disc pentru a procesa acest raport." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "Nu s-a specificat nici un pachet" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "Trebuie să specificați un pachet sau un PID. Pentru mai multe informații " "consultați --help." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Permisiune refuzată" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "Procesul selectat nu aparține acestui utilizator. Executați acest program în " "calitate de proprietar al procesului sau de utilizator „root”." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "PID nevalid" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "Identificatorul de proces specificat nu aparține unui program." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "Scriptul pentru simptome %s, nu a detectat niciun pachet afectat" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "Pachetul %s nu există" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "Raportul nu poate fi creat" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "Se actualizează raportul de probleme" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "Nu sunteți creatorul sau abonatul acestui raport de probleme, sau raportul " "este un duplicat, sau este deja închis.\n" "\n" "Creați un nou raport, utilizând „apport-bug”." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "Nu sunteți raportorul acestui raport de problemă. Este mult mai ușor de " "marcat o eroare ca duplicat al alteia decât să fie mutate comentariile și " "atașamentele dvs. la o nouă eroare.\n" "\n" "De aceea, vă recomandăm să înregistrați un raport de eroare nou, utilizând " "„apport-bug”, și să faceți un comentariu în acest raport de eroare despre " "cea pe care o înregistrați.\n" "\n" "Sigur doriți să continuați?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "Nu au fost colectate informații suplimentare." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "Ce fel de problemă doriți să raportați?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Simptom necunoscut" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "Simptomul „%s” nu este cunoscut." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "După închiderea acestui mesaj faceți clic pe fereastra unei aplicații pentru " "a raporta o problemă despre ea." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "xprop nu a reușit să determine ID-ul de proces al ferestrei" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "%prog <număr raport>" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "Specificați numele pachetului." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" "Adăugă o etichetă suplimentară raportului. Pot fi specificate mai multe " "etichete." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [opțiuni] [fișier simptom|pid|pachet|program cale|.apport/.crash]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Pornește în modul de trimitere a unui raport de defecțiune. Necesită --" "package și un --pid opțional sau doar un --pid. Dacă niciunul dintre ele nu " "este prezent, atunci afișează o listă de simptome cunoscute. (Implicit, dacă " "se transmite un singur argument)." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "Clic pe o fereastră pentru a raporta o problemă despre aceasta." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" "Pornește în modul de actualizare a defecțiunii. Poți lua un --package " "opțional." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "Trimite un raport de defecțiune despre un simptom. (Implicit, dacă numele " "simptomului este dat ca singurul argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "Specifică un nume de pachet în modul --file-bug. Este opțional dacă un --pid " "este specificat. (Implicit dacă numele pachetului este dat ca singurul " "argument)." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "Specificați un program care rulează în modul --file-bug. În cazul în care " "acest lucru este specificat, raportul de eroare va conține mai multe " "informații. (Opțiune implicită dacă PID este unicul argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "PID-ul furnizat identifică o aplicație care nu mai răspunde." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "Raportează avaria din fișierul .apport sau .crash și nu a celor în așteptare " "din %s. (Implicit, dacă fișierul este dat ca singurul argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" "În modul de raportare de probleme, salvează informațiile colectate într-un " "fișier, în loc de a le raporta. Acest fișier poate fi apoi raportat mai " "târziu de pe o altă mașină." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Tipărește numărul de versiune al Apport." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" "Această comandă va lansa apport-retrace într-o fereastră terminal pentru a " "examina eroarea." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "Rulare sesiune gdb" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "Rulați o sesiune gdb fără descărcarea simbolurilor pentru depanare" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "Actualizați %s cu urmărirea întregii stive" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "Acest raport se referă la un program care nu mai este instalat." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" "Problema a apărut la programul %s, care a fost modificat față de momentul " "apariției erorii." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "Acest raport de probleme este deteriorat și nu poate fi procesat." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "Raportul aparține de un pachet care nu este instalat." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" "A apărut o eroare în încercarea de a procesa raportarea acestei probleme:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "Numele pachetului sau al pachetului sursă nu a putut fi determinat." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Nu s-a putut porni navigatorul web" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "Nu s-a putut porni navigatorul web pentru a deschide %s." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" "Introduceți informațiile despre cont pentru sistemul de monitorizare a " "defecțiunilor %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Problemă de rețea" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "Nu s-a reușit conexiunea la baza de date despre avarii, verificați " "conexiunea la internet." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Memorie consumată" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "Sistemul nu dispune de suficientă memorie pentru a procesa acest raport de " "avarie." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "Problema nu poate fi raportată:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Problemă deja cunoscută" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "Această problemă a fost deja raportată în raportul de defecțiune afișat în " "navigatorul web. Verificați dacă puteți adăuga informații suplimentare care " "ar putea fi utile programatorilor." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "Această problemă a fost raportată deja dezvoltatorilor. Vă mulțumim!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "Procesul de revenire s-a blocat aproape de final și a părut că s-a terminat " "normal." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Pentru a continua, apăsați orice tastă..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "Ce doriți să faceți? Opțiunile sunt:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Vă rugăm să alegeți (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i octeți)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "După trimiterea raportului problemei, vă rugăm să completați\n" "formularul din pagina deschisă automat." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "&Trimite raport (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "&Examinează local" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "&Vizualizare raport" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" "&Păstrează fișierul de raport pentru a fi trimis ulterior sau copiat în altă " "parte" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" "Renunță și &ignoră viitoarele avarii ale acestei versiuni a programului" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Anulează" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Fișier raport problemă:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&Confirmă" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Eroare: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "Informațiile colectate pot fi trimise programatorilor pentru a îmbunătăți\n" "aplicația. Este posibil să dureze câteva minute." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "Informațiile colectate sunt trimise sistemului de urmărire a defecțiunilor.\n" "Este posibil să dureze câteva minute." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Gata" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "niciunul" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Selectat: %s. Variante multiple:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Variante:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Calea către fișier (apăsați pe Enter pentru a anula):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "Fișierul nu există." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "Acesta este un dosar." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "Pentru a continua, trebuie să accesați următorul URL:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "Puteți lansa un navigator acum sau copiați acest URL într-un navigator pe " "alt calculator." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Lansează un navigator" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" "Nu există nici un raport de avarie în curs. Pentru mai multe informații, " "consultați --help." #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "Pachetul „%s” a eșuat la instalare sau actualizare." #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "Raport complet (recomandat; %s)" #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>Trimite înştiinţare cu problema către programatorii " #~ "aplicaţiei?</b></big>\n" #~ "\n" #~ "După trimiterea înştiinţării. vă rugăm să completaţi formularul care se va " #~ "deschide automat." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "Dacă nu făceaţi nimic confidenţial (introduceaţi parole sau alte date " #~ "private), puteţi contribui la îmbunătăţirea aplicaţiei prin raportarea " #~ "problemei." #~ msgid "Application problem" #~ msgstr "Problemă în aplicaţie" #~ msgid "_Send Report" #~ msgstr "_Trimite raportul" #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s s-a închis neașteptat în data de %s la %s." #~ msgid "Restart _Program" #~ msgstr "Reporneşte _Aplicaţia" #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">Din păcate, pachetul \"%s\" nu a fost " #~ "instalat sau actualizat.</span>" #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "&Trimite rapot complet (recomandat; %s)" #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "Raport redus (conexiune lentă la Internet; %s)" #~ msgid "_Ignore future crashes of this program version" #~ msgstr "_Ignoră erori viitoare în această versiune a programului" #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "Trimite raport &redus (pentru conexiuni slabe la Internet; %s)" #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "Aceasta va îndepărta părţi substanţiale din raport. Aceste informaţii sunt " #~ "utile dezvoltatorilor pentru a depana problema, dar pot fi prea mari pentru " #~ "a le trimite dacă conexiunea la internet e lentă." #~ msgid "&Report Problem..." #~ msgstr "&Raportați problema..." #~ msgid "_Report Problem..." #~ msgstr "_Raportează Problema" #~ msgid "Kernel problem" #~ msgstr "Problemă cu nucleul (kernel-ul)" #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "" #~ "Puteţi să-i ajutaţi pe dezvoltatori să repare pachetul prin raportarea " #~ "problemei." #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "Acest pachet %s nu este autentic" #~ msgid "Content of the report" #~ msgstr "Conţinutul raportului" #~ msgid "Package problem" #~ msgstr "Problemă cu pachetul" #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "Puteți ajuta dezvoltatori prin raportarea ei." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "În cazul în care nu efectuați operații confidențiale (introducere de parolă " #~ "sau de alte\n" #~ "informații private), puteți ajuta la îmbunătățirea aplicației prin " #~ "raportarea problemei." #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "A apărut o problemă gravă în nucleul sistemului." #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Aceasta s-a întâmplat într-o operație anterioară de suspendare și a " #~ "împiedicat revenirea corectă." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Aceasta s-a întâmplat într-o operație anterioară de hibernare și a " #~ "împiedicat revenirea corectă." #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "" #~ "%prog [opțiuni] <raport problemă apport | identificator terminare " #~ "neașteptată>" #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "" #~ "trebuie să efectuați o operație locală (-s, -g, -o) sau să oferiți un fișier " #~ "de autentificare (--auth); citiți --help pentru un ajutor scurt" #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "număr de argument incorect; folosiți --help pentru un ajutor scurt" #, python-format #~ msgid "Sorry, the application %s has closed unexpectedly." #~ msgstr "Aplicația %s s-a închis neașteptat." #~ msgid "Your system might become unstablenow and might need to be restarted." #~ msgstr "" #~ "Sistemul dumneavoastră s-ar putea să fi devenit instabil şi s-ar putea să " #~ "fiţi nevoiţi să-l reporniţi." ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/ru.po������������������������������������������������������������������������������0000644�0000000�0000000�00000162023�12677230222�012642� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Russian translation for apport # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:46+0000\n" "Last-Translator: Martin Pitt <martin.pitt@ubuntu.com>\n" "Language-Team: Russian <ru@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: ru\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "Apport" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "Отмена" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "OK" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Отчёт о неполадке" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>Извините, возникла внутренняя ошибка.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" "При возникновении этой неполадки в дальнейшем попробуйте перезапустить " "компьютер." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "Отправить отчёт о неполадке в систему учёта ошибок" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "Игнорировать будущие сбои в этой версии программы" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Показать подробности" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "_Локальная проверка" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Оставить закрытым" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Продолжить" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>Сбор информации о неполадке</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "Производится сбор информации, которая может помочь разработчикам исправить " "эту ошибку." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "Передача информации о неполадке" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>Передача сведений о неполадке</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "Собранные данные пересылаются в систему учёта ошибок. Это может занять " "несколько минут." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Файл отчета Apport" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(двоичные данные)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "Извините, приложение %s внезапно завершилось." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "Извините, %s было непредвиденно закрыто." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "Извините, возникла внутренняя ошибка %s." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Отправить отчёт об ошибке разработчикам?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Отправить" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "Принудительное завершение" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Перезапустить" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "Приложение «%s» перестало отвечать." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "Программа «%s» перестала отвечать." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Пакет: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "" "Извините, обнаружена неполадка во время установки программного обеспечения." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "В приложении %s произошла внутренняя ошибка." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "Приложение %s внезапно закрылось." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "Игнорировать этот тип неполадок в дальнейшем" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Скрыть подробности" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Использование: %s <отчет> <папка назначения>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "Папка назначения существует и не пуста." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "Имя пользователя:" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "Пароль:" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "Сбор информации о неполадке" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Сбор информации о проблеме" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "Собранную информацию можно отправить разработчикам чтобы улучшить " "приложение. Это может занять несколько минут." #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "Передача информации о неполадке" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Собрать сведения о системе" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "Чтобы отправить отчёт о неполадке и собрать сведения о системе, необходимо " "выполнить аутентификацию" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "Отчёты о системных ошибках" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" "Введите свой пароль для доступа к отчётам об ошибках в системных программах" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Сообщить о неполадке..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Сообщить о недоработке разработчикам" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "Смотрите подробности в man-странице." #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "укажите имя log-файла для valgrind" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" "использовать ранее созданный каталог песочницы (SDIR) или создать его если " "он не существует" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" "не создавать и не использовать каталог песочницы для дополнительных символов " "отладки, а полагаться лишь на установленные символы отладки." #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" "использовать ранее созданный каталог кэша (CDIR) или создать его если он не " "существует" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" "показывать прогресс загрузки/установки во время установки пакетов в песочницу" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" "исполняемый файл, который запускается под контролем valgrind memcheck для " "определения утечек памяти" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" "Установить во временную среду дополнительный пакет (может указываться " "несколько раз)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "Ошибка: %s — не исполняемый файл. Остановка." #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "Система может стать нестабильной, возможно потребуется перезагрузка." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" "Не добавлять новые трассировки в отчет, а посылать на стандартный вывод." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "Запустить интерактивный сеанс gdb с дампом ядра из отчёта (-o игнорируется; " "отчёт не перезаписывается)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "Сохранить измененный отчет в файл вместо изменения оригинального отчета" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "Удалить дамп ядра из отчёта после восстановления трассировки стека" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "Заменить CoreFile в отчёте" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "Заменить ExecutablePath в отчёте" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "Заменить ProcMaps в отчёте" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "Заново построить информацию о пакетах в отчёте" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" "Создать временную среду, затем загрузить/установить в неё необходимые пакеты " "и отладочные символы; без этого параметра предполагается, что необходимые " "пакеты и отладочные символы в системе уже установлены. Аргумент указывает на " "базовую папку конфигурации системы пакетов; если вы указали \"system\", " "будут использоваться системные файлы конфигурации, но только в случае " "обнаружения аварийных ситуаций, произошедших в выпуске системы, работающем в " "данный момент." #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" "Сообщать о ходе выполнения загрузки/установки пакетов во временную среду" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" "Добавлять временные отметки до сообщений в журнале, для групповых операций" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" "Создавать и использовать сторонние репозитории из источников, указанных в " "отчётах" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "Папка для сохранения пакетов, загружаемых во временную среду" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" "Директория для распаковки пакетов. При последующих запусках все уже " "загруженные пакеты будут распаковываться в это изолированное окружение." #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" "Путь к файлу с информацией о проверке подлинности базы сбоев. Используется " "при указании ID сбоя для отправки трассировок стека (только когда -g, -o или " "-s не указаны)" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "Отобразить трассировки и запросить подтверждение перед их отправкой в базу " "данных сбоев." #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" "Путь к дублирующей базе данных sqlite (по умолчанию: без проверки дубликатов)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "Нельзя использовать -C без -S. Остановка." #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "Отправить эти приложения? [y/n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "Возможно, этот пакет установлен неправильно" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "Этот пакет не является официальным пакетом %s. Пожалуйста, удалите все " "сторонние пакеты и попробуйте снова." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "В вашей системе установлены устаревшие версии некоторых пакетов. Обновите " "следующие пакеты и проверьте, осталась ли проблема:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "неизвестная программа" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Извините, программа %s аварийно завершила свою работу" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Неполадка в %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "В вашем компьютере недостаточно свободной памяти, чтобы автоматически " "проанализировать неполадку и отправить отчет разработчикам." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Неверный отчёт об ошибке" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "У вас нет доступа к отчёту о неполадке." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Ошибка" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "Недостаточно места на диске для обработки этого отчёта." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "Не указан пакет" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "Необходимо указать пакет или PID. Запустите программу с ключом --help для " "получения дополнительной информации." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "В доступе отказано" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "Указанный процесс запущен другим пользователем. Запустите эту программу с " "правами владельца процесса или администратора системы." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "Неверный PID" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "Указанный PID принадлежит другому процессу." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "Симптоматический скрипт %s не может определить затронутый пакет" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "Пакет %s не существует" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "Невозможно создать отчет" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "Обновление отчета о проблеме" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "Вы не являетесь отправителем или получателем отчета об этой проблеме, " "возможно отчет уже существует или уже был закрыт." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "Вы не являетесь создателем данного отчета. Намного проще, отметить ошибку " "как уже существующую, чем создавать свои комментарии и вкладывать их в новую " "ошибку.\n" "\n" "Впоследствии, мы рекомендуем вам подать новое сообщение об ошибке " "использовании \"ошибка apport\", и сделать замечание об этой ошибке в том же " "файле.\n" "\n" "Вы действительно хотите продолжить?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "Дополнительная информация не была собрана." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "О какой проблеме вы бы хотели сообщить?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Неизвестный симптом" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "Симптом «%s» не известен" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "После закрытия этого сообщения, пожалуйста, щелкните по окну приложения, " "чтобы сообщить о проблеме." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "xprop не удалось определить ID процесса этого окна" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "%prog <номер отчета>" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "Задайте имя пакета." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" "Добавить дополнительный тег в отчет. Может быть указан несколько раз." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [параметры] [признак|pid|пакет|путь до программы|.apport/.crash файл]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Запуск в режиме отправки отчёта об ошибке. Требует параметр --package и " "необязательный --pid, или только --pid. Если параметры не переданы, " "отображает список известных симптомов. (Применяется, когда передан " "единственный аргумент.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "Щелкните по целевому окну для заполнения отчёта о проблеме." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" "Запустить в режиме обновления ошибки. Может принимать дополнительный ключ --" "package." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "Отправить отчёт об ошибке с симптомом. (Применяется, когда название симптома " "передано в качестве единственного параметра.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "Указать имя пакета в режиме --file-bug. Необязательно, если указан --pid. " "(Применяется, когда имя пакета передано в качестве единственного параметра.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "Указывает запущенную программу при работе в режиме --file-bug. При этом " "отчет будет содержать больше информации. (Подразумевается, что pid — " "единственный указанный аргумент.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "Указанный идентификатор принадлежит процессу, который не отвечает." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "Отправить данные о сбое из заданного файла .apport или .crash вместо " "ожидаемых в %s. (Применяется, когда файл передан в качестве единственного " "параметра.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" "При работе в режиме отправки отчета, сохраняет информацию в файле вместо ее " "отправки. Этот файл можно будет отправить позднее или с другого компьютера." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Напечатать номер версии Apport." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" "Будет произведён запуск «apport-retrace» в окне терминала для выполнения " "проверки аварийного завершения работы." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "Запустить сеанс gdb" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "Запустить сеанс gdb, не выполняя загрузку отладочных символов" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "Обновить %s с полным отслеживанием символического стека" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "Этот отчет о проблеме относится к программе, которая не установлена." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" "Неполадка произошла с программой %s, в которую были внесены изменения с " "момента её аварийного завершения работы." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "Этот отчёт о неполадке повреждён и не может быть обработан." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "Отчёт относится к пакету, который не был установлен." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "Произошла ошибка при попытке обработать это сообщение о неполадке:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "Не удалось определить имя пакета или имя пакета с исходным кодом." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Не удалось запустить веб-браузер" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "Не удалось запустить веб-браузер, чтобы открыть %s." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" "Пожалуйста, введите данные вашей учетной записи в системе учёта ошибок %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Неполадка с сетью" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "Не удается подключиться к базе данных по сбоям, пожалуйста, проверьте " "подключение к Интернету." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Недостаток памяти" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "В системе недостаточно памяти для обработки этого отчёта об ошибке." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "Не удаётся сообщить о неполадке:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "О неполадке уже известно" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "Об этой неполадке уже известно. Существующий отчёт о ней открыт в вашем " "браузере. Пожалуйста, проверьте, можете ли вы добавить в него иную полезную " "информацию, которая могла бы помочь разработчикам." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" "Сообщение о неисправности отправлено разработчикам. Спасибо за помощь!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" "Это произошло во время предыдущего ждущего режима, что не даёт системе " "правильно выйти из него." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" "Это произошло во время предыдущего спящего режима, что не даёт системе " "правильно выйти из него." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "Процесс создания отчёта завис очень близко к завершению; для нормального " "завершения он должен был появиться." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Чтобы продолжить, нажмите любую клавишу..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "Что вы хотите сделать? Возможные варианты:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Пожалуйста, выберите (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i байт)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "После того, как отчёт будет отправлен, заполните форму\n" "в автоматически открывшемся окне браузера." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "&Отправить отчёт (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "&Локальная проверка" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "&Просмотреть отчёт" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" "&Сохранить файл отчёта для последующей отправки или копирования куда-либо" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "Отменить и &игнорировать будущие сбои в этой версии программы" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "О&тменить" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Файл отчёта о проблеме:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&Подтвердить" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Ошибка: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "Собранная информация может быть направлена разработчикам\n" "для улучшения приложения. Это может занять несколько минут." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "Собранная информация направляется в систему отслеживания ошибок.\n" "Это может занять несколько минут." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Готово" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "пусто" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Выбрано: %s. Несколько вариантов:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Выбор:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Путь к файлу (Enter — отмена):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "Файл не существует." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "Это — директория." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "Чтобы продолжить, вы должны пройти по следующему адресу:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "Теперь вы можете открыть браузер или скопировать URL в браузер на другой " "компьютер." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Запустить браузер" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "Нет ожидающих сообщений о сбоях. Попробуйте ключ --help." #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "Не удалось установить или обновить пакет «%s»." #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "Полный отчёт (рекомендуется; %s)" #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>Переслать разработчикам отчёт о неполадке?</b></big>\n" #~ "\n" #~ "После того, как отчёт будет выслан, заполните, пожалуйста, форму, которая " #~ "автоматически откроется в браузере." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "Если вы не вводили секретную информацию (пароли или личные данные), вы " #~ "можете помочь нам улучшить программу, отправив отчёт о неполадке." #~ msgid "Application problem" #~ msgstr "Неполадка в приложении" #~ msgid "_Send Report" #~ msgstr "_Отправить отчёт" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "Если вы не вводили секретную информацию (пароли или личные данные),\n" #~ "вы можете помочь нам улучшить программу, отправив отчёт о неполадке." #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s неожиданно закрылась %s в %s." #~ msgid "Restart _Program" #~ msgstr "Перезапустить _программу" #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">Извините, не удалось установить или " #~ "обновить пакет «%s».</span>" #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "&Послать полный отчёт (рекомендуется; %s)" #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "Краткая версия отчёта (при медленном соединении с Интернетом; %s)" #~ msgid "_Ignore future crashes of this program version" #~ msgstr "_Игнорировать будущие сбои в этой версии программы" #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "Некоторые большие части вашего сообщения будут удалены. Они очень полезны " #~ "разработчикам при устранении неполадки, но могут долго отправляться, если у " #~ "вас медленное соединение с Интернетом." #~ msgid "&Report Problem..." #~ msgstr "&Сообщить о проблеме..." #~ msgid "_Report Problem..." #~ msgstr "_Сообщить о неполадке..." #~ msgid "Kernel problem" #~ msgstr "Неполадка в ядре" #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "" #~ "Вы можете помочь разработчикам, отправив отчёт о выявленной неполадке." #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "Это не оригинальный пакет %s" #~ msgid "Content of the report" #~ msgstr "Данные отчёта" #~ msgid "Package problem" #~ msgstr "Неполадка с пакетом" #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "В вашей системе обнаружена серьёзная неисправность ядра." #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "" #~ "Вы можете помочь разработчикам исправить эту проблему, отправив о ней отчёт." #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "" #~ "Послать &сокращенную версию отчета (медленное соединение с Интернетом; %s)" #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Это случилось во время предыдущего перехода в ждущий режим и препятствовало " #~ "восстановлению системы." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Это случилось во время предыдущего засыпания и препятствовало восстановлению " #~ "системы." #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "неверное число аргументов; наберите --help для краткой справки" #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [параметры] <отчёт о проблеме apport | ID сбоя>" #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "" #~ "вы можете выполнять локальные операции (-s, -g, -o), иначе предоставьте файл " #~ "проверки подлинности (--auth); наберите --help для краткой справки" #, python-format #~ msgid "Sorry, the application %s has closed unexpectedly." #~ msgstr "Извините, приложение %s непредвиденно закрылось." #~ msgid "Your system might become unstablenow and might need to be restarted." #~ msgstr "Система может быть нестабильна; возможно, потребуется перезагрузка." �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/sc.po������������������������������������������������������������������������������0000644�0000000�0000000�00000100102�12677230222�012607� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Sardinian translation for apport # Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2011. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2011-10-07 06:10+0000\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: Sardinian <sc@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: sc\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "" #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "" #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/se.po������������������������������������������������������������������������������0000644�0000000�0000000�00000100424�12677230222�012620� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Northern Sami translation for apport # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2012. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2012-08-17 12:37+0000\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: Northern Sami <se@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: se\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "Apport" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Čájet bienaid" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Joatkke" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(binára dáhtaid)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Sádde" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Páhkka: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Čiega &bienaid" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "Geavaheaddjinamma:" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "Beassansátni:" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "" #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Meattáhus" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Ii beasa deikke" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "" #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i stávvala)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "G&askkalduhtte" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&Nanne" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Meattáhus: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Geargan" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "ii mihkkige" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/shn.po�����������������������������������������������������������������������������0000644�0000000�0000000�00000100072�12677230222�013000� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Shan translation for apport # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2012. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2012-01-18 13:50+0000\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: Shan <shn@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: shn\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "" #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "" #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/si.po������������������������������������������������������������������������������0000644�0000000�0000000�00000101515�12677230222�012626� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Sinhalese translation for apport # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2009. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2011-10-07 06:10+0000\n" "Last-Translator: Janith Sampath Bandara <sbslive@gmail.com>\n" "Language-Team: Sinhalese <si@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: \n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "විස්තර පෙන්වන්න" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "වසා තබන්න" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "ඉදිරියට යන්න" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(ද්ව්‍යංගී දත්ත)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "යවන්න" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "යළි දියත් කරන්න" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "පැකේජය: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "තොරතුරු සඟවන්න" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "පරිශීලක නාමය:" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "මුරපදය:" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "" #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "නොදන්නා වැඩසටහන" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "සමාවෙන්න, \"%s\" වැඩසටහන අනපේක්ෂිතව අවසන්විය" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "%s හි ගැටලුවක්" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "අවලංගු ගැටලුවක් වාර්තාවිනි" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "දෝෂය" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "අවසර දීමට නොහැක" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "" #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "සත්‍ය %s ඇසුරුමක් නොමැත" �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/sk.po������������������������������������������������������������������������������0000644�0000000�0000000�00000124411�12677230222�012630� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Slovak translation for apport # Copyright (c) 2006 Rosetta Contributors and Canonical Ltd 2006 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:46+0000\n" "Last-Translator: Andrej Tobola <andrej.tobola+linux@gmail.com>\n" "Language-Team: Slovak <sk@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: sk\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Chybové hlásenie" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>Prepáčte, nastala vnútorná chyba.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "Ak zaznamenáte ďalšie problémy, skúste reštartovať počítač." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "Odoslať chybové hlásenie. Pomôžete tým vyriešiť tento problém." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "Ignorovať budúce problémy tejto verzie programu" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Zobraziť podrobnosti" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Ponechať zatvorené" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Pokračovať" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>Zhromažďujú sa informácie o probléme</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "Zhromažďujú sa údaje pre vývojárov potrebné na opravu vami ohláseného " "problému." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "Nahrávam informácie o probléme" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>Nahrávajú sa informácie o probléme</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "Zhromaždené informácie budú odoslané do systému pre sledovanie chýb, čo môže " "chvíľu trvať." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(binárne dáta)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "Prepáčte, aplikácia %s bola neočakávane ukončená." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "Prepáčte, %s bol neočakávane ukončený." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "Prepáčte, %s zaznamenal vnútornú chybu." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Odoslať hlásenie o chybe vývojárom?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Odoslať" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Znova spustiť" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "Aplikácia %s neodpovedá." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "Program „%s“ neodpovedá." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Balík: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "Prepáčte, pri inštalácii softvéru sa vyskytla chyba." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "V aplikácii %s došlo k chybe." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "Aplikácia %s bola neočakávane ukončená." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "Ignorovať budúce problémy tohto typu" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Skryť podrobnosti" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Získavajú sa údaje o probléme" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Získať informácie o systéme" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "Pre získanie systémových informácií potrebných k ohláseniu tohto problému je " "požadované overenie totožnosti" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Ohlásiť problém..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Oznámiť nefunkčnosť vývojárom" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "Vyzerá to tak, že tento balík nie je nainštalovaný korektne" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "Toto nie je oficiálny %s balík. Prosím, odstráňte všetky balíky tretích " "strán a skúste to znovu." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "Máte nainštalovanú zastaralú verziu balíka. Prosím, aktualizujte nasledujúce " "balíky a skontrolujte, či problém pretrváva:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "neznámy program" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Prepáčte, program \"%s\" neočakávane skončil" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Problém v %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "Váš počítač nemá dosť voľnej pamäte na automatickú analýzu problému a " "poslanie správy vývojárom." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Neplatná správa problému" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "Nemáte povolený prístup k tejto správe o probléme." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Chyba" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "Nie je dostatok voľného miesta na disku na spracovanie tejto správy." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "Nebol určený žiadny balík" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "Je potrebné určiť balík alebo PID. Pozrite --help pre viac informácií." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Prístup odmietnutý" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "Nemáte dosah na označený proces. Prosím spustite program ako jeho vlastník, " "alebo ako superpoužívateľ." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "Neplatné PID" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "Špecifikované ID procesu nepatrí k programu." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "Balík %s neexistuje" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "Aký druh problému chcete nahlásiť?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Neznámy príznak" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "Príznak \"%s\" nie je známy" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "Pre nahlásenie problému s aplikáciou kliknite, prosím, po zavretí tejto " "správy na okno aplikácie." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "xprop nedokázal zistiť identifikátor procesu okna" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "Zadajte názov balíka." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "Pridať k hláseniu značku navyše. Môže byť zadaná viackrát." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Začnite v móde ohlásenia chyby. Je potrebný --package a voliteľný --pid, " "alebo len --pid. Ak nie je zadaný ani jeden z nich, zobrazí sa zoznam " "známych príznakov. (Predpokladané ak je zadaný len jeden argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "Kliknite na okno ktoré bude cieľom pre vyplnenia hlásenia o chybe." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "Vytvorte chybovú správu o príznaku. (Predpokladané ak je zadané ako jediný " "argument meno príznaku.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "Zadajte meno balíka v móde --file-bug. Je to voliteľné ak je zadaný --pid. " "(Predpokladané ak je zadané ako jediný argument meno.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "Špecifikujte spustený program v režime --file-bug. S týmto upresnením bude " "hlásenie obsahovať viac informácií. (Ak je číslo procesu uvedené ako jediný " "argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "Poskytnutý pid je zamrznutá aplikácia." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "Nahláste pád z daného .apport alebo .crash súboru namieste prebiehajúcich v " "%s. (Predpokladané ak je zadaný ako jediný argument súbor.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Vytlačiť verziu Apport." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "Spustiť gdb reláciu" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "Spustiť gdb reláciu bez sťahovania ladiacich symbolov" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" "Táto chybová správa sa vzťahuje na program, ktorý už nie je nainštalovaný." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "Táto správa je poškodená a nie je možné ju spracovať." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "Správa patrí k balíku, ktorý nie je nainštalovaný." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "Nastala chyba počas spracovania hlásenia o chybe:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "Nedá sa zistiť balík alebo zdrojový názov balíka." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Nepodarilo sa spustiť internetový prehliadač" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "Nepodarilo sa spustiť internetový prehliadač pre otvorenie %s." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" "Prosím zadajte vaše informácie o prihlasovacom účte pre Systém sledovanie " "chýb %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Problém siete" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "Nie je možné sa pripojiť do databázy pádov, prosím skontrolujte vaše " "internetové pripojenie." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Vyčerpanie pamäte" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "Váš systém nemá dostatočnú pamäť na spracovanie chybovej správy." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "Problém nemohol byť ohlásený:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Problém je už známy" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "Tento problém už bol nahlásený v chybovej správe zobrazenej v internetovom " "prehliadači. Skontrolujte prosím, či môžete doplniť ďaľšie informácie, ktoré " "môžu byť nápomocné pre vývojárov." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "Tento problém bol už nahlásený vývojárom. Ďakujeme!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "Počas obnovy sa spracovanie zastavilo teste pri konci a preto sa zdá že " "skončilo normálne." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Pokračujte stlačením ľubovoľného klávesu..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "Čo by ste radi urobili? Vaše možnosti sú:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Prosím zvoľte (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "Po odoslaní hlásenia o chybe, prosím vyplňte formulár v\n" "automaticky otvorenom webovom prehliadači" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "&Odoslať hlásenie (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "&Pozrieť hlásenie" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" "&Uchovať súbor s hlásením pre neskoršie odoslanie alebo kopírovanie na iné " "miesto" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "Zrušiť a &ignorovať budúce pády tejto verzie programu" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Zrušiť" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Súbor hlásenia problému:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&Potvrdiť" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Chyba: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "Zhromaždené informácie môžu byť odoslané vývojárom na zlepšenie\n" "aplikácie. Môže to trvať pár minút." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "Zhromaždené informácie sa posielajú systému na sledovanie chýb.\n" "Môže to trvať pár minút." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Dokončené" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "žiadny" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Zvolené: %s. Viaceré voľby:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Voľby:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Cesta k súboru (Enter pre zrušenie):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "Súbor neexistuje." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "Toto je adresár." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "Aby ste pokračovali, musíte navštíviť následujúci URL:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "Môžete teraz spustiť prehliadač, alebo skopírovať URL do prehliadača na inom " "počítači." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Okamžite spustiť prehliadač" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" "Žiadne zostávajúce chybové hlásenia. Skúste --help pre viac informácií." #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "Zostaviť hlásenie (odporúča sa; %s)" #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>Odoslať správu o probléme vývojárom?</b></big>\n" #~ "\n" #~ "Po odoslaní správy o probléme, vyplňte prosím formulár v automaticky " #~ "otvorenom webovom prehliadači." #~ msgid "Application problem" #~ msgstr "Problém aplikácie" #~ msgid "_Send Report" #~ msgstr "_Poslať hlásenie" #~ msgid "Restart _Program" #~ msgstr "Reštartovať _program" #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">Prepáčte, zlyhala inštalácia alebo " #~ "aktualizácia balíka \"%s\".</span>" #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "Zmenšené hlásenie (pomalé internetové pripojenie; %s)" #~ msgid "_Ignore future crashes of this program version" #~ msgstr "_Ignorovať budúce pády tejto verzie programu" #~ msgid "_Report Problem..." #~ msgstr "_Ohlásiť problém..." #~ msgid "Kernel problem" #~ msgstr "Problém jadra" #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "Môžete pomôcť vývojárom opraviť balík ohlásením problému." #~ msgid "Content of the report" #~ msgstr "Obsah hlásenia" #~ msgid "Package problem" #~ msgstr "Problém balíka" #~ msgid "&Report Problem..." #~ msgstr "&Nahlásiť problém..." #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "Odoslať &skrátené hlásenie (pomalé internetové pripojenie; %s)" #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "Toto nie je autentický %s balík" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "Ak ste nevykonávali niečo dôverné (zadávanie hesiel alebo iných\n" #~ "súkromných informácií), môžete pomôcť zlepšiť aplikáciu nahlásením\n" #~ "problému." #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s sa nečakane ukončil %s o %s" #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "Váš systém zaznamenal vážny problém s jadrom." #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "Balík \"%s\" sa nepodarilo nainštalovať alebo aktualizovať." #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "Môžete pomôcť vývojárom odstrániť problém jeho ohlásením." #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "&Poslať celé hlásenie (odporúčané; %s)" #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Toto sa vyskytlo počas predošlé uspávania a zabránilo to správnej obnove." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Toto sa vyskytlo počas predošlej hybernácii a zabránilo to správnej obnove." #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "Toto vymaže veľké veci zo správy. Tieto sú veľmi užitočné pre vývojárov na " #~ "debugovanie problému, ale pokiaľ máte pomalé pripojenie na internet, môže to " #~ "byť pre vás priveľa na odoslanie." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "V prípade, že nerobíte nič dôverné (zadávanie hesla alebo iných osobných " #~ "údajov), môžete pomôcť vylepšiť aplikáciu nahlásením problému." �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/sl.po������������������������������������������������������������������������������0000644�0000000�0000000�00000137236�12677230222�012642� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Slovenian translation for apport # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2007. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:46+0000\n" "Last-Translator: Andrej Znidarsic <andrej.znidarsic@gmail.com>\n" "Language-Team: Slovenian <sl@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: sl\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "Apport" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "Prekliči" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "V redu" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Poročilo o sesutju" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>Oprostite, prišlo je do notranje napake.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" "Če opazite nadaljnje težave, poskusite s ponovnim zagonom računalnika." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "Pošlji poročilo o napaki za pomoč pri odpravi te težave" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "Prezri nadaljnje težave te različice programa" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Pokaži podrobnosti" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "_Preuči krajevno" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Pusti zaprto" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Nadaljuj" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>Zbiranje podatkov o nastali težavi</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "Zbirajo se podatki, ki bi lahko pomagali razvijalcem popraviti težavo, ki " "ste jo prijavili." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "Pošiljajo se podatki o težavi" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>Pošiljanje podatkov o nastali težavi</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "Zbrani podatki se pošiljajo na sistem sledenja hroščev. To utegne trajati " "nekaj minut." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Datoteka poročila o sesutju" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(binarni podatki)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "Oprostite, program %s se je nepričakovano končal." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "Oprostite, program %s se je nepričakovano zaprl." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "Oprostite, v programu %s je prišlo do notranje napake." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Ali želite poročilo o napaki poslati razvijalcem?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Pošlji" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "Prisili končanje" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Znova zaženi" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "Program %s se ne odziva." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "Program \"%s\" se ne odziva." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Paket: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "Med nameščanjem programa je prišlo do napake." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "V programu %s je prišlo do notranje napake." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "Program %s se je nepričakovano zaprl." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "Prezri prihodnje težave te vrste" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Skrij podrobnosti" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Uporaba: %s <poročilo> <ciljna mapa>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "Ciljna mapa ne obstaja ali pa ni prazna." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "Uporabniško ime:" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "Geslo:" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "Zbiranje podrobnosti o težavi" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Zbiranje podatkov o napaki" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "Zbrane podatke lahko pošljete razvijalcem za izboljšanje programa. To lahko " "vzame nekaj minut." #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "Pošiljanje podrobnosti o težavah" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Zberi podatke o sistemu" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "Za zbiranje podatkov o sistemu za to poročilo o težavi je zahtevana overitev." #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "Poročila o sistemskih težavah" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" "Vnesite svoje geslo za dostop do poročil o težavah s sistemskimi programi" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Pošlji poročilo o težavi ..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Poročajte napačno delovanje razvijalcem" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "Oglejte si stran priročnika za podrobnosti." #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "določite ime datoteke dnevnika, ki ga je ustvaril valgrind" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" "ponovno uporabi prejšnje ustvarjeno mapo sandbox (SDIR) ali jo ustvari, če " "še ne obstaja" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" "ne ustvari ali ponovno uporabi mapo sandobox za dodatne simbole " "razhroščevanja ampak se zanašj le na nameščene simbole razhroščevanja." #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" "ponovno uporabi prejšnje ustvarjen predpomnilnik mape (CDIR) ali jo ustvari, " "če še ne obstaja" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "poroča napredek prejema /namestitve ob namestitvi paketa v sandbox" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" "izvedljiva datoteka, ki teče pod orodjem pregledovalnikom pomnilnika " "valgrind za zaznavanje puščanja pomnilnika" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "Namesti dodaten paket v peskovnik (lahko je določeno večkrat)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "Napaka: %s ni izvedljiva datoteka. Ustavljanje." #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" "Vaš sistem lahko postane nestabilen in ga bo morda treba znova zagnati." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "Ne dajaj novih sledi v poročilo temveč jih izpiši v stdout." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "Prični vzajemno sejo gdb z izpisom jedra poročila (-o prezrt; ne prepiše " "poročila)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "Zapiše spremenjeno poročilo v dano datoteko namesto spreminjanja izvirnega" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "Odstrani izpis jedra iz poročila po ponovni izgradnji sledi sklada" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "Prepiši jedrno datoteko poročila" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "Prepiši izvedljivo pot poročila" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "Prepiši ProcMap poročila" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "Znova izgradi podatke o paketih v poročilu" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" "Izgradi začasen peskovnik in prejme/namesti zahtevane pakete in " "razhroščevalne simbole. Brez možnosti predpostavi, da so nujni paketi in " "razhroščevalni simboli že nameščeni na sistemu. Argument kaže na osnovno " "mapo nastavite sistema pakiranja. V primeru da določite \"system\", bo " "uporabil sistemske nastavitvene datoteke, vendar boste lahko ponovno sledili " "sesutjem, ki se zgodijo na trenutno izvajajoči se izdaji." #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" "Poročaj o napredku prejema/namestitve med nameščanje paketov v peskovnik" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "Pripni časovne žige sporočilom dnevnika za paketna opravila" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" "Ustvarite in uporabite skladišča tretjih oseb iz izvorov določenih v " "poročilih" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "Mapa predpomnilnika za pakete prejete v peskovnik" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" "Imenik nepakiranih paketov. Naslednji zagoni programa bodo zagotovili, da se " "bodo vsi prejeti paketi razširjali v ta peskovnik." #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" "Pot do datoteke s podatki o overitvi podatkovne zbirke sesutij. To je " "uporabljeno ob navedbi ID sesutja za pošiljanje znova načrtanih sledi " "skladov (samo, če -g, -o in -s niso navedeni)" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "Prikaži znova narčrtane sledi sklada in vprašaj za potrditev pred njihovim " "pošiljanjem v podatkovno zbirko sesutij." #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" "Pot do podatkovne zbirke dvojnika sqlite (privzeto: ni preverjanja za " "dvojnike)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "Ne morete uporabiti -C brez -S. Ustavljanje." #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "Ali je pošiljanje teh prilog vredu? [y/n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "Videti je, da ta paket ni nameščen pravilno" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "To ni uradni paket %s. Odstranite morebitni paket tretjih oseb in poskusite " "znova." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "Nameščene imate nekatere zastarele različice paketov. Nadgradite naslednje " "pakete in preverite, če se težava še vedno pojavlja:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "neznam program" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Program \"%s\" se je nepričakovano zaprl" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Težava v %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "Vaš računalnik nima dovolj prostega pomnilnika za samodejno preučevanje " "težave in pošiljanje poročila razvijalcem." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Neveljavno poročilo o napaki" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "Dostop do poročila o napaki je bil zavrnjen." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Napaka" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "Na disku ni dovolj prostora za obdelavo tega poročila." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "Naveden ni noben paket" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "Navesti morate paket ali PID. Oglejte si --help za več podrobnosti." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Dovoljenje je zavrnjeno" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "Navedeno opravilo ne pripada vam. Zaženite ta program kot lastnik opravila " "ali kot skrbnik." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "Neveljaven PID" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "Naveden ID opravila ne pripada programu." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "Skript simptoma %s ni zaznal prizadetega paketa" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "Paket %s ne obstaja" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "Ni mogoče ustvariti poročila" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "Posodabljanje poročila o težavi" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "Niste poročevalec ali naročnik tega poročila o težavi, ali pa je poročilo " "podvojeno ali že zaključeno.\n" "\n" "Ustvarite novo poročilo z uporabo \"apport-bug\"." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "Niste poročevalec ali naročnik tega poročila o težavi. Veliko lažje je " "označiti hrošča kot podvojenega, kot pa premikati vaše opombe in priloge v " "novega hrošča.\n" "\n" "Zato vam priporočamo, da ustvarite novo poročilo o hroščču z uporabo " "\"apport-bug\", in opozorite nanj v prvotnem poročilu.\n" "\n" "Ali želite resnično nadaljevati?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "Dodatni podatki niso bili pridobljeni." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "O kakšni vrsti težave bi radi poročali?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Neznan simptom" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "Simptom \"%s\" ni znan." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "Po zaprtju tega sporočila kliknite na okno programa za poročanje težav o " "njem." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "xprop ni uspelo določevanje ID-ja opravila okna" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "%prog <številka poročila>" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "Navedite ime paketa." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "Doda dodatno oznako poročilu. Določite jo lahko večkrat." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [možnosti] [simptom|pid|paket|pot programa|datoteka .apport/.crash]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Zaganjanje v načinu prijave napake. To zahteva --package in izbirno tudi --" "pdi, ali pa samo --pid. Če ne podate nobenega izmed naštetih, bo prikazan " "seznam znanih simptomov. (Privzeto, ko je podan samo en argument)." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "Kliknite na okno kot cilj za izpolnjevanje poročila o težavi." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" "Zaženi v načinu posodabljanja hroščev. Lahko dodate izbiren parameter --" "package." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "Vloži prijavo hrošča o simptomu. (predpostavljeno, če je ime simptoma dano " "kot edini argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "V načinu --file-bug navedite ime paketa. Če je --pid podan, to ni obvezno. " "(Privzeto, ko je kot edini argument podano ime paketa)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "Določi delujoč program v načinu --file-bug. V primeru da je to navedeno, bo " "poročilo o hrošču vsebovalo več podrobnosti (predpostavljeno, če je pid dan " "kot edini argument.)." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "Program s posredovanom pid-jem se je obesil." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "Poroča o sesutju iz dane datoteke .apport ali .crah namesto iz čakajočih v " "%s. (Predpostavljeno, če je datoteka dana kot edini argument)." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" "V načinu poročanja hrošča zbrane podatke shrani v datoteko namesto " "poročanja. To datoteko lahko uporabite za poročanje kasneje z druge naprave." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Izpiši številko različice Apporta." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "To bo v terminalu zagnalo apport-retrace za preučevanje sesutja." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "Poženi sejo gdb" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "Poženi sejo gdb brez prejemanja razhroščevalnih simbolov" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "Posodobi %s s polno simbolično sledjo sklicev" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "To poročilo o težavi se nanaša na program, ki ni več nameščen." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "Težava se je zgodila s programom %s, ki se je od sesutja spremenil." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "Poročilo o težavi je poškodovano, zato njegova obdelava ni mogoča." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "Poročilo pripada nenameščenemu paketu." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "Med poskusom obdelave tega poročila o hrošču je prišlo do težave:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "Ni bilo mogoče določiti imena paketa ali izvornega paketa." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Spletnega brskalnika ni mogoče zagnati" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "Spletni brskalnik ne more odpreti %s." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "Vpišite podatke svojega računa za sledilni sistem hroščev %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Težava z omrežjem" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "Ni se mogoče povezati z zbirko podatkov o napakah. Preverite svojo " "internetno povezavo." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Pomnilnik je zapolnjen" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "Vašemu sistemu je zmanjkalo pomnilnika za obdelavo poročila o sesutju." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "O težavi ni mogoče poročati:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Težava je že znana" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "Poročilo o tej težavi je bilo že poslano v poročilu o hrošču, ki je bilo " "prikazano v spletnem brskalniku. Preverite, če lahko dodate še kakšen " "podatek, ki bi lahko pomagal razvijalcem." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "Ta težava je bila že poročana razvijalcem. Hvala vam!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" "To se je zgodilo med prejšnjim stanjem v pripravljenost in je preprečilo, da " "bi se sistem normalno zagnal." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" "To se je zgodilo med prejšnjim stanjem mirovanja in je preprečilo, da bi se " "sistem normalno zagnal." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "Obdelava nadaljevanja se je obesila blizu konca in bo videti, kot da se je " "pravilno zaključila." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Pritisnite katerokoli tipko za nadaljevanje ..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "Kaj želite storiti? Vaše možnosti so:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Prosimo izberite (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i bajtov)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "Ko bo poročilo o težavi poslano, izpolnite obrazec v\n" "samodejno odprtem spletnem brskalniku." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "&Pošlji poročilo (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "&Preuči krajevno" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "&Ogled poročila" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" "O&bdrži datoteko o poročilu za kasnejše pošiljanje ali kopiranje kam drugam" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "P&rekliči in prezri nadaljnja sesutja te različice programa" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Prekliči" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Datoteka s poročilom o napaki:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "Po&trdi" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Napaka: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "Zbrani podatki lahko pošljete razvijalcem za izboljšanje\n" "programa. To lahko traja nekaj minut." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "Zbrani podatki se pošiljajo v sledilni sistem hroščev.\n" "To lahko traja nekaj minut." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Končano" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "brez" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Izbrano: %s. Več izbir:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Izbire:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Pot do datoteke (Enter za preklic):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "Datoteka ne obstaja." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "To je mapa." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "Za nadaljevanje morate obiskati naslednji URL:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "Sedaj lahko zaženete svoj spletni brskalnik ali prekopirate URL v brskalnik " "na drugem računalniku." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Zaženi spletni brskalnik zdaj" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" "Brez čakajočih poročil o sesutju. Za več podrobnosti poizkusite s --help." #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "Dokončaj poročilo (priporočeno; %s)" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "Če niste delali česa zaupnega (npr. vnašali gesla ali drugih zasebnih " #~ "podatkov), lahko pomagate pri izpopolnjevanju programa tako, da pošljete " #~ "poročilo o nastali težavi." #~ msgid "_Send Report" #~ msgstr "_Pošlji poročilo" #~ msgid "Restart _Program" #~ msgstr "Ponovno zaženi _program" #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "Skrčeno poročilo (počasna internetna povezava; %s)" #~ msgid "_Ignore future crashes of this program version" #~ msgstr "_Spreglej bodoča sesutja te različice programa" #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "S tem se iz poročila odstrani določene zajetne elemente, ki so sicer zelo " #~ "uporabni za odpravljanje napak, a bi utegnili biti preveliki za pošiljanje " #~ "po internetu pri počasni povezavi." #~ msgid "_Report Problem..." #~ msgstr "_Pošlji poročilo..." #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "" #~ "Razvijalcem lahko pomagate pri popravilu paketa ter jim pošljete poročilo o " #~ "nastali težavi." #~ msgid "Content of the report" #~ msgstr "Vsebina poročila" #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "To ni pristen %s paket" #~ msgid "&Report Problem..." #~ msgstr "&Poročaj o težavi..." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "Če niste počeli ničesar zaupnega (vpisovali gesel ali drugih\n" #~ "zasebnih podatkov), nam lahko pomagate izboljšati program\n" #~ "tako, da nam pošljete poročilo o težavi." #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s se je nepričakovano zaprl dne %s ob %s." #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "Namestitev ali nadgradnja paketa \"%s\" ni uspela." #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "Pošlji &popolno poročilo (priporočeno; %s)" #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "Pošlji &skrajšano poročilo (počasna internetna povezava; %s)" #~ msgid "Package problem" #~ msgstr "Težava s paketom" #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "Sistem je naletel na resno težavo v jedru." #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "Razvijalcem lahko pomagate odpraviti težavo tako, da ga prijavite." #~ msgid "Kernel problem" #~ msgstr "Težava z jedrom" #~ msgid "Application problem" #~ msgstr "Težava programa" #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">Žal se paketu \"%s\" ni uspelo " #~ "namestiti ali nadgraditi.</span>" #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>Pošljem poročilo o težavi razvijalcem?></big>\n" #~ "\n" #~ "Potem, ko je bilo poročilo to težavi poslano, vas prosimo, da izpolnite " #~ "obrazev v samodejno odprtem spletnem brskalniku." #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [možnosti] <apport poročilo o težavi | ID sesutja>" #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "" #~ "izvesti morate krajevno opravilo (-s, -g, -o) ali zagotoviti datoteko " #~ "overitve (--auth); oglejte si --help za kratko pomoč" #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "nepravilno število argumentov; uporabite --help za kratko pomoč" #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "To se je pripetilo med predhodnim stanjem pripravljenosti in je preprečilo " #~ "pravilno nadaljevanje." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "To se je pripetilo med predhodnim mirovanjem in je preprečilo pravilno " #~ "nadaljevanje." #, python-format #~ msgid "Sorry, the application %s has closed unexpectedly." #~ msgstr "Oprostite, program %s se je nepričakovano zaprl." #, python-format #~ msgid "Sorry, the program \"%s\" closed unexpectedly." #~ msgstr "Program \"%s\" se je nepričakovano zaprl." #, python-format #~ msgid "Sorry, %s closed unexpectedly." #~ msgstr "Program %s se je nepričakovano zaprl." #, python-format #~ msgid "Sorry, the package \"%s\" failed to install or upgrade." #~ msgstr "Paket \"%s\" se ni namestil ali nadgradil." #, python-format #~ msgid "Sorry, %s closed unexpectedly" #~ msgstr "Program %s se je nepričakovano zaprl" #~ msgid "Your system might become unstablenow and might need to be restarted." #~ msgstr "" #~ "Vaš sistem bo zdaj morda postal nestabilen in bo mogoče potreboval ponovni " #~ "zagon." ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/sq.po������������������������������������������������������������������������������0000644�0000000�0000000�00000141357�12677230222�012646� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Albanian translation for apport # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2009. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:46+0000\n" "Last-Translator: Vilson Gjeci <vilsongjeci@gmail.com>\n" "Language-Team: Albanian <sq@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:17+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: sq\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "Apport" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "Anulo" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "OK" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Raporti i gabimit" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>Na vjen keq, ndodhi një gabim i brendshëm.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "Nëse vini re probleme të mëtejshme, provoni të rindizni kompjuterin." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" "Dërgoni një raport gabimi për të ndihmuar në rregullimin e këtij problemi" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "Shpërfilli problemet e mëtejshme të këtij versioni të programit" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Shfaq Detajet" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "_Shqyrtoje lokalisht" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Lëre të Mbyllur" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Vazhdo" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>Po mbledhim informacion rreth problemit</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "Një informacion po mblidhet i cili mund të ndihmojë zhvilluesit të zgjidhin " "problemin që ju raportuat." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "Duke ngarkuar informacionin e problemit" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>Po ngarkojmë informacionin e problemit</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "Informacioni i mbledhur po i dërgohet sistemit të gjurmimit të gabimeve. kjo " "mund të zgjasë disa minuta." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Skedar i defekteve të Apport" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(të dhëna binare)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "Më vjen keq, programi %s ndali papritmas." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "Na vjen keq, %s u mbyll papritmas." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "Na vjen keq, %s ka hasur në një gabim të brendshëm." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Tò dërgojë një raport rreth problemit krijuesve?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Dërgo" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "Detyro Mbylljen" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Rinise" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "Programi %s nuk po përgjigjet më." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "Programi \"%s\" nuk po përgjigjet më." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Paketa: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "Na vjen keq, ndodhi një problem gjatë instalimit të programit." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "Programi %s ka hasur në një gabim të brendshëm." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "Programi %s u mbyll papritmas." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "Shpërfilli problemet e mëvonshme të këtij lloji" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Fshihi Detajet" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Përdorimi: %s <report> <target directory>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "Direktoria e destinacionit ekziston dhe nuk është bosh." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "Emri i Përdoruesit:" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "Fjalëkalimi:" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "Duke Mbledhur Informacion për Problemin" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Duke mbledhur informacion për problemin" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "Informacioni i mbledhur mund t'iu dërgohet krijuesve për të përmirësuar " "programin. Kjo mund të zgjasë disa minuta." #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "Duke Ngarkuar Informacionin e Problemit" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Mblidh informacion rreth sistemit" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "Kërkohet identifikimi për të mbledhur informacion të sistemit për raportimin " "e këtij problemi" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "Raported e problemeve të sistemit" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" "Ju lutem vendosni fjalëkalimin tuaj që të keni akses në raportet e " "problemeve të programeve së sistemit." #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Raporto një problem..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Raportoni një mosfunksionim tek krijuesit" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "Shiko faqen e manualit për detaje." #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "specifikoni emrin e skedarit prodhuar nga valgrind" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" "përdorni përsëri një direktori sanbox (SDIR) që është përdorur më pare. Nëse " "nuk ekziston, krijo një të re" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" "mos krijo apo ripërdor asnjë direktori sandbox per simbolet rregulluese " "shtesë, por mbështetu ne simbolet rregulluese të instaluara" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" "ripërdor një direktori cache (CDIR) të përdorur më pare, ose, në qoftë se " "nuk ekziston, krijo një" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" "trego progresin e shkarkimit/instalimit kur instalohen paketa në sandbox" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" "elementi i ekzekutueshëm që perdoret nën valgrind's memcheck tool për " "zbulimin e rrjedhjes së memorjes" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" "Instalo një paketë shtesë në kutinë e rërës (mund të specifikohet shumë herë)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "Gabim: %s nuk është i ekzekutueshëm. Po ndalohet." #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" "Sistemi juaj mund të bëhet i paqëndrueshëm tani dhe mund të ketë nevojë të " "rindizet." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "Mos vendosni gjurmë të reja në raport, por shkruajini ato në stdout." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "Nisni një seksion interaktiv gdb me bazën e raportueshme (-o ignored; nuk e " "rishkruan raportin)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "Shkruajeni raportin e modifikuar në skedarin e dhënë dhe mos modifikoni " "raportin origjinal." #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "Hiqeni core dump nga raporti pas rigjenerimit të gjurmës së stack" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "Mbishkruaje CoreFile të raportit" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "Mbishkruaje ExecutablePath të raportit" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "Mbishkruaj ProcMaps të raportit" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "Rindërto informacionin e paketave të raportit" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" "Ndërto një kuti rëre të përkohshme dhe shkarko/instalo paketat e nevojshme " "dhe simbolet e korrigjimit të gabimeve aty; pa këtë opsion ai kujton se " "paketat e nevojshme dhe simbolet e korrigjimit të gabimeve janë instaluar " "tashmë në sistem. AArgumenti ju drejton në drejtorinë e bazës së sistemit të " "konfigurimit të paketave; nëse ju specifikoni \"system\", ai do të përdorë " "skedarët e konfigurimit të sistemit, por më pas do të jetë në gjendje vetëm " "të gjurmojë dëmitmet që kanë ndodhur në këtë version të programit." #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" "Raporto progresin e shkarkimit/instalimit kur instalon paketat në kutinë e " "rërës" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "Vendosu gjurmë kohore mesazheve në hyrje, për veprime në grupe" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "Drejtoria e ruajtjes së paketave të shkarkuara në kutinë e rërës" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" "Drejtoria për paketa të pa paketuara. Nisjet e mëvonshme do të supozojnë se " "çdo paketë e shkarkuar tashmë shtë gjithashtu e ekstraktuar në këtë kuti " "rëre." #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" "Shtegu për tek skedari me databazën e dëmtimit në identifikimin e " "informacionit. Kjo përdoret kur specifikoni një ID të rënies në ngarkimin e " "gjurmëve të tërhequra (vetëm nëse as -g, -o apo -s nuk janë specifikuar)" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "Shfaq gjurmët e tërhequra të bllokimit dhe kërko për konfirmim para se ti " "dërgosh ato në databazën e dëmtimit." #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" "Shtegu për tek databaza e dyfishuar sqlite (nuk ka kërkim për të dyfishta)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "S'mund të përdorni -C pa -S. Po ndalohet." #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "OK për t'i dërguar këtosi bashkangjitje? [y/n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "Kjo paketë duket se nuk është instaluar në mënyrë korrekte" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "Kjo nuk është një paketë zyrtare %s. Ju lutemi të hqini çdo paketë të palëve " "të treta dhe ta provoni përsëri." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "Ju keni një version të vjetër të instaluar të paketës. Ju lutemi " "përditësojini paketat që vijojnë dhe kontrolloni nëse problemi vazhdon të " "ndodhë:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "program i panjohur" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Na vjen keq, programi \"%s\" u mbyll papritur" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Problem në %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "Kompjuteri juaj nuk ka kujtesë të lirë sa duhet për të analizuar " "automatikisht problemin dhe për t'i dërguar një raport zhvilluesve." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Raportim i pavlefshëm i problemit" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "Juve nuk ju lejohet të hyni në këtë raportim të problemit." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Gabim" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" "Nuk ka hapësirë të disponueshme disku sa duhet për të përpunuar këtë raport." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "Nuk është përcaktuar asnjë paketë" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "Juve ju nevojitet të specifikoni një paketë apo një PID. Shikoni --help për " "më tepër informacion." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Leja ju mohohet" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "Proçesi i përcaktuar nuk ju përket juve. Ju lutemi niseni këtë program si " "posedues i tij ose si rrënjë." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "PID i Pavlefshëm" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "ID-ja e specifikuar e proçesit nuk i përket një programi." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "Skripti i simptomës %s nuk përcaktoi një paketë të ndikuar" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "Paketa %s nuk ekziston" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "Nuk mund të krijoj raport" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "Duke përditësuar raportin e problemit" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "Ju nuk jeni raportues apo nënshkrues i raportimit të këtij problemi, ose " "raporti është i dyzuar ose tashmë i mbyllur.\n" "\n" "Ju lutemi të krijoni një raport të ri duke përdorur \"apport-bug\"." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "Ju nuk jeni raportuesi i këtij problemi. Është shumë më e lehtë të shënoni " "një defekt si i dyfishtë i një tjetri se sa të lëvizni komentet dhe " "bashkangjitjet në njl gabim të ri.\n" "\n" "Si rrjedhojë, ne ju rekomandojmë të raportoni një gabim të ri duke përdorur " "\"apport-bug\" dhe të bëni një koment në këtë gabim për atë që po shënoni.\n" "\n" "Dëshironi me të vërtetë të vazhdoni?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "Nuk u mblodh informacion shtesë." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "Çfarë lloj problemi dëshironi të raportoni?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Simptomë e panjohur" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "Simptoma \"%s\" nuk njihet." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "Pasi ta mbyllni këtë mesazh ju lutemi të klikoni në dritaren e programit për " "të raportuar një problem të lidhur me të." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "xprop dështoi në përcaktimin e ID të proçesit të dritares" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "%prog <report number>" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "Specifiko emrin e paketës." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" "Shtojini një etiketë më shumë raportit. Mund të specifikohet shumë herë." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Niseni defektin në mënyrën e raportimit. Kërkon --package dhe si opsion --" "pid, ose vetëm një --pid. Nëse asnjë nuk jepet, shfaq një listë të " "simptomave të njohura. (Vendoset nëse jepet vetëm një argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" "Kliko një ditare si shënjestër për të krijuar një raport rreth problemit." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" "Nise në mënyrë të përditësimit të gabimit. Mund të marrë një --paketë " "opsionale." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "Krijoni një raport defekti për një simptomë. (Vendoset nëse emri i simptomës " "jepet vetëm si një argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "Specifikoni një emër pakete tek mënyra --file-bug. Kjo është opsionale nëse " "specifikohet një --pid. (Emri i paketës së vendosur jepet vetëm si një " "argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "Specifiko një program të nisur në mënyrën --file-bug. Nëse ky specifikohet, " "informacioni i gabimit do të përmbajë më tepër informacion. (Implikohet nëse " "pid është dhënë vetëm si argument)." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "Pid i dhënë është një program në pritje." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "Raporto gabimin nga skedari i dhënë .apport ose .crash në vend të atyre që " "presin në %s. (Vendoset nëse skedari është dhënë vetëm si argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" "Në mënyrën e përshkrimit të një gabimi, ruajeni informacionin e mbledhur në " "një skedar në vend që ta raportoni atë. Ky skedar mund të raportohet më vonë " "nga një makinë tjetër." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Printo numrin e versionit të Apport." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" "Kjo do të nise apport-retrace në një dritare terminali për të shqyrtuar " "gabimin." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "Nis seksionin gdb" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "Nis seksionin gdb pa shkarkuar simbolet e gabimeve" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "Përditëso %s pa gjurmë të plota simbolike" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" "Ky problem ka të bëjë me një program i cili nuk është më i instaluar." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" "Problemi ndodhi me programin %s i cili ndryshoi që kur ndodhi gabimi." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "Ky raportim i problemit është i dëmtuar dhe nuk mund të shqyrtohet." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "Raporti i përket një pakete që nuk është instaluar." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" "Ndodhi një gabim gjatë përpjekjes për të përpunuar këtë raport të problemit:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "Nuk mund të përcaktojmë emrin e paketës apo të burimit të saj." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Nuk jemi në gjendje të nisim shfletuesin e Internetit" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "" "Nuk jemi në gjendje të nisim shfletuesin e Internetit për të hapur %s." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" "ju lutemi të vendosni informacionin e llogarisë suaj për sistemin e " "gjurmimit të gabimeve %s." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Problem i rrjetit" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "Nuk mund të lidhemi me databazën e dëmtimeve, ju lutemi të kontrolloni " "lidhjen tuaj me Internetin." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Kujtesa u lodh" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "Sistemi juaj nuk ka kujtesë sa duhet për të proçeduar këtë raport dëmtimi." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "Problemi nuk mund të raportohet:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Problemi i njohur tashmë" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "Ky problem është raportuar tashmë në raportimin e problemeve të shfaqura në " "shfletuesin e Internetit. Ju lutemi kontrolloni nëse mund të shtoni " "infromacion të mëtejshëm i cili mund të ndihmojë krijuesit." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "Ky problem ju është raportuar tashmë zhvilluesve. Faleminderit!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "Proçesi i rinisjes u bllokua shumë afër fundit dhe siç duket është " "kompletuar normalisht." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Shtypni çdo buton për të vazhduar..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "Çfarë do të donit të bënit? Opsionet tuaja janë:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Ju lutemi zgjidhni (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i bytes)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "Pasi raporti i problemit të jetë dërguar, ju lutemi mbushni formularin tek\n" "Shfletuesi i Internetit që hapet automatikisht." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "&Dërgoni raportin (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "&Shqyrtoje lokalisht" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "&Shfaqeni raportin" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" "&Mbajeni skedarin e raportit për ta dërguar më vonë ose për ta kopjuar diku " "tjetër" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" "Anullo dhe &injoro prishjet e mëvonshme të këtij versioni të programit" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Anulo" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Skedari i raportimit të problemit:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&Konfirmo" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Gabimi: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "Informacioni i mbledhur mund t'iu dërgohet zhvilluesve për të përmirësuar\n" "programin. kjo mund të zgjasë disa minuta." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "Informacioni i mbledhur po i dërgohet sistemit të gjurmimit të gabimeve.\n" "Kjo mund të zgjasë disa minuta." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&U Bë" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "asnjë" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "U zgjodh: %s. Zgjidhje të shumëfishta:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Zgjedhjet:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Shtegu për tek skedari (Enter për ta anulluar):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "Skedari nuk ekziston." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "Kjo është një direktori." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "Për të vazhduar, ju duhet të vizitoni URL-në që vijon:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "Ju mund të nisni një shfletues tani, ose të kopjoni URL-në në një shfletues " "në një kompjuter tjetër." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Nise shfletuesin tani" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" "Nuk ka raporte dëmtimi të ngelura pezull. Provoni --help për më tepër " "informacion." #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "Sistemi juaj hasi në një problem serioz kerneli." #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "" #~ "Ju mund t'i ndihmoni krijuesit ta rregullojnë problemin duke e raportuar atë." #~ msgid "Application problem" #~ msgstr "Problem me programin" #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">Na vjen keq, paketa \"%s\" dështoi në " #~ "instalim apo përditësim.</span>" #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>T'i dërgojmë krijuesve një raport rreth problemit?</b></big>\n" #~ "\n" #~ "Pasi raporti i problemit është dërguar, ju lutemi mbushni formularin në " #~ "shfeltuesin që do të hapet automatikisht." #~ msgid "Kernel problem" #~ msgstr "Problem kerneli" #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "Problem i reduktuar (për lidhje interneti të ngadalta; %s)" #~ msgid "Restart _Program" #~ msgstr "Rinis _Programin" #~ msgid "Package problem" #~ msgstr "Problem pakete" #~ msgid "Content of the report" #~ msgstr "Përmbajtja e raportit" #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "Kompleto raportin (rekomandohet; %s)" #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "" #~ "Ju mund t'i ndihmoni krijuesit që ta rregullojnë paketën duke raportuar " #~ "problemin." #~ msgid "_Ignore future crashes of this program version" #~ msgstr "_Injoroni prishjet e mëtejshme të këtij versioni të programit" #~ msgid "_Report Problem..." #~ msgstr "_Raporto Problemin..." #~ msgid "_Send Report" #~ msgstr "_Dërgo Raportin" #~ msgid "&Report Problem..." #~ msgstr "&Raporto Problemin..." #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "Paketa \"%s\" dështoi në instalim apo përditësim." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "Nëse nuk po bënit asgjë konfidenciale (siç është futja e fjalëkalimit apo\n" #~ "ndonjë informacion tjetër privat), ju mund të ndihmoni në përmirësimin e " #~ "programit\n" #~ "duke raportuar problemin." #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s u mbyll papritur në %s të %s." #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "&Dërgoni raportin e kompletuar (rekomandohet; %s)" #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "Dërgoni &raportin e reduktuar (për lidhje të ngadaltë Interneti; %s)" #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "Kjo nuk është një paketë e saktë %s" #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "Kjo do të heqë disa tema të mëdha nga raporti. kjo është shumë e dobishme " #~ "për krijuesit që do shqyrtojnë problemin, por mund të jetë shumë e madhe për " #~ "ju për ta ngarkuar nëse keni një lidhje të ngadaltë interneti." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "Nëse nuk po bënit asgjë konfidenciale (vendosjen e një fjalëkalimi apo " #~ "informacion tjetër privat), ju mund të ndihmoni në përmirësimin e programit " #~ "duke e raportuar problemin." #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Kjo ndodhi gjatë një pezullimi të mëparshëm dhe e pengoi atë që të nisë siç " #~ "duhet." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Kjo ndodhi gjatë një hibernimi të mëparshëm dhe e pengoi atë që të nisë siç " #~ "duhet." #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [options] <apport problem report | crash ID>" #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "" #~ "Juve ose ju nevojitet të bëni një veprim lokal (-s, -g, -o) ose të jepni një " #~ "skedar identifikimi (--auth); shikoni --help për një ndihmë të shkurtër" #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "" #~ "numër apo argumenta të gaburar; përdor --help për një ndihmë të shkurëtr" #, python-format #~ msgid "Sorry, the application %s has closed unexpectedly." #~ msgstr "Na vjen keq, aplikimi %s u mbyll papritmas." #~ msgid "Your system might become unstablenow and might need to be restarted." #~ msgstr "" #~ "Sistemi mund të bëhet i paqëndrueshëm tani dhe mund të ketë nevojë të " #~ "rindizet." ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/sr.po������������������������������������������������������������������������������0000644�0000000�0000000�00000165275�12677230222�012654� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Serbian translation of apport # Serbian linux distribution cp6Linux # Copyright (C) 2007 Marko Uskokovic # Marko Uskokovic <uskokovic@etf.bg.ac.yu>, 2007—2008. # Мирослав Николић <miroslavnikolic@rocketmail.com>, 2012—2016. msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2016-01-23 00:51+0000\n" "Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n" "Language-Team: Serbian <gnom@prevod.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: sr\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "Апорт" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "Откажи" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "У реду" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Извештај о урушавању" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>Извините, догодила се унутрашња грешка.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" "Ако приметите будуће проблеме, покушајте поново да покренете рачунар." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "Пошаљите извештај о грешци да помогнете исправљању овог проблема" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "Занемари будуће проблеме у раду овог издања програма" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Прикажи појединости" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "_Испитај локално" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Остави затворено" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Настави" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>Сакупљам информације о проблему</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "Прикупљене су информације које могу да помогну ауторима у решавању проблема " "који сте пријавили." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "Шаљем информације о проблему" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>Шаљем информације о проблему</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "Прикупљене информације се шаљу систему за праћење грешака. Ово ће потрајати " "неколико минута." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Датотека урушавања Апорта" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(бинарни подаци)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "Извините, програм „%s“ се неочекивано зауставио." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "Извините, „%s“ се неочекивано затворио." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "Извините, „%s“ је наишао на унутрашњу грешку." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Да ли желите да пошаљете извештај програмерима?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Пошаљи" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "Приморај затварање" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Поново покрени" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "Програм „%s“ је престао да одговара." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "Програм „%s“ је престао да одговара." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Пакет: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "Извините, дошло је до проблема приликом инсталирања софтвера." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "Програм „%s“ је наишао на унутрашњу грешку." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "Програм „%s“ се неочекивано затворио." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "Занемари будуће проблеме ове врсте" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Сакриј детаље" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Коришћење: %s <извештај> <циљни директоријум>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "Одредишни директоријум постоји и није празан." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "Корисник:" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "Лозинка:" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "Прикупљам информације о проблему" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Прикупљам информације о проблему" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "Прикупљене информације могу бити послате програмерима ради побољшања " "програма. То може потрајати неколико минута." #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "Шаљем информације о проблему" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Прикупљам системске информације" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "Потврђивање идентитета је неопходно за прикупљање системских података за " "извештај о овом проблему" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "Извештавање о проблемима система" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" "Унесите вашу лозинку да приступите извештавању проблема системских програма" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Пријави проблем..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Пријавите грешке у раду програмерима" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "Погледајте страницу упутства за појединости." #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "наводи назив датотеке дневника коју произведе валгринд" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" "поново користи претходно направљени директоријум пробног система (СДИР) или, " "ако не постоји, прави га" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" "не прави или поново користи директоријум пробног система за додатне симболе " "исправљања грешака већ се ослања само на инсталиране симболе исправљања " "грешака." #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" "поново користи претходно направљени директоријум оставе (СДИР) или, ако не " "постоји, прави га" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" "извештава о напредовању преузетог/инсталираног приликом инсталације пакета у " "пробном систему" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" "извршни који је покренут под валгриндовим алатом за проверу меморије зарад " "откривања цурења меморије" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" "Инсталира један посебан пакет у пробном систему (може бити одређен више пута)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "Грешка: „%s“ није извршни. Стајем." #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" "Ваш систем сада може постати нестабилан и може бити потребно да га поново " "покренете." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" "Неће унети нове трагове у извештај, већ ће их записати на стандардни излаз." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "Покреће међудејствену гдб сесију са језгром припремљеног извештаја (-o " "занемарено; неће преписати извештај)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "Записује измењени извештај у задату датотеку уместо да мења оригинални " "извештај" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" "Уклања језгро припремљеног из извештаја након поновног стварања спремника " "путање" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "Замењује кључну датотеку извештаја" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "Замењује извршну путању извештаја" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "Замењује мапе процеса извештаја" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "Обнавља информације пакета извештаја" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" "Изграђује привремени пробни систем и преузима/инсталира потребне пакете и " "симболе за исправљање грешака у њему; без ове опције претпоставља се да су " "потребни пакети и симболи за исправљање грешака већ инсталирани на систему. " "Аргумент указује на основни директоријум подешавања система пакетирања; ако " "сте одредили „system“, користиће системске датотеке подешавања, али ће тада " "бити у стању да испрати урушавања која се дешавају на тренутно покренутом " "издању." #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" "Извештава о напредовању преузетог/инсталираног приликом инсталације пакета у " "пробном систему" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "Придодаје ознаку времена порукама дневника, за групну радњу" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" "Направи и користи ризнице трећих страна од изворних наведених у извештајима" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "Директоријум оставе за пакете преузете у пробном систему" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" "Директоријум за нераспаковане пакете. Наредна покретања ће подразумевати да " "је било који већ преузети пакет такође извучен у овом издвојеном окружењу." #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" "Путања до датотеке са информацијама за потврђивање идентитета базе података " "урушавања. Ово се користи када наводите ИБ урушавања да бисте послали " "пронађене трагове спремника (само ако ни „-g“, ни „-o“, ни „-s“ нису " "наведени)" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "Приказује пронађене трагове спремника и тражи потврду пре него што их пошаље " "у базу података о урушавањима." #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" "Путања до двоструке базе података скулајта (основно: без провере дупликата)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "Не можете да користите „-C“ без „-S“. Заустављам." #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "Да ли је у реду да пошаљем ове као прилоге? [y/n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "Изгледа да овај пакет није исправно инсталиран" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "Ово није званичан „%s“ пакет. Уклоните пакет било које треће стране и " "покушајте опет." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "Имате инсталирана нека застарела издања пакета. Надоградите следеће пакете и " "проверите да ли и даље долази до проблема:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "непознат програм" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Извините, програм „%s“ је неочекивано затворен" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Проблем у „%s“" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "Ваш рачунар нема довољно слободне меморије да самостално анализира проблем и " "пошаље извештај ауторима." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Неисправан извештај о проблему" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "Вама није допуштено да приступите извештају овог проблема." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Грешка" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "Нема довољно простора на диску за обрађивање овог извештаја." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "Ниједан пакет није наведен" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "Треба да одредите пакет или ПИБ. Погледајте „--help“ за више информација." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Приступ је одбијен" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "Наведени процес не припада вама. Покрените овај програм као власник процеса " "или као администратор." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "Неисправан ПИБ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "Наведени ПИБ не припада програму." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "Скрипта симптома „%s“ није одредила ниједан подутицајни пакет" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "Пакет „%s“ не постоји" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "Не могу да направим извештај" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "Освежавам извештај о проблему" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "Ви нисте извештач или нисте уписани за извештавање о овом проблему, или је " "извештај дупликат или је већ затворен.\n" "\n" "Направите нови извештај користећи „apport-bug“." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "Ви нисте извештач о овом проблему. Много је лакше означити грешку као " "дупликат неког другог проблема него правити нови извештај.\n" "\n" "Препоручујемо вам да убаците извештај о грешци у неки већ постојећи " "користећи „apport-bug“ и да исти прокоментаришете.\n" "\n" "Да ли заиста желите да наставите?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "Нису прикупљене додатне информације." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "О каквом проблему желите да известите?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Непознати симптом" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "Симптом „%s“ није познат." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "Након затварања ове поруке кликните на прозор неког програма да известите о " "његовом проблему." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "икспроп није успео да одреди ИБ процеса прозора" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "%prog <број извештаја>" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "Наводи назив пакета." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "Додаје додатну ознаку извештају. Може бити одређено више пута." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [опције] [симптом|пиб|пакет|путања програма|.apport/.crash датотека]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Биће покренут у режиму пријављивања грешке. Захтева назив пакета (--package) " "и један опционалан пиб (--pid), или само пиб (--pid). Ако ништа није дато, " "приказаће списак познатих симптома. (Подразумева се ако је дат само један " "аргумент.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "Притисните на прозор као циљ да попуните извештај о проблему." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" "Биће покренут у режиму слања грешке. Може да садржи опционални пакет (--" "package)." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "Попуниће извештај грешке о симптому. (Подразумева се ако је назив симптома " "дат као једини аргумент.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "Навешће назив пакета у режиму пријављивања грешке (--file-bug). Ово је " "изборно ако је одређен пиб (--pid). (Подразумева се ако је назив пакета дат " "као једини аргумент.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "Наводи покренути програм у „--file-bug“ режиму. Ако је ово одређено, " "извештај о грешци ће садржати више информација. (Подразумева се ако је пиб " "дат као једини аргумент.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "Обезбеђени пиб је проблематичан програм." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "Пријављује о урушавању из дате „.apport“ или „.crash“ датотеке уместо једне " "приправне у „%s“. (Подразумева се ако је датотека дата као једини аргумент.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" "У режиму пријављивања грешке, чува прикупљене информације у датотеку уместо " "да шаље извештај. Датотека може бити послата касније и са неког другог " "рачунара." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Приказује број издања Апорта." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "Ово ће покренути „apport-retrace“ у прозору терминала да испита пад." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "Покреће гдб сесију" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "Покреће гдб сесију без преузимања симбола уклањања грешака" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "Освежи „%s“ потпуном симболичком трасом спремника" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" "Овај извештај о проблему се односи на програм који није више инсталиран." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" "Проблем се догодио са програмом „%s“ који се изменио од када је дошло до " "урушавања." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "Овај извештај о грешци је оштећен и не може бити обрађен." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "Извештај припада пакету који није инсталиран." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" "Дошло је до грешке док сам покушавао да обрадим извештај о овом проблему:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "Не могу да утврдим пакет или изворни назив пакета." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Не могу да покренем прегледника интернета" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "Не могу да покренем прегледника интернета да бих отворио „%s“." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "Унесите информације о вашем налогу за систем праћења грешака „%s“" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Проблем са мрежом" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "Не могу да успоставим везу са базом података о урушавањима, проверите везу " "са интернетом." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Недостатак меморије" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "Ваш систем нема довољно меморије да обради овај извештај о паду система." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "Проблем не може бити пријављен:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Проблем је већ познат" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "Овај проблем је већ пријављен у извештају о грешци приказаном у прегледнику " "интернета. Проверите да ли можете да додате било какву додатну информацију " "која би могла да буде од помоћи ауторима." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "Овај проблем је већ пријављен програмерима. Хвала вам!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" "Ово се догодило за време претходне обуставе, и спречило је систем да настави " "исправно." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" "Ово се догодило за време претходног замрзавања, и спречило је систем да " "настави исправно." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "Процес настављања се „заледио“ при самом крају и све је изгледало као да је " "успешно завршен." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Притисните неки тастер да наставите..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "Шта желите да урадите? Ваше могућности су:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Изаберите (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i бајта)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "Након обављеног слања извештаја о проблему, попуните формулар \n" "у самостално отвореном прегледнику интернета." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "&Пошаљи извештај (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "&Испитај локално" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "&Прикажи извештај" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" "&Задржи датотеку извештаја за касније слање или умножавање на неко друго " "место" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "Откажи и &занемари будуће грешке у раду овог издања програма" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Откажи" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Датотека извештаја о проблему:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&Потврди" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Грешка: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "Прикупљене информације могу бити послате програмерима ради\n" "побољшања програма. То може потрајати неколико минута." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "Прикупљене информације се шаљу систему за праћење грешака.\n" "Ово може потрајати неколико минута." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Урађено" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "ништа" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Изабрано: %s. Више избора:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Избори:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Путања до датотеке („Унеси“ да откажете):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "Датотека не постоји." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "Ово је директоријум." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "Да наставите, морате да посетите следећу адресу:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "Сада можете покренути прегледника, или умножити ову адресу у прегледнику на " "неком другом рачунару." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Покрени прегледника сада" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" "На чекању нема извештаја о паду. Пробајте „--help“ за више информација." #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">Извините, пакет „%s“ није успео да се " #~ "инсталира или надогради.</span>" #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "Завршите извештај (препоручено; %s)" #~ msgid "Content of the report" #~ msgstr "Садржај извештаја" #~ msgid "Package problem" #~ msgstr "Проблем пакета" #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "" #~ "Можете помоћи ауторима да поправе пакет тако што ћете пријавити проблем." #~ msgid "&Details..." #~ msgstr "&Детаљи..." #, python-format #~ msgid "Sorry, the program \"%s\" closed unexpectedly." #~ msgstr "Извините, програм „%s“ се неочекивано затворио." #~ msgid "Generic error" #~ msgstr "Општа грешка" #~ msgid "&Send" #~ msgstr "&Пошаљи" #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "&Пошаљи комплетан извештај (препоручљиво; %s)" #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "Ово није оригинални %s пакет" #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "Можете помоћи програмерима да реше проблем пријављивањем истог." #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "Непотпун извештај (спора интернет веза; %s)" #~ msgid "Restart _Program" #~ msgstr "_Поново покрени програм" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "Ако нисте радили ништа поверљиво (уношење лозинке или других\n" #~ "приватних информација), можете да помогнете у побољшавању програма\n" #~ "тако што ћете пријавити проблем." #~ msgid "&Report Problem..." #~ msgstr "&Пријави проблем..." #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "Пакет „%s“ није успео да се инсталира или надогради." #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "Пошаљи &скраћени извештај (спора Интернет веза; %s)" #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "До овога је дошло приликом претходне обуставе што је исту спречило да " #~ "правилно настави." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "До овога је дошло приликом претходног замрзавања што је истог спречило да " #~ "правилно настави." #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>Да ли желите програмерима да пошаљете извештај о " #~ "проблему?</b></big>\n" #~ "\n" #~ "Након завршеног слања извештаја о проблему, попуните формулар у аутоматски " #~ "отвореној страници у интернет претраживачу." #~ msgid "Application problem" #~ msgstr "Проблем програма" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "Ако нисте радили ништа поверљиво (уношење лозинке или неке друге приватне " #~ "информације), можете помоћи побољшању програма тако што ћете пријавити " #~ "проблем." #~ msgid "_Ignore future crashes of this program version" #~ msgstr "_Занемари будуће падове ове верзије програма" #~ msgid "_Report Problem..." #~ msgstr "При_јави проблем..." #~ msgid "_Send Report" #~ msgstr "По_шаљи извештај" #~ msgid "&Ignore future crashes of this program version" #~ msgstr "&Занемари будуће грешке у раду ове верзије програма" #~ msgid "Restart &Program" #~ msgstr "Поново покрени &програм" #, python-format #~ msgid "Sorry, the package \"%s\" failed to install or upgrade." #~ msgstr "Извините, пакет „%s“ није успео да се инсталира или надогради." #, python-format #~ msgid "Sorry, %s closed unexpectedly" #~ msgstr "Извините, „%s“ се неочекивано затворио" #, python-format #~ msgid "Sorry, %s closed unexpectedly." #~ msgstr "Извините, „%s“ се неочекивано затворио." #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "Ваш систем је наишао на озбиљан проблем у језгру." #~ msgid "Kernel problem" #~ msgstr "Проблем језгра" #~ msgid "Send this data to the developers?" #~ msgstr "Да пошаљем ове податке програмерима?" #~ msgid "" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "После завршеног слања извештаја о проблему, попуните формулар који ће се " #~ "аутоматски отворити у интернет претраживачу." #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "Ова радња ће уклонити неке делове из извештаја. Они су веома корисни за " #~ "ауторе у циљу решавања проблема, али је за вас можда превише за слање ако " #~ "имате спору интернет везу." #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s се неочекивано затворио %s у %s." #, python-format #~ msgid "Sorry, the application %s has closed unexpectedly." #~ msgstr "Извините, програм „%s“ се неочекивано затворио." #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "неисправан број аргумента; користите „--help“ за кратку помоћ" #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [опције] <извештај проблема апорта | ИБ урушавања>" #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "" #~ "такође требате да извршите месну радњу (-s, -g, -o) или доставите датотеку " #~ "за потврђивање идентитета (--auth); погледајте „--help“ за кратку помоћ" #~ msgid "Your system might become unstablenow and might need to be restarted." #~ msgstr "" #~ "Ваш систем може сада постати нестабилан и можда треба бити поново покренут." �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/sv.po������������������������������������������������������������������������������0000644�0000000�0000000�00000136072�12677230222�012651� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Swedish translation for apport # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:46+0000\n" "Last-Translator: Martin Pitt <martin.pitt@ubuntu.com>\n" "Language-Team: Swedish <sv@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: sv\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "Apport" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Kraschrapport" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>Tyvärr, ett internt fel inträffade.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "Starta om datorn om du fortsätter att uppleva problem." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "Skicka en felrapport för att hjälpa till att rätta till problemet" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "Ignorera framtida problem med denna programversion" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Visa information" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "Und_ersök lokalt" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Lämna stängd" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Fortsätt" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>Samlar information om problemet</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "Information samlas in som kan hjälpa utvecklarna att rätta till problemet " "som du rapporterar." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "Skickar probleminformation" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>Skickar probleminformation</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "Den insamlade informationen skickas till felrapporteringssystemet. Det kan " "ta några minuter." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Kraschrapportsfil för Apport" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(binär data)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "Tyvärr, %s har oväntat stängts av." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "Tyvärr, %s har påträffat ett internt fel." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Skicka problemrapport till utvecklarna?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Skicka" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Starta igen" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Paket: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "Tyvärr, ett problem inträffade vid installation av program." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "Programmet %s har oväntat stängts av." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "Ignorera framtida problem av denna typ" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Dölj information" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Användning: %s <rapport> <målkatalog>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "Målkatalogen finns och är inte tom." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "Användarnamn:" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "Lösenord:" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "Samlar in probleminformation" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Samlar in probleminformation" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "Den insamlade informationen kan skickas till utvecklarna för att förbättra " "programmet. Det här kan ta några minuter." #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "Skickar probleminformation" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Rapportera ett problem..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Rapportera ett fel till utvecklarna" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "Installera ett extrapaket i sandlådan (kan anges flera gånger)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "Ditt system kan nu bli instabilt och kan behöva att startas om." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" "Lägg inte in nya bakåtspårningar i rapporten, men skriv dem till standard ut." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "Starta en interaktiv gdb-session med rapportens minnesutskrift (-o " "ignoreras; skriver inte om rapporten)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "Skriv ändrad rapport till angiven fil istället för att ändra den " "ursprungliga rapporten" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" "Ta bort minnesutskriften från rapporten efter omgenerering av stackspårning" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "Åsidosätt rapportens CoreFile" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "Åsidosätt rapportens ExecutablePath" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "Åsidosätt rapportens ProcMaps" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "Bygg om rapportens paketinformation" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" "Bygg en tillfällig sandlåda och hämta/installera nödvändiga paket samt " "felsökningssymbolerna där; utan det här alternativet antas att nödvändiga " "paket och felsökningssymboler redan har installerats på systemet. Argumentet " "pekar på baskatalogen för pakethanteringssystemets konfiguration; om du " "anger \"system\" kommer det använda systemets konfigurationsfiler, men " "kommer då endast kunna bakåtspåra krascher som skedde i den utgåva som nu " "körs." #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" "Rapportera förlopp för hämtning/installation när paket installeras i " "sandlådan" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" "Lägg till tidsstämplar längst fram i loggmeddelanden, för automatiserade " "åtgärder" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" "Skapa och använd tredjepartsförråd från platser specificerade i rapporter" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "Mellanlagringskatalog för paket som hämtas i sandlådan" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" "Sökväg till en fil med autentiseringsinformation för kraschdatabasen. Detta " "används när ett krasch-id anges för att skicka upp retraced stackspårningar " "(endast om ingen av -g, -o, eller -s har angivits)" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "Visa retraced stackspårningar och fråga efter bekräftelse innan de skickas " "till kraschdatabasen." #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" "Sökväg till den duplicerade sqlite-databasen (standard: ingen kontroll av " "duplikat)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "OK att skicka dessa som bilagor? [y/n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "Detta paket verkar inte ha installerats korrekt" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "Det här är inte ett officiellt %s-paket. Ta bort eventuella tredjepartspaket " "och försök igen." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "Du har några föråldrade paketversioner installerade. Uppgradera följande " "paket och kontrollera om problemet kvarstår:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "okänt program" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Tyvärr, programmet \"%s\" avslutades oväntat" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Problem i %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "Din dator har inte tillräckligt med ledigt minne för att automatiskt " "analysera problemet och skicka en rapport till utvecklarna." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Ogiltig problemrapport" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "Du tillåts inte komma åt denna problemrapport." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Fel" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" "Det finns inte tillräckligt mycket diskutrymme för att behandla denna " "rapport." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "Inget paket angivit" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "DU måste ange ett paket eller en PID. Se --help för mer information." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Åtkomst nekad" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "Den angivna processen tillhör inte dig. Kör det här programmet som " "processägaren eller som root." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "Ogiltig PID" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "Det angivna process-id:t tillhör inte något program." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "Symtomskriptet %s fastställde inte ett påverkat paket" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "Paketet %s finns inte" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "Kan inte skapa rapporten" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "Uppdaterar problemrapporten" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "Du är inte rapportör eller prenumerant av denna problemrapport, eller så är " "rapporten en dubblett eller redan stängd.\n" "\n" "Skapa en ny rapport med \"apport-bug\"." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "Du är inte den som rapporterat denna problemrapport. Det är mycket enklare " "att märka en felrapport som en dubblett av en annan än att flytta dina " "kommentarer och bilagor till en ny felrapport.\n" "\n" "Vi rekommenderar därför att du skapar en ny felrapport med \"apport-bug\" " "och skriver en kommentar i denna felrapport om den nya rapporten du skapar.\n" "\n" "Vill du verkligen fortsätta?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "Ingen ytterligare information har samlats in." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "Vilken typ av problem vill du rapportera?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Okänd symptom" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "Symptomen \"%s\" är inte känd." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "Efter att du stängt detta meddelande kan du klicka på ett programfönster för " "att rapportera ett problem med det." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "xprop misslyckades med att fastställa process-ID för fönstret" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "%prog <rapportnummer>" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "Ange paketnamn." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "Lägg till en extra tagg till rapporten. Kan anges flera gånger." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [flaggor] [symptom|pid|package|program sökväg|.apport/.crash-fil]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Starta i felrapporteringsläge. Kräver --package och en valfri --pid, eller " "bara en --pid. Om ingen anges så visas en lista över kända symptom. " "(Standard om ett enda argument anges.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "Klicka på ett fönster för att rapportera ett problem med det." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "Starta i feluppdateringsläge. Kan ta emot en valfri --package." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "Skicka in en felrapport om ett symptom. (Standard om symptomnamnet anges som " "enda argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "Ange paketnamn i läget --file-bug. Detta är valfritt om en --pid anges. " "(Standard om paketnamnet anges som enda argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "Ange ett körande program i --file-bug-läget. Om detta anges kommer " "felrapporten att innehålla mer information (underförstått om pid anges som " "enda argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "Rapportera kraschen från angiven fil med ändelsen .apport eller .crash " "istället för de väntande i %s. (Standard om filen anges som enda argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" "I felrapporteringsläge kommer insamlad information att sparas i en fil " "istället för att rapportera. Denna fil kan sedan rapporteras in från en " "annan dator." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Skriv ut versionsnummer för Apport." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" "Detta kommer starta apport-retrace i ett terminalfönster för att undersöka " "kraschen." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "Kör GDB-session" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "Kör GDB-session utan att ladda ner felsökningssymboler" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "Uppdatera %s med fullständigt symbolisk stackspårning" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" "Denna problemrapport gäller för ett program som inte längre finns " "installerat." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" "Problemet inträffade med programmet %s, vilket har ändrats sedan kraschen " "hände." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "Den här problemrapporten är skadad och kan inte behandlas." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "Rapporten tillhör ett paket som inte är installerat." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "Ett fel inträffade när den här problemrapporten skulle bearbetas:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "Kunde inte bestämma paketet eller källpaketets namn." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Kunde inte starta webbläsaren" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "Kunde inte starta webbläsaren för att öppna %s." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "Ange din kontoinformation för felrapporteringssystemet %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Nätverksproblem" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "Kan inte ansluta till kraschdatabasen. Kontrollera din internetanslutning." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Slut på minne" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "Ditt system har inte tillräckligt mycket minne att behandla den här " "kraschrapporten." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "Problemet kan inte rapporteras:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Problemet är redan känt" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "Det här problemet var redan rapporterat i felrapporten som visas i " "webbläsaren. Kontrollera om du kan lägga till ytterligare information som " "kan vara av användning för utvecklarna." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "Problemet har redan rapporterats till utvecklarna. Tack!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "Återgångsprocessen hängde sig mycket nära slutet och kommer att se ut att ha " "slutförts normalt." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Tryck på valfri tangent för att fortsätta..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "Vad vill du göra? Dina möjligheter är:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Välj (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i byte)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "Efter att problemrapporten har skickats kan du fylla i formuläret i den\n" "webbläsare som automatiskt öppnas." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "&Skicka rapport (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "Und&ersök lokalt" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "&Visa rapport" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" "&Behåll rapportfilen för senare sändning eller kopiera den någon annanstans" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "Avbryt och &ignorera framtida krascher av denna programversion" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Avbryt" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Fil för problemrapport:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&Bekräfta" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Fel: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "Den insamlade informationen kan skickas till utvecklarna för att förbättra\n" "programmet. Det kan ta några minuter att genomföra." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "Den insamlade informationen skickas till felhanteringssystemet.\n" "Det här kan ta några minuter." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Färdig" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "inget" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Markerat: %s. Flera val:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Val:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Sökväg till fil (Enter för att avbryta):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "Filen finns inte." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "Detta är en katalog." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "Du måste besöka följande URL för att fortsätta:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "Du kan starta en webbläsare nu eller kopiera denna URL in i en webbläsare på " "en annan dator." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Starta en webbläsare nu" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "Inga väntande kraschrapporter. Prova --help för mer information." #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "" #~ "Du kan hjälpa utvecklarna att rätta till problemet genom att rapportera det." #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "Paketet \"%s\" misslyckades att installeras eller uppgraderas" #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "Komplett rapport (rekommenderas; %s)" #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>Skicka problemrapport till utvecklarna?</b></big>\n" #~ "\n" #~ "Fyll i formuläret i det webbläsarfönster som öppnats automatiskt efter att " #~ "problemrapporten har skickats." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "Om du inte gjorde något av hemlig karaktär (angav lösenord eller annan " #~ "privat information) kan du hjälpa till att förbättra programmet genom att " #~ "rapportera problemet." #, python-format #~ msgid "Sorry, %s closed unexpectedly" #~ msgstr "Tyvärr, %s avslutades oväntat" #~ msgid "Application problem" #~ msgstr "Programproblem" #~ msgid "&Details..." #~ msgstr "&Detaljer..." #~ msgid "_Send Report" #~ msgstr "_Skicka rapport" #~ msgid "Generic error" #~ msgstr "Allmänt fel" #~ msgid "" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "Fyll i formuläret i det webbläsarfönster som öppnats automatiskt efter att " #~ "problemrapporten har skickats." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "Om du inte gjorde något av hemlig karaktär (angav lösenord eller annan\n" #~ "privat information) så kan du hjälpa oss att förbättra programmet genom\n" #~ "att rapportera problemet." #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s stängdes oväntat %s klockan %s." #~ msgid "Restart _Program" #~ msgstr "Starta om _programmet" #, python-format #~ msgid "Sorry, the package \"%s\" failed to install or upgrade." #~ msgstr "" #~ "Tyvärr, paketet \"%s\" misslyckades att installeras eller uppgraderas." #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">Tyvärr, misslyckades att installera " #~ "eller uppgradera paketet \"%s\".</span>" #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "&Skicka komplett rapport (rekommenderas; %s)" #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "Reducerad rapport (långsam Internetanslutning; %s)" #, python-format #~ msgid "Sorry, %s closed unexpectedly." #~ msgstr "Tyvärr, %s stängdes oväntat." #~ msgid "_Ignore future crashes of this program version" #~ msgstr "_Ignorera framtida krascher för den här programversionen" #~ msgid "Restart &Program" #~ msgstr "Starta om &programmet" #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "Skicka &reducerad rapport (långsam internetanslutning; %s)" #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "Det här kommer att ta bort vissa större delar från rapporten. Dessa är " #~ "mycket användbara för utvecklarna för att felsöka problemet, men kan vara " #~ "för stora för dig att skicka upp om du har en långsam Internetanslutning." #~ msgid "&Report Problem..." #~ msgstr "&Rapportera problem..." #~ msgid "_Report Problem..." #~ msgstr "_Rapportera problem..." #~ msgid "&Send" #~ msgstr "&Skicka" #~ msgid "Kernel problem" #~ msgstr "Problem i kärnan" #~ msgid "&Ignore future crashes of this program version" #~ msgstr "&Ignorera framtida krascher för den här programversionen" #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "" #~ "Du kan hjälpa utvecklarna att rätta till paketet genom att rapportera " #~ "problemet." #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "Det här är inte ett genuint %s-paket" #, python-format #~ msgid "Sorry, the program \"%s\" closed unexpectedly." #~ msgstr "Tyvärr, programmet \"%s\" stängdes oväntat." #~ msgid "Content of the report" #~ msgstr "Rapportens innehåll" #~ msgid "Package problem" #~ msgstr "Paketproblem" #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "Ditt system har påträffat ett allvarligt problem i kärnan." #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Detta inträffade under ett tidigare vänteläge och förhindrade det från att " #~ "korrekt återgå till normalt läge." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Detta inträffade under ett tidigare viloläge och förhindrade det från att " #~ "korrekt återgå till normalt läge." #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [flaggor] <apport problemrapport | krasch-id>" #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "felaktigt antal argument; använd --help för en kortare hjälp" #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "" #~ "du behöver antingen göra en lokal åtgärd (-s, -g, -o) eller ange en " #~ "autentiseringsfil (--auth); se --help för en kort hjälp" #~ msgid "Send this data to the developers?" #~ msgstr "Skicka denna data till utvecklarna?" #, python-format #~ msgid "Sorry, the application %s has closed unexpectedly." #~ msgstr "Tyvärr, programmet %s har oväntat stängts av." ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/ta.po������������������������������������������������������������������������������0000644�0000000�0000000�00000106543�12677230222�012625� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# translation of ta(3).po to tamil # Tamil translation for apport # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the apport package. # # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # drtvasudevan <agnihot3@gmail.com>, 2006. msgid "" msgstr "" "Project-Id-Version: ta(3)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2012-03-10 22:25+0000\n" "Last-Translator: Sarrvesh <sarrfriend@gmail.com>\n" "Language-Team: tamil <Ubuntu-l10n-tam@lists.ubuntu.com>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: \n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "அப்போர்ட்" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "பிரச்னையின் தகவலைப் பதிவேற்றப்படுகிறது" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "பயனாளர் பெயர்:" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "கடவுச் சொல்:" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "பிரச்னையின் தகவலைப் பதிவேற்றப்படுகிறது" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "" #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "%s இல் இடர்பாடு" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "தங்கள் கணிப்பொறியில் தேவையான இடம் இல்லாததால் மென்பொருட்களை ஆராய்ந்து " "பிரச்சனைகளை தெரிவிக்க இயலவில்லை" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "இந்தப் பிழை அறிக்கையை அணுக தங்களுக்கு அனுமதி கிடையாது" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "பிழை" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "இப் பிழை அறிக்கையைக் கையாள போதிய இடம் தங்கள் கணிப்பொறியில் இல்லை." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "அனுமதி மறுக்கப்பட்டது" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "அறிக்கையை உருவாக்க இயலவில்லை" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "எத்தகையப் பிழையை அறிவிக்க விரும்புகிறீர்கள்?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "" #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "இந்தப் பிழை அறிக்கையைக் கையாளும்போது பிழை ஏற்பட்டுள்ளது" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "பொதிகளின் அல்லது மூல தொகுப்புகளின் பெயரை நிர்ணயிக்க முடியவில்லை." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "இது சில பெரிய உருப்படிகளை அறிக்கையிலிருந்து நீக்கும். இவை நிரல் " #~ "உருவாக்குவோருக்கு மிகவும் உதவக் கூடிய தகவல்கள் ஆயினும் உங்கள் வலை இணைப்பு " #~ "மெதுவானதாக இருப்பின் இது மேலேற்றுவதற்கு பெரியதாக இருக்கலாம்." #, python-format #~ msgid "Sorry, %s closed unexpectedly" #~ msgstr "மன்னிக்கவும், %s எதிர்பாராத விதமாக செயலிழந்துவிட்டது" #, python-format #~ msgid "Sorry, the program \"%s\" closed unexpectedly." #~ msgstr "மன்னிக்கவும், %s பயன்பாடு எதிர்பாராத விதமாக செயலிழந்துவிட்டது." #, python-format #~ msgid "Sorry, %s closed unexpectedly." #~ msgstr "மன்னிக்கவும், %s எதிர்பாராத விதமாக செயலிழந்துவிட்டது." #~ msgid "&Details..." #~ msgstr "&விவரங்கள்..." #~ msgid "&Send" #~ msgstr "&அனுப்புக" #~ msgid "Generic error" #~ msgstr "பொதுவான பிழை" �������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/te.po������������������������������������������������������������������������������0000644�0000000�0000000�00000105700�12677230222�012623� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Telugu translation for apport # Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2011. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2011-10-07 06:10+0000\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: Telugu <te@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: te\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "" #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "ఈ ప్యాకేజీ సరిగ్గా ఇన్స్టాల్ కాదు అనిపిస్తుంది" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "ఈ అధికారిక% s ప్యాకేజీ లేదు. ఏవైనా మూడవ పార్టీ ప్యాకేజీ తొలగించి మళ్ళీ " "ప్రయత్నించండి." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "తెలియని కార్యక్రమం" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "క్షమించాలి, కార్యక్రమం \"% s\" అనుకోకుండా మూసివేయబడింది" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "మీ కంప్యూటర్ ఆటోమేటిక్గా సమస్య విశ్లేషించేందుకు మరియు డెవలపర్లకు ఒక నివేదిక " "పంపేందుకు తగినంత ఉచిత మెమరీ లేదు." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "చెల్లని సమస్య నివేదిక" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "దోషము" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "ఈ నివేదిక ప్రాసెస్ చేయడానికి తగినంత డిస్క్ స్థలం అందుబాటులో లేదు." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "ప్యాకేజీ పేర్కొనలేదు" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "మీరు ఒక ప్యాకేజీ లేదా ఒక PID పేర్కొనాలి. చూడండి --help మరింత సమాచారం కొరకు ." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "అనుమతి నిరాకరించబడింది" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "పేర్కొన్న ప్రక్రియ మీకు సంబంధించినది కాదు. ప్రక్రియ యజమాని లేదా, root లాగ ఈ " "ప్రోగ్రామ్ రన్ చెయ్యండి." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "చెల్లని PID" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "పేర్కొన్న ప్రక్రియ ID ఒక కార్యక్రమానికి సంబంధించినది కాదు." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "లక్షణం లిపి% s ఒక బాధిత ప్యాకేజీ గుర్తించేందుకు లేదు" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "ప్యాకేజీ% s లేదు" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "నివేదిక సృష్టించడం సాధ్యం కాదు" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "సమస్య నివేదిక నవీకరిస్తోంది" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "మీరు ఈ సమస్య నివేదిక యొక్క రిపోర్టర్ లేదా చందాదారుల కాదు, లేదా నివేదిక నకిలీ " "లేదా ఇప్పటికే మూసివేయబడింది.\n" "\"apport-bug\" ఉపయోగించి ఒక నివేదిక రూపొందించండి." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "అదనపు సమాచారం సేకరించ లేదు" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "" #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "నివేదిక ఇన్స్టాల్ లేని ఒక ప్యాకేజీ చెందినది." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "ఈ సమస్య నివేదిక ప్రాసెస్ చేసేటప్పుడు ఒక దోషం ఏర్పడింది:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" ����������������������������������������������������������������apport-2.20.1/po/tg.po������������������������������������������������������������������������������0000644�0000000�0000000�00000150641�12677230222�012631� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Tajik translation for apport # Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2013. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:47+0000\n" "Last-Translator: Martin Pitt <martin.pitt@ubuntu.com>\n" "Language-Team: Tajik <tg@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: tg\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "Apport" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Гузориши вайроншавӣ" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>Мутаассифона, хатогии дохилӣ ба вуҷуд омад.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" "Агар шумо мушкилиҳои дигарро бинед, кӯшиш кунед, ки компютерро бозоғозӣ " "намоед." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "Фиристодани гузориши хатогӣ барои кӯмак дар ислоҳ кардани ин мушкилӣ" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "Нодида гирифтани мушкилиҳои ояндаи ин версияи барнома" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Намоиш додани тафсилот" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "_Санҷиши маҳаллӣ" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Пӯшида нигоҳ доред" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Давом додан" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>Маълумоти мушкилӣ ҷамъ шуда истодааст</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "Маълумоте ҷамъ карда мешавад, ки метавонад ба таҳиягарон ҳангоми ислоҳ " "кардани мушкилии гузоришдодашудаи шумо кӯмак кунад." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "Боркунии иттилооти мушкилӣ" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>Маълумоти мушкилӣ бор шуда истодааст</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "Маълумоти ҷамъшуда ба системаи пайгирии хатогиҳо фиристода шуда истодааст. " "Ин метавонад якчанд дақиқаро гирад." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Файли нокомии Apport" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(иттилооти дуӣ)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "Мутаассифода, барномаи %s ногаҳонан пӯшида шуд." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "Мутаассифона, %s ногаҳонан пӯшида шуд." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "Мутаассифона, %s бо хатогии дохилӣ дучор шуд." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Гузориши мушкилиро ба таҳиягарон мефиристед?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Фиристодан" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "Маҷбур кардани пӯшидан" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Аз нав иҷро кардан" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "Барномаи %s ҷавоб намедиҳад." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "Барномаи \"%s\" ҷавоб намедиҳад." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Баста: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "Мутаассифона, ҳангоми насбкунии нармафзор мушкилие ба вуҷуд омад." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "Барномаи %s дорои хатогии дарунӣ мебошад." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "Барномаи %s ногаҳон қатъ шудааст." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "Нодида гирифтани мушкилиҳои ояндаи ин намуд" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Пинҳон кардани тафсилот" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Истифодабарӣ: %s <report> <target directory>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "Директорияи таъинотӣ вуҷуд дорад ва холӣ намебошад." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "Номи корбар:" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "Парол:" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "Ҷамъкунии маълумоти мушкилӣ" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Ҷамъкунии маълумоти мушкилӣ" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "Маълумоти ҷамъшуда метавонад барои беҳтар кардани барнома ба таҳиягарон " "фиристода шавад. Ин метавонад якчанд дақиқаро гирад." #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "Боркунии иттилооти мушкилӣ" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Ҷвмъ кардани маълумоти система" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "Барои ҷамъ кардани маълумоти система барои ин гузориши мушкилӣ, номи корбар " "ва парол лозим аст" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "Системаи гузоришдиҳии мушкилиҳо" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" "Лутфан, пароли худро ворид кунед, то ин ки ба гузоришҳои мушкилиҳои " "барномаҳои системавӣ дастрасӣ пайдо кунед" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Гузориши мушкилӣ..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Гузориш додани амали нодуруст ба таҳиягарон" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "Барои тафсилот ба саҳифаи man нигаред." #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" "муайян кардани номи файли сабти рӯйдодҳо, ки бо valgrind эҷод карда шудааст" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" "истифодаи дубораи директорияи қаблан эҷодшудаи регдон (SDIR), ё дар ҳолати " "мавҷуд набудан, эҷод кардани он" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" "директорияи регдонро барои аломатҳои иловагии ислоҳи хатоҳо эҷод накунед ё " " аз нав истифода набаред, танҳо ба аломатҳои насбшудаи ислоҳи хатоҳо асос " "ёбед." #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" "истифодаи дубораи директорияи қаблан эҷодшудаи зерҳофиза (CDIR), ё дар " "ҳолати мавҷуд набудан, эҷод кардани он" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" "гузориш додани раванди боргирӣ/насбкунӣ ҳангоми насбкунии бастаҳо ба регдон" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" "файли иҷрошаванда, ки дар абзори саниҷиши ҳофизаи valgrind барои пайдо " "кардани ихроҷҳои ҳофиза иҷро мешавад" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" "Насб кардани бастаи иловагӣ ба регдон (метавонад якчанд маротиба муайян " "карда шавад)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "Хатогӣ: %s иҷро намешавад. Амал қатъ карда шуд." #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" "Ҳозир системаи шумо метавонад ноустувор гардад ва бояд бозоғозӣ карда шавад." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "Пайгириҳои навро ба гузориш нагузоред, онҳоро ба stdout нависед." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "Оғоз кардани ҷаласаи интерактивии gdb бо анбораи мағзи гузориш (-o нодида " "гирифта мешавад; гузоришро рӯйҳамнависӣ намекунад)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "Навиштани гузориши тағйирёфта ба файли додашуда ба ҷойи тағйир додани " "гузориши аслӣ" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" "Тоза кардани дампи мағз аз гузориш баъд аз эҷодкунии дубораи пайгирии анбора" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "Бекор кардани CoreFile-и гузориш" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "Бекор кардани ExecutablePath-и гузориш" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "Бекор кардани ProcMaps-и гузориш" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "Аз нав сохтани маълумоти баста" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" "Сохтани регдони муваққатӣ ва ба он ҷо боргирӣ/насб кардани бастаҳои лозимӣ " "ва аломатҳои ислоҳи хатоҳо; бе ин имкон ҳисоб карда мешавад, ки бастаҳо ва " "аломатҳои ислоҳи хатоҳои лозимӣ аллакай дар система насб карда шудаанд. " "Аргумент ба директорияи асоси конфигуратсияи системаи бастаҳо нишона " "мегузорад; агар шумо \"система\" муайян кунед, он файлҳои конфигуратсияи " "системаро истифода мебарад, аммо он гоҳ метавонад танҳо нокомиҳоеро, ки дар " "релизи ҷории иҷрошаванда ба вуҷуд омаданд, дубора рад мекунад." #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" "Гузориш додани раванди боргирӣ/насбкунӣ ҳангоми насбкунии бастаҳо ба регдон" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "Гузоштани вақт ба паёмҳои сабти рӯйдодҳо, барои амалиётҳои гурӯҳӣ" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "Директорияи зерҳофиза барои бастаҳое, ки дар регдон боргирӣ шудаанд" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" "Директория барои бастаҳои баровардашуда. Иҷрокуниҳои оянда ҳисоб мекунанд, " "ки бастаи аллакай боргиришуда ба ин регдон низ бароварда шудааст." #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" "Масир ба файл бо маълумоти воридшавии пойгоҳи иттилоотии нокомиҳо. Ин он гоҳ " "истифода мешавад, ки барои боркунии пайгириҳои дубора радшудаи анбора ID-и " "нокомӣ муайян карда мешавад (танҳо он гоҳ, ки -g, -o, ё -s муайян нашудааст)" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "Намоиш додани пайгириҳои радшудаи дубора ва пурсидани тасдиқнома пеш аз " "фиристодани онҳо ба пойгоҳи иттилоотии нокомиҳо." #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" "Масир ба пойгоҳи иттилоотии такрории sqlite (пешфарз: бе санҷиши такрориҳо)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" "Шумо наметавонед \"-C\"-ро бе \"-S\" истифода баред. Амал қатъ карда шуд." #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "Инҳоро ҳамчун замимаҳо мефиристонед? [y/n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "Чунин менамояд, ки ин баста ба таври дуруст насб нашудааст" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "Ин бастаи расмии %s намебошад. Лутфан, ягон бастаи тарафи сеюмро тоза карда, " "амалро такрор кунед." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "Шумо баъзе версияҳои кӯҳнаи баста доред. Лутфан, ба бастаҳои зерин такмил " "диҳед ва санҷед, ки оё мушкилӣ боз ҳам ба вуҷуд меояд:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "барномаи номаълум" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Мутаассифона, барномаи \"%s\" ногаҳонан пӯшида шуд" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Мушкилӣ дар %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "Компютери шумо барои ба таври худкор ташхис кардани мушкилӣ ва фиристодани " "гузориш ба таҳиягарон ҳофизаи озоди кофӣ надорад." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Гузориши мушкилӣ беэътибор аст" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "Шумо наметавонед ба ин гузориши мушкилӣ дастрасӣ пайдо кунед." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Хатогӣ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "Барои коркарди ин гузориш фазои диск кофӣ нест." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "Ягон баста муайян нашудааст" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "Шумо бояд баста ё PID-ро муайян кунед. Барои маълумоти бештар \"--help\"-ро " "истифода баред." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Дастарсӣ манъ аст" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "Раванди муайяншуда ба шумо тааллуқ надорад. Лутфан, ин барномаро ҳамчун " "раванди root иҷро кунед." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "PID беэътибор" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "ID-и раванди муайяншуда ба барнома тааллуқ надорад." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "Скрипти нишонаи %s бастаи таъсиргирифтаро муайян накард" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "Бастаи %s вуҷуд надорад" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "Гузориш эҷод намешавад" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "Навсозии гузориши мушкилӣ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "Шумо гузоришдиҳанда ё обуначии ин гузориши мушкилӣ намебошед, ё ки гузориш " "такрорӣ ё аллакай пӯшида мебошад.\n" "\n" "Лутфан, гузориши навро тавассути \"apport-bug\" эҷод кунед." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "Шумо гузоришдиҳандаи ин гузориши мушкилӣ мебошед. Ба ҷойи интиқол додани " "шурҳҳо ва замимаҳои худ ба хатои нав, шумо метавонед ба осонӣ хаторо ҳамчун " "такрорӣ қайд кунед.\n" "\n" "Баъдан, мо тавсия медиҳем, ки шумо гузориши нави хаторо тавассути \"apport-" "bug\" фиристонед, ва дар ин хато дар бораи хатои фиристодашавандаи худ шарҳ " "диҳед.\n" "\n" "Шумо воқеан мехоҳед идома диҳед?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "Ягон маълумоти иловагӣ ҷамъ карда намешавад." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "Шумо мехоҳед кадом намуди мушкилиро гузориш диҳед?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Мушкилии номаълум" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "Мушкилии \"%s\" номаълум аст." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "Баъд аз пӯшидани ин паём, лутфан, ба равзанаи барнома зер кунед, то ин ки " "мушкилии онро гузориш диҳед." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "xprop ID-и раванди равзанаро муайян карда натавонист" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "%prog <report number>" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "Муайян кардани номи баста." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" "Иловакунии барчаспи иловагӣ ба гузориш. Метавонад якчанд маротиба муайян " "карда шавад." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Оғоз дар ҳолати сабти рӯйдодҳои хатогиҳо. \"--package\" ва \"--pid\"-и " "ихтиёриро, ё ки танҳо \"--pid\"-ро талаб мекунад. Агар ягонтои онҳо дода " "нашуда бошад, рӯйхати нишонаҳои маълум намоиш дода мешавад. (Агар аргументи " "ягона дода шавад, ба кор меояд.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "Ба равзанае зер кунед ва мушкилиро гузориш диҳед." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" "Оғоз кардан дар ҳолати навсозии хатогиҳо. Метавонад \"--package\"-и " "ихтиёриро гирад." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "Фиристодани гузориши хатогӣ оид ба нишона. (Танҳо агар номи нишона танҳо " "ҳамчун аргумент дода шудааст, тааллуқ дорад.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "Муайян кардани номи баста дар ҳолати --file-bug. Агар --pid муайян карда " "бошад, ин ихтиёрӣ мебошад. (Агар ба номи баста танҳо як аргумент дода шавад, " "ба кор меояд.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "Муайян кардани барномаи иҷрошаванда дар ҳолати --file-bug. Агар ин муайян " "карда шавад, гузориши хатогӣ маълумоти бештарро дар бар мегирад. (Агар ба " "pid танҳо як аргумент дода шавад, ба кор меояд.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "Pid-и пешниҳодшуда барномаи боздошта мебошад." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "Гузориш додани нокомӣ аз файли додашудаи .apport ё .crash ба ҷойи файлҳои " "мунтазир дар %s. (Агар файл ҳамчун аргументи ягона дода шавад, истифода " "мешавад.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" "Дар намуди фиристодани хатоҳо, маълумоти ҷамъшударо ба ҷойи гузориш додани " "он ба файл захира кунед. Ин файл метавонад баъдан дар компютери дигар " "гузориш дода шавад." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Чоп кардани рақами версияи Apport." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" "Ин apport-retrace-ро дар равзанаи терминал аз нав оғоз мекунад, то ин ки " "нокомӣ ташхис карда шавад." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "Иҷро кардани ҷаласаи gdb" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "Иҷро кардани ҷаласаи gdb бе боргирии аломатҳои ислоҳи хатоҳо" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "Навсозӣ кардани %s бо пайгирии аломатии анбора" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "Гузориши мушкилӣ ба барномае тааллуқ дорад, ки дигар насб нашудааст." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" "Мушкилӣ бо барномаи %s ба вуҷуд омад, ки аз лаҳзаи ба вуҷуд омадани нокомӣ " "тағйир ёфт." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "Гузориши мушкилӣ вайроншуда мебошад ва наметавонад коркард шавад." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "Гузориш ба бастае тааллуқ дорад, ки насб карда нашудааст." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "Ҳангоми кӯшиши коркарди ин гузориши мушкилӣ хатогӣ ба вуҷуд омад:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "Баста ё номи бастаи аслӣ муайян карда нашуд." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Браузер оғоз намешавад" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "Барои кушодани %s браузер оғоз намешавад." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" "Лутфан, маълумоти ҳисоби худро барои системаи пайгирии хатогиҳои %s ворид " "кунед" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Мушкилии шабака" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "Ба пойгоҳи иттилоотии нокомӣ пайваст шудан нашуд, лутфан, пайвасти Интернети " "худро санҷед." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Ҳофиза кофӣ нест" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "Системаи шумо барои коркарди ин гузориши нокомӣ ҳофизаи кофӣ надорад." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "Мушкилӣ гузориш дода намешавад:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Мушкилӣ аллакай дониста мебошад" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "Ин мушкилӣ аллакай даргузориши хатогие, ки дар браузер намоиш дода шуд, " "гузориш дода шуда буд. Лутфан, санҷед, ки оё шумо метавонед ягон маълумоти " "бештарро илова кунед, ки метавонад барои таҳиягарон фоидаовар бошад." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "Ин мушкилӣ аллакай ба таҳиягарон гузориш дода шуд. Ташаккур ба шумо!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "Коркарди оғози дубора дар назди анҷом боздошта шуд, ва ҳамчун бомуваффақият " "ба анҷомрасида намоён мегардад." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Барои идома додан ягон тугмаеро зер кунед..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "Шумо мехоҳед чӣ кор кунед? Имконот зерин аст:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Лутфан интихоб кунед (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i байт)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "Баъд аз фиристодани гузориши мушкилӣ, лутфан, шаклро дар\n" "браузере, ки ба таври худкор кушода мешавад, пур кунед." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "&Фиристодани гузориш (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "&Санҷиши маҳаллӣ" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "&Намоиш додани гузориш" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" "&Нигоҳ доштани файли гузориш барои фиристодани баъдина ё нусхабардорӣ ба " "ҷойи дигар" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" "Бекор кунед ва &нокомиҳои ояндаи ин версияи барномаро нодида гузаронед" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Бекор кардан" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Гузориши мушкилӣ ҳамчун:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&Тасдиқ кардан" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Хатогӣ: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "Маълумоти ҷамъшуда метавонад барои беҳтар кардани барнома ба таҳиягарон \n" "фиристода шавад. Ин метавонад якчанд дақиқаро гирад." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "Маълумоти ҷамъшуда ба системаи пайгирии хатогиҳо фиристода шуда истодааст. \n" "Ин метавонад якчанд дақиқаро гирад." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Тайёр" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "ҳеҷ" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Интихобшуда: %s. Интихобҳои чандгона:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Интихобҳо:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Масири файл (Барои бекор кардан тугмаи \"Enter\"-ро зер кунед):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "Файл вуҷуд надорад." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "Ин директория мебошад." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "Барои идома додан, шумо бояд ба суроғаи URL-и зерин ташриф оред:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "Шумо метавонед ҳозир браузерро иҷро кунед, ё ки ин URL-ро дар браузери " "компютери дигар гузоред." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Ҳозир иҷро кардани браузер" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" "Ягон гузориши интихори нокомиҳо вуҷуд надорад. Барои маълумоти бештар " "фармони \"--help\"-ро истифода баред." #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [options] <гузориши мушкилии барнома | ID-и нокомӣ>" #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "" #~ "миқдори нодурусти аргументҳо; барои кӯмаки кӯтоҳ фармони \"--help\"-ро " #~ "истифода баред" #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "" #~ "шумо бояд амалиёти маҳаллиро иҷро кунед (-s, -g, -o) ё ки файли санҷиши " #~ "ҳаққониятро пешниҳод кунед (--auth); барои кӯмаки кӯтоҳ \"--help\"-ро " #~ "истифода баред" #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Ин ҳангоми боздоштани қаблӣ ва вуҷуд омад, ва ба он оғози дубораи дурустро " #~ "иҷозат надод." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Ин ҳангоми гибернатсияи қаблӣ ба вуҷуд оамд, ва ба он оғози дубораи дурустро " #~ "иҷозат надод." �����������������������������������������������������������������������������������������������apport-2.20.1/po/th.po������������������������������������������������������������������������������0000644�0000000�0000000�00000103740�12677230222�012630� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Thai translation for apport # Copyright (c) 2006 Rosetta Contributors and Canonical Ltd 2006 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2011-10-07 06:10+0000\n" "Last-Translator: Martin Pitt <martin.pitt@ubuntu.com>\n" "Language-Team: Thai <th@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: th\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>กำลังรวบรวมข้อมูลของปัญหา</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>กำลังอัพโหลดข้อมูลของปัญหา</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(binary data)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "ส่งรายงานปัญหาไปยังผู้พัฒนา?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "กำลังรวบรวมข้อมูลของปัญหา" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "รายงานปัญหา" #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "" #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "โปรดเลือก (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&ยกเลิก" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>ส่งรายงานปัญหาไปยังผู้พัฒนา?</b></big>\n" #~ "\n" #~ "หลังจากรายงานถูกส่งไปแล้ว โปรดกรอกรายละเอียดของฟอร์มที่เปิดในเว็บเบราเซอร์" #~ msgid "Application problem" #~ msgstr "ปัญหาของโปรแกรม" #~ msgid "_Send Report" #~ msgstr "ส่งรายงาน" #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">ขออภัย แพ็คเก็จ \"%s\" " #~ "ล้มเหลวในการติดตั้งหรือปรับปรุง</span>" #~ msgid "&Report Problem..." #~ msgstr "&รายงานปัญหา..." #~ msgid "_Report Problem..." #~ msgstr "รายงานปัญหา" #~ msgid "Kernel problem" #~ msgstr "ปัญหาของเคอร์เนล" #~ msgid "Content of the report" #~ msgstr "รายละเอียดของรายงาน" #~ msgid "Package problem" #~ msgstr "ปัญหาของแพ็คเก็จ" ��������������������������������apport-2.20.1/po/tr.po������������������������������������������������������������������������������0000644�0000000�0000000�00000137607�12677230222�012653� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Turkish translation for apport # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:47+0000\n" "Last-Translator: Martin Pitt <martin.pitt@ubuntu.com>\n" "Language-Team: Turkish <tr@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: tr\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "Apport" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "Vazgeç" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "Tamam" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "Çökme raporu" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b> Üzgünüz, içsel bir hata oluştu.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" "Daha fazla sorunla karşılaşırsanız bilgisayarınız yeniden başlatmayı deneyin." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "Bu sorunu çözmek için hata raporu gönder" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "Bu yazılım sürümünün gelecekteki sorunlarını görmezden gel" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "Ayrıntıları Göster" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "Yerel olarak _İncele" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Kapalı Bırak" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Devam Et" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>Sorunla ilgili bilgi toplanıyor</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "Bilgi, bildirdiğiniz sorunun çözümünde geliştiricilere yardımı " "dokunabileceği için toplanıyor." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "Sorun bilgileri yükleniyor" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>Sorun bilgileri yükleniyor</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "Toplanan bilgi hata izleme sistemine gönderiliyor. Bu, birkaç dakika " "sürebilir." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Apport çökme dosyası" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(ikili veri)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "Üzgünüz, %s uygulaması beklenmedik şekilde durdu." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "Üzgünüz, %s beklenmedik bir şekilde kapandı." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "Üzgünüz, %s içsel bir hatayla karşılaştı." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Hata raporu geliştiricilere gönderilsin mi?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Gönder" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "Kapatmaya Zorla" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Yeniden başlat" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "%s uygulaması yanıt vermeyi durdurdu." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "\"%s\" programı yanıt vermeyi durdurdu." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Paket: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "Üzgünüz, yazılım yüklenirken bir hatayla karşılaşıldı." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "%s uygulaması bir iç hata ile karşılaştı." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "%s yazılımı beklenmedik bir şekilde kapandı." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "İlerde oluşabilecek bu türden sorunları yok say" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "Ayrıntıları Gizle" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Kullanım: %s <rapor> <hedef dizin>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "Hedef dizin zaten mevcut ve boş değil." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "Kullanıcı Adı:" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "Parola:" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "Sorun Bilgileri Toplanıyor" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Sorun bilgileri toplanıyor" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "Toplanan bilgi, uygulamanın geliştirilmesi için geliştiricilere " "gönderilebilir. Bu, birkaç dakika sürebilir." #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "Sorun Bilgileri Gönderiliyor" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Sistem bilgisi topla" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "Bu sorun raporu için sistem bilgisi toplamada yetkilendirme gereklidir." #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "Sistem problem raporları" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" "Lütfen sistem programlarının problem raporlarına ulaşmak için şifrenizi girin" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Bir sorunu bildir..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Geliştiricilere bir arıza bildir" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "Ayrıntılar için man sayfasına bakın." #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "valgrind tarafından oluşturulan günlük dosya adını belirtin" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" "önceden oluşturulmuş sanbox dizinini (SDIR) tekrar kullan veya bulunmuyorsa " "oluştur" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" "ek hata ayıklayıcı sembolleri için sandbox dizinini tekrar kullanma veya " "oluşturma ancak, sadece yüklü hata ayıklama sembollerini kullan." #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" "önceden oluşturulmuş önbellek dizinini (CDIR) tekrar kullan veya " "bulunmuyorsa oluştur" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "paketleri sandbox içine kurarken indirme/yükleme sürecini bildir" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" "bellek sızma denetimi için valgrind'in memcheck aracı altında çalışan " "uygulama" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" "Fazladan bir paketi sandbox içine yükle (birden çok kez belirtilebilir)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "Hata: %s yürütülebilir değil. Durduruluyor." #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" "Sisteminiz şimdi kararsız hale gelebilir ve yeniden başlatılması gerekebilir." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "Raporda yeni işaretlemeler yapmak yerine bunları stdout'a yazın." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "Raporun son dökümü ile bir interaktif gdb oturumu başlat (-o yoksayılır; " "raporun üzerine yazmaz)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "Asıl raporu değiştirmek yerine düzeltilmiş raporu verilen dosyaya yaz" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "Kutup yığınını küme izleme düzeltmesinden sonra rapordan geri al" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "Raporun ÇekirdekDosyası'nı Geçersiz Kıl" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "Raporun çalıştırılabilir yolunu geçersiz kıl (ExecutablePath)" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "Raporun ProcMap'lerini Geçersiz Kıl" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "Raporların Yedek bilgisini onar" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" "Geçici bir test alanı oluşturup indirdiğiniz gerekli paketleri ve böcek " "temizleme sembollerini buraya kurun; bu seçenek olmadan gerekli paketlerin " "ve böcek temizleme sembollerinin daha önce sisteme yüklendiğini " "varsayacaktır. Deliller paketleme sistemi yapılandırma ana dizinini; eğer " "\"sistem\" olarak belirlerseniz sistem yapılandırma dosyalarını işaret eder, " "bu durumda yalnızca şu anda çalışan dağıtımda meydana gelen çökmelerin " "kaynağına gidebilir." #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "Paketler sandbox içine kurulurken indirme/yüklemeyi raporla" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "Yığın işlemi için kayıt iletilerinin başına zaman etiketleri ekle" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" "Raporlarda kaynağı tanımlanmış üçüncü parti depoları oluştur ve kullan" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "Sandbox içine indirilmiş paketler için önbellek dizini" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" "Açılmamış paketlerin dizini. Sonraki çalıştırmalar, daha önceden indirilmiş " "herhangi paketin de bu sandbox'a çıkartılacağını varsayacak." #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" "Çökme Veritabanı Doğrulama bilgisini içeren bir dosya yolu belirtin. Bu " "çökme ID'si belirlenirken kaynağına ulaşılmış yığın izlerinini yüklemede " "kullanılır. (Eğer -g, -o veya -s belirtiymediyse)" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "Yeniden oluşturulmuş yığın izlerini göster ve bunları çökme veritabanına " "göndermeden önce onay al." #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "Kopya sqlite veritabanının yolu (varsayılan: kopya kontrolü yok)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "-S olmaksızın -C kullanamazsınız. Durduruluyor." #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "Eklenti olarak gönderilsinler mi? [y/n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "Bu paket doğru yüklenmiş gibi görünmüyor." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "Bu resmi bir %s paketi değil. Lütfen herhangi bir üçüncü parti paketini " "kaldırıp tekrar deneyin." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "Kurulmuş eski paket sürümlerine sahipsiniz. Lütfen aşağıdaki paketleri " "yükseltin ve ardından sorunun yine ortaya çıkıp çıkmadığını kontrol edin.\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "bilinmeyen program" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Üzgünüm, \"%s\" programı beklenmedik şekilde kapandı" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "%s'de problem" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "Bilgisayarınız otomatik olarak sorunu analiz etmek ve geliştiricilere rapor " "göndermek için yeterli boş belleğe sahip değil." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Geçersiz sorun raporu" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "Bu hata raporuna erişmeye izniniz yok." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Hata" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "Bu raporu işlemek için yeterli disk alanı yok." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "Hiçbir paket belirtilmemiş" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "Bir paket veya PID belirtmelisiniz. Daha fazla bilgi için --help çıktısına " "bakın." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "İzin verilmedi" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "Belirtilen süreç size ait değil. Lütfen bu programı süreç sahibi veya root " "olarak çalıştırın." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "Geçersiz PID" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "Belirlenen işlem ID'si bir programa ait değil." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "Symptom betiği %s etkin bir paket tanımlamadı" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "%s pakedi bulunamadı" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "Rapor oluşturulamıyor" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "Sorun raporu güncelleniyor" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "Bu problem raporunun bildireni ya da takipçisi değilsiniz. ya da rapor çift " "kopya veya halihazırda kapandı.\n" "\n" "Lütfen ''apport-bug'' kullanarak yeni bir rapor oluşturun." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "Bu problem raporunun bildireni değilsiniz. Yorumlarınızı ve eklentilerinizi " "yeni bir hataya taşımaktansa bir hatayı bir diğerinin kopyası olarak " "işaretlemek çok daha kolaydır.\n" "\n" "Daha sonra size: ''apport-bug'' kullanarak yeni bir hata raporu " "oluşturmanızı ve oluşturduğunuz bu hata ile ilgili bir yorum yapmanızı " "öneriyoruz.\n" "\n" "Gerçekten devam etmek istiyor musunuz?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "Hiçbir ek bilgi toplanmadı." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "Ne tür bir sorun bildirmek istiyorsunuz?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Bilinmeyen belirti" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "\"%s\" belirtisi bilinmiyor." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "Bu iletiyi kapattıktan sonra lütfen bununla ilgili sorunu bildirmek için bir " "uygulama penceresine tıklayın." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "xprop, pencrenin işlem kimliğini saptamada başarısız oldu" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "%prog <rapor numarası>" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "Paket adı belirtin." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "Rapora fazladan bir etiket ekleyin. Birçok kez belirtilmiş olabilir." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Hata dosyalama kipinde başlat. --package ve isteğe bağlı --pid, veya sadece -" "-pid gerektirir. Eğer hiçbiri belirtilmezse, bilinen belirtilerin listesini " "göster. (Kastedilen; eğer tek bir argüman verilirse.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "Bir sorunu bildirmek için hedef olarak bir pencereye tıklayın." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "Hata güncelleme kipinde başlat. Seçime bağlı --package alınabilir." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "Bir belirti için hata raporu dosyala. (Kastedilen; eğer belirti adı sadece " "argüman olarak verilirse.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "--dosya-hata modunda paket adını belirtin. Bir -pid belirtilmişse, bu " "seçenek opsiyoneldir. (Paket adı tek argüman olarak verilmişse uygulanır.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "--file-bug kipinde çalışacak bir program belirtebilirsiniz. Eğer " "belirtilmişse, hata raporu daha fazla ayrıntı içerecektir.(PID 'in tek " "parametre olarak verilmesi durumu kastedilmiştir)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "Belirtilen pid (program id) askıdaki bir uygulama" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "Hata raporunu %s'te beklemekte olanlar yerine .apport veya .crash " "dosyalarından bildirin. (Eğer dosya adı verilen tek argüman ise)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" "Hata belirtme kipinde, toplanan bilgileri raporlamak yerine onları bir " "dosyaya kaydedin. Bu dosya daha sonra farklı bir makineden raporlanabilir." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Apport sürüm numarasını yazdır." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" "Bu, çökmeyi incelemek için bir uçbirim penceresinde \"apport-retrace\" " "komutunu çalıştıracak." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "gdb oturumunu çalıştır" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "gdb oturumunu böcek temizleme simgelerini indirmeden çalıştır" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "%s dosyasını tümüyle sembolik küme iziyle güncelle" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "Bu problem raporu, artık yüklü olmayan bir programa ait." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" "Çökme olduktan sonra değişime uğrayan %s yazılımıyla ilgili sorun oluştu." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "Bu sorun raporu hasarlı, bu nedenle işlenemiyor." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "Rapor kurulmamış bir pakete ait." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "Bu sorun raporunu işlemeye çalışırken bir hata oluştu:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "Paket ya da kaynak kod paketi adı belirlenemedi." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Ağ tarayıcı başlatılamıyor" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "%s açmak için ağ tarayıcı başlatılamıyor." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "Lütfen %s hata takip sistemi için hesap bilgilerinizi girin." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Ağ sorunu" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "Çöküş veritabanına bağlanılamıyor, lütfen internet bağlantınızı kontrol edin." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Yetersiz bellek" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "Sisteminiz bu çökme raporunu işlemek için yeterli belleğe sahip değil." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "Sorun raporlanamadı:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Sorun önceden bildirilmiş" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "Bu sorun web tarayıcısında görüntülenmekte olan hata raporuyla önceden " "bildirilmiş. Lütfen geliştiricilere yardımcı olabilecek ek bir bilgi ekleyip " "ekleyemeyeceğinize bakın." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "Bu sorun daha önce geliştiricilere bildirildi. Teşekkür ederiz!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "Kalan işlem bitmesine çok yakın bir yerde takıldı ve normal bir biçimde " "tamamlanmış gibi görünecek." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Devam etmek için bir tuşa basın..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "Ne yapmak istersiniz? Seçenekleriniz:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Lütfen seçin (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i sekiz ikil)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "Problem raporu gönderildikten sonra, lütfen web tarayıcınızda otomatik\n" "olarak açılan sayfada yer alan formu doldurun." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "Rapor &Gönder (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "Yerel olarak &İncele" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "Rapor Görüntü&le" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" "&Rapor dosyasını, daha sonra gönderme veya başka bir yere kopyalanması için " "saklayın." #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "Programın bu sürümünün gelecekteki çökmelerini iptal et ve &yoksay" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Vazgeç" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Sorun rapor dosyası:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&Onayla" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Hata: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "Toplanan bilgiler geliştiriciler için uygulama geliştirmek için " "gönderilebilir. \n" "Bu birkaç dakika sürebilir." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "Toplanan bilgiler hata takip sistemi için gönderiliyor.\n" "Bu birkaç dakika sürebilir." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Bitti" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "hiçbiri" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Seçili: %s. Birden fazla seçenek:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Seçenekler:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Dosya yolu (Iptal etmek için girin):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "Dosya mevcut değil." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "Bu bir dizin." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "Devam etmek için, aşağıdaki URL'yi ziyaret etmelisiniz:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "Şimdi tarayıcıda açabilirsiniz, ya da bu URL'yi başka bilgisayardaki bir " "tarayıcıya kopyalayabilirsiniz." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Tarayıcıyı aç" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "Bekleyen çökme raporu yok. Daha fazla bilgi için --help 'i deneyin." #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "Tam rapor (önerilen; %s)" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "Sorun oluştuğunda yapmakta olduğunuz işlemin gizliliği yoksa (parola ya da " #~ "başka kişisel bilgilerin girilmesi gibi), sorunu rapor ederek uygulamanın " #~ "geliştirilmesine yardım edebilirsiniz." #~ msgid "_Send Report" #~ msgstr "Rapor _Gönder" #~ msgid "Restart _Program" #~ msgstr "Programı _Yeniden Başlat" #~ msgid "_Ignore future crashes of this program version" #~ msgstr "_Programın bu sürümünün gelecekteki çökmeleri göz ardı et." #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "Bu, rapordan kimi büyük öğeleri çıkaracak. Bunlar geliştiriciler için çok " #~ "kullanışlı bilgiler olsa da, eğer yavaş bir internet bağlantınız varsa " #~ "yüklemeniz için fazla büyük olabilir." #~ msgid "_Report Problem..." #~ msgstr "Sorunu _Bildir..." #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "" #~ "Sorunu bildirerek geliştiricilerin paketi düzeltmelerine yardım " #~ "edebilirsiniz." #~ msgid "Content of the report" #~ msgstr "Raporun içeriği" #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "Sisteminiz ciddi bir çekirdek sorunu ile karşılaştı." #~ msgid "Package problem" #~ msgstr "Paket sorunu" #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "" #~ "Bu sorunu rapor ederek geliştiricilerin düzeltmesinee yardım edebilirsiniz." #~ msgid "Kernel problem" #~ msgstr "Çekirdek sorunu" #~ msgid "Application problem" #~ msgstr "Uygulama sorunu" #~ msgid "Generic error" #~ msgstr "Genel hata" #~ msgid "&Report Problem..." #~ msgstr "&Sorunu Bildir..." #, python-format #~ msgid "Sorry, %s closed unexpectedly." #~ msgstr "Üzgünüm, %s beklenmedik bir şekilde kapandı." #~ msgid "&Send" #~ msgstr "&Gönder" #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "" #~ "%s uygulaması %s tarihinde %s saatinde beklenmedik şekilde kapatıldı." #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "Bu özgün bir %s paketi değil" #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">Özür dilerim, \"%s\" paketi kurulum " #~ "veya güncelleme hatası alındı.</span>" #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>Geliştiricilerine sorunu rapor gönderilsin mi?</b></big>\n" #~ "\n" #~ "Sorunu raporladıktan sonra, otomatik olarak açılan web tarayıcısında formu " #~ "doldurun gönderildi." #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "&Tam rapor gönderin(önerilen; %s)" #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "&Özet rapor gönderin (düşük ağ bağlantısı; %s)" #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [options] <apport problem report | crash ID>" #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "\"%s\" paketinin kurulumu veya güncellenmesi başarısız." #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "Yanlış sayıda argüman; kısa bir yardım için --help 'i kullanın" #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "" #~ "Ya bir yerel işlem yapmalı (-s, -g ve -o gibi) veya Kimlik denetleme dosyası " #~ "(--auth); bak --yardım için kısa bir yardım" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "Eğer güvenlik gerektiren bir işlem yapmıyorsanız (şifre veya başka\n" #~ "özel bilgiler girmek gibi), hata raporu göndererek uygulamanın " #~ "geliştirilmesine\n" #~ "yardımcı olabilirsiniz." #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Bu, geçmişteki bir askıya alma sırasında meydana geldi ve uygun bir şekilde " #~ "sürdürülmesini engelledi." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Bu, geçmişteki bir hazırda bekletme işlemi sırasında meydana geldi ve uygun " #~ "bir şekilde sürdürülmesini engelledi." #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "Kısa rapor (yavaş internet bağlantısı; %s)" #~ msgid "&Details..." #~ msgstr "&Detaylar..." #, python-format #~ msgid "Sorry, the application %s has closed unexpectedly." #~ msgstr "Üzgünüz, %s uygulaması beklenmedik bir şekilde kapandı." #~ msgid "Your system might become unstablenow and might need to be restarted." #~ msgstr "" #~ "Sisteminiz şu an kararsızlaşabilir ve yeniden başlatılması gerekebilir." �������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/ug.po������������������������������������������������������������������������������0000644�0000000�0000000�00000150502�12677230222�012626� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Uighur translation for apport # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2009. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:46+0000\n" "Last-Translator: bilgeturghun <bilgeks@gmail.com>\n" "Language-Team: Uighur <ug@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: ug\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "Apport" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "ئەمەلدىن قالدۇر" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "تامام" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "يىمىرىلىش دوكلاتى" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>كەچۈرۈڭ، ئىچكى خاتالىق يۈز بەردى.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" "ئەگەر تېخىمۇ كۆپ مەسىلىنى بايقىسىڭىز، كومپيۇتېرنى قايتا قوزغىتىشنى سىناڭ." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" "بۇ مەسىلىنى ئوڭلاشقا ياردەم قىلىش ئۈچۈن خاتالىق دوكلاتىدىن بىرنى يوللاڭ" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "بۇ پروگرامما نەشرىنىڭ كەلگۈسىدىكى مەسىلىلىرىگە پەرۋا قىلما" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "تەپسىلاتلارنى كۆرسەت" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "يەرلىكتە تەكشۈر(_E)" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "تاقاق پېتى قالدۇر" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "داۋاملاشتۇر" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>مەسىلە ھەققىدە ئۇچۇرلارنى توپلاۋاتىدۇ</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "سىز مەلۇم قىلغان مەسىلىنى ئىجادىيەتچىلەرنىڭ تۈزىتىشىگە ياردىمى بولسۇن دەپ " "ئۇچۇرلار توپلاندى." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "مەسىلىلەر ھەققىدىكى ئۇچۇرلارنى يېڭىلاۋاتىدۇ" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>مەسىلە ھەققىدىكى ئۇچۇرلارنى يۈكلەۋاتىدۇ</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "توپلانغان ئۇچۇرلارنى كەمتۈك باشقۇرۇش سىستېمىسىغا ئەۋەتمەكچى. بۇنىڭغا ئازراق " "ۋاقىت كېتىدۇ." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Apport چاتاق ھۆججىتى" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(ئىككىلىك سانلىق-مەلۇمات)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "كەچۈرۈڭ، پروگرامما %s تاسادىپىي توختاپ قالدى." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "كەچۈرۈڭ، %s تاسادىپىي تاقالدى." #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "كەچۈرۈڭ، %s ئىچكى خاتالىققا يولۇقتى." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "بۇ مەلۇماتنى ئىجادىيەتچىگە ئەۋەتسۇنمۇ؟" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "يوللا" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "مەجبۇرىي يېپىلغان" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "قايتا ئىجرا قىل" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "پروگرامما %s جاۋاب قايتۇرۇشتىن توختىدى." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "پروگرامما «%s» جاۋاب قايتۇرۇشتىن توختىدى." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "بوغچا: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "كەچۈرۈڭ، يۇمشاق دېتال ئورناتقاندا بىر خاتالىق كۆرۈلدى." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "پروگرامما %s نىڭدا بىر ئىچكى خاتالىق يۈز بەردى." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "بۇ %s ئەپ تاسادىپىي تاقالدى." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "بۇ تۈردىكى كەلگۈسىدىكى مەسىلىگە سەل قاراش" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "تەپسىلاتلارنى يوشۇر" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "ئىشلىتىش ئۇسۇلى: %s <مەلۇمات> <نىشان مۇندەرىجە>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "نىشان مۇندەرىجە بار ھەم بوش ئەمەس." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "ئىشلەتكۈچى ئاتى:" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "ئىم:" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "چاتاق ھەققىدىكى ئۇچۇرلارنى توپلاۋاتىدۇ" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "مەسىلىلەرگە ئائىت ئۇچۇرلارنى توپلاۋاتىدۇ" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "ئىجادىيەتچىنىڭ پروگرامما ئىقتىدارىنى ياخشىلىشىغا قۇلايلىق يارىتىش ئۈچۈن، " "توپلانغان ئۇچۇرلار ئىجادىيەتچىگە يوللىنىدۇ. بۇنىڭغا بىرقانچە مىنۇت كېتىدۇ." #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "چاتاق ھەققىدىكى ئۇچۇرلارنى يۈكلەۋاتىدۇ" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "سىستېما ئۇچۇرلىرىنى توپلا" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "بۇ مەسىلىنى مەلۇم قىلىشتا سىستېما ئۇچۇرلىرىنى توپلاش كېرەك، بىراق بۇنىڭ " "ئۈچۈن كىملىك دەلىللەش زۆرۈردۇر." #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "سىستېما مەسىلە دوكلاتى" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "ئىمنى كىرگۈزۈپ سىستېما مەسىلە دوكلاتىنى كۆرۈڭ." #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "مەسىلىنى مەلۇم قىلىش..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "خاتالىقنى ئىجادىيەتچىگە مەلۇم قىلىدۇ" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "تېخىمۇ كۆپ تەپسىلاتنى man قوللانمىسىدىن كۆرۈڭ." #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "بۇ valgrind ھاسىل قىلىدىغان خاتىرە ھۆججىتىنىڭ ئىسمىنى بەلگىلەڭ." #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" "ئىلگىرى قۇرۇلغان sandbox مۇندەرىجىسى (SDIR) نى قايتا ئىشلىتىدۇ ياكى ئەگەر ئۇ " "مەۋجۇت بولمىسا، ئۇنى قۇرىدۇ" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" "قوشۇمچە سازلاش بەلگىسى ئۈچۈن sandbox مۇندەرىجىسىنى قۇرمايدۇ ياكى قايتا " "ئىشلەتمەيدۇ ئەمما پەقەت ئورنىتىلغان سازلاش بەلگىلىرىگە تايىنىدۇ." #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" "ئىلگىرى قۇرۇلغان غەملەك مۇندەرىجە (CDIR) نى قايتا ئىشلىتىدۇ ياكى ئەگەر " "مەۋجۇت بولمىسا ئۇنى قۇرىدۇ" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" "ئورنىتىش بوغچىسى sandbox قا كىرسە چۈشۈرۈش/ئورنىتىش جەريانىنى دوكلات قىلىدۇ" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" "ئەسلەك ھالقىشنى بايقاش ئۈچۈن ئىجراچان پىروگراممىلار valgrind ئەسلەك تەكشۈرۈش " "قورالىنىڭ ئاستىدا ئىجرا قىلىنىدۇ" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" "قۇم خالتىسى ئىچىگە قوشۇمچە بوغچىنى ئورنىتىش(بىر قانچە قېتىم كۆرسىتىشكە " "بولىدۇ)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "خاتالىق: %s نى ئىجرا قىلغىلى بولمايدۇ. توختىتىۋاتىدۇ." #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" "سىستېمىڭىزنىڭ تۇراقسىز بولۇپ قېلىش ئېھتىماللىقى بار، قايتا قوزغىتىش " "زۆرۈرىيىتى باردەك قىلىدۇ." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "بۇ يېڭى چىققانلىرىنى مەلۇماتقا يازماي stdout قا يازسۇن." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "مەلۇماتنىڭ غول تۆكمىسىگە نىسبەتەن تەسىرلىشىشچان gdb ئەڭگىمەسىنى باشلايدۇ(-o " "غا پەرۋا قىلمايدۇ؛ مەلۇماتنى قاپلىمايدۇ)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "ئەسلىدىكى مەلۇماتقا يازماي كۆرسىتىلگەن ھۆججەتكە يازسۇن." #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" "stack ئىزلىشى قايتا ھاسىللانغاندىن كېيىن، غول تۆكمىنى(core dump) مەلۇماتتىن " "چىقىرىۋېتىش" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "دوكلاتنىڭ CoreFile نى قاپلاش" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "دوكلاتنىڭ ExecutablePath نى قاپلاش" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "دوكلاتنىڭ ProcMaps نى قاپلاش" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "دوكلاتنىڭ بوغچا ئۇچۇرىنى قايتا قۇرۇش" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" "ۋاقتىنچە قۇم ساندۇقى قۇرىدۇ ھەم قاچىلاش بوغچىسىنى يۈكلەيدۇ/قاچىلايدۇ.ئەگەر " "بۇ تاللانما ئىشلىتىلمىسە، سىستېمىغا لازىملىق دېتالنى قاچىلايدۇ. ئەگەر سىز " "سىستېما بەلگىلىمىسىڭىز، سىستېما سەپلىمىسىنى ئىشلىتىدۇ، شۇنىڭ بىلەن ئىجرا " "قىلىنىۋاتقان سىستېمىنى ھالاك قىلىدۇ." #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" "بوغچىلارنى قۇم خالتىسى ئىچىگە ئورناتقاندىكى چۈشۈرۈش/ئورنىتىش جەريانىنى مەلۇم " "قىلىش" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" "ئۇچۇر خاتىرىلەشتىن بۇرۇن ۋاقىتنى خاتىرىلەڭ، بۇ قېتىملىق مەشغۇلاتنى " "تەمىنلەيدۇ." #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "قۇم خالتىسى ئىچىگە چۈشۈرۈلگەن بوغچىلارنىڭ غەملەك مۇندەرىجىسى" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" "يېيىلمىغان بوغچىلارنىڭ مۇندەرىجىسى. كېيىن ئىجرا قىلىدىغان چاغدا، چۈشۈرۈلگەن " "بوغچىلار مۇشۇ يەرگە يېيىلىدۇ." #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" "يىمىرىلىش ساندانىنى زىيارەت قىلىش ئۇچۇرى ھۆججىتىنىڭ يولىنى ئۆز ئىچىگە " "ئالىدۇ. بۇ تاللانما مۇئەييەن يىمىرىلىش كودىدا ئىزلاشنىڭ قايتۇرما سازلاش " "ئۇچۇرى ئۈچۈن ئىشلىتىلىدۇ. (ئىشلەتكۈچى -g, -o, ياكى -s نى بەلگىلىگەن " "بولمىسىلا)" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "قايتۇرغان ئىزلاش ئۇچۇرىنى كۆرسىتىدۇ ھەمدە يىمىرىلىش ساندىنىغا يوللاش " "يوللىماسلىقنى جەزملەشنى سورايدۇ." #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" "تەكرارلانغان sqlite ساندىنىنىڭ يولى.(كۆڭۈلدە تەكرارلىنىشنى تەكشۈرمەيدۇ)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" "سىز -S نى بەلگىلىمەي تۇرۇپ -C تاللانمىنى ئىشلىتەلمەيسىز، توختىتىۋاتىدۇ." #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "بۇ قوشۇلما ھۆججەتلەرنى ئەۋەتسە بولامدۇ؟[y/n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "مەزكۇر بوغچا توغرا ئورنىتىلمىغاندەك قىلىدۇ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "بۇ رەسمىي %s بوغچىسى ئەمەس. ئۈچىنچى تەرەپ بوغچىسىنى چىقىرىۋېتىپ، قايتا سىناڭ." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "بەزىبىر كونا بوغچىلار بار ئىكەن. تۆۋەندىكى بوغچىلارنى يۈكسەلدۈرگەندىن كېيىن " "يەنە تەكشۈرۈپ كۆرۈڭ:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "نامەلۇم پروگرامما" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "كەچۈرۈڭ، پروگرامما «%s» ئويلىمىغان يەردىن تاقىلىپ قالدى" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "مەسىلە %s نىڭدا" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "مەسىلىنى ئاپتوماتىك ئانالىز قىلىش ۋە ئىجادىيەتچىگە مەلۇمات يوللاشقا كېرەكلىك " "ئەسلەك يېتەرلىك ئەمەس ئىكەن." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "مەلۇمات ئىناۋەتسىز" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "بۇ مەسىلىنى مەلۇم قىلىش ھوقۇقىڭىز يوق." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "خاتالىق" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "مەزكۇر مەلۇماتنى بىر تەرەپ قىلىشقا كېرەكلىك دىسكا بوشلۇقى يوق." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "بوغچا كۆرسىتىلمىگەن." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "بوغچا ياكى بىر PID نى كۆرسىتىڭ. تەپسىلاتلار ئۈچۈن --help نى ئىشلىتىڭ." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "ھوقۇقىڭىز يەتمىدى" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "بۇ سىزنىڭ پروگراممىڭىز ئەمەس. مەزكۇر پروگراممىنى ئۆزىڭىزنىڭ ياكى root نىڭ " "ھوقۇقىدا ئىجرا قىلدۇرۇڭ." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "ئىناۋەتسىز PID" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "كۆرسىتىلگەن PID مەزكۇر پروگراممىنىڭ PID ئەمەس." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "ئەھۋال قوليازما %s تەسىر كۆرسىتىدىغان بوغچىنى بەلگىلىمىگەن" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "بوغچا %s مەۋجۇت ئەمەس" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "مەلۇمات قۇرالمىدى" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "مەلۇماتىنى يېڭىلاۋاتىدۇ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "سىز بۇ مەسىلىنى مەلۇم قىلغان كىشى ئەمەس، ياكى مەلۇمات تەكرارلانغان ياكى " "ئاللىقاچان تاقالغان.\n" "\n" "«apport-bug» نى ئىشلىتىپ يېڭىدىن مەلۇمات تەييارلاڭ." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "سىز بۇ مەسىلىنى مەلۇم قىلغۇچى ئەمەس. يېڭى كەمتۈك دەپ مەلۇم قىلغاندىن كۆرە، " "باشقا كەمتۈك بىلەن ئوخشاش دەپ بەلگە قويۇش تېخىمۇ ئاسان.\n" "\n" "ئارقىدىن، «apport-bug» نى ئىشلىتىپ، كەمتۈك مەلۇم قىلىپ، مەلۇماتنىڭ ئىچىگە " "كەمتۈك ھەققىدىكى ئىزاھاتنى يېزىشىڭىزنى تەۋسىيە قىلىمىز.\n" "\n" "راستلا داۋاملاشتۇرامسىز؟" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "قوشۇمچە ئۇچۇرلار توپلانمىدى." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "قانداق مەسىلىنى مەلۇم قىلماقچى؟" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "نامەلۇم ھادىسە" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "ھادىسە «%s» نامەلۇم." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "ئۇچۇرنى ياپقاندىن كېيىن پروگرامما كۆزنىكىنى چېكىپ، بۇ مەسىلىنى مەلۇم قىلىڭ." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "xprop كۆزنەكنىڭ ئىجرا ID سىنى تېپىشتا مەغلۇپ بولدى" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "%prog <مەلۇمات نومۇرى>" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "بوغچا ئاتىنى كۆرسىتىپ بېرىڭ." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "دوكلاتقا يېڭىدىن خەتكۈش قوشۇڭ، كۆپ قېتىم بەلگىلەشكە بولىدۇ." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "كەمتۈك يېزىش ھالىتىدە باشلايدۇ. ئىجرا قىلغاندا --package ۋە --pid ياكى " "پەقەتلا --pid تاللانمىسىنى يازسىلا بولىدۇ. ئەگەر ھېچقايسى يېزىلمىسا، " "كۆرۈلگەن ئالامەتلەرنىڭ تىزىمىنى كۆرسىتىدۇ. (پەقەت يالغۇز ئارگۇمېنت " "بېرىلگەندىلا.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "خاتالىق دوكلاتىنى تولدۇرۇش ئۈچۈن كۆزنەكنى نىشان قىلىپ چېكىڭ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" "كەمتۈك يېڭىلاش ھالىتىدە قوزغىتىش. --package دېگەن تاللانمىنى ئىشلىتىشكە " "بولىدۇ." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "ھادىسە ھەققىدە مەلۇمات تەييارلاڭ. (Implied if symptom name is given as only " "argument)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "--file-bug ھالىتىدە بوغچا ئاتىنى كۆرسىتىڭ. ئەگەر --pid كۆرسىتىلگەن بولسا، " "بۇنى كۆرسەتمىسىمۇ بولىدۇ.(Implied if package name is given as only argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "--file-bug ھالىتىدە ئىجرا بولۇۋاتقان پروگراممىنى كۆرسىتىڭ. ئەگەر بۇ " "كۆرسىتىلسە، كەمتۈك مەلۇماتىغا تېخىمۇ كۆپ ئۇچۇرلار قوشۇلىدۇ. (Implied if pid " "is given as only argument.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" "تەمىنلەنگەن pid بولسا بىر ئېسىلىپ قالغان(توختاپ قالغان) پروگرامما ئىكەن." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "چاتاق مەلۇماتىنى %s نىڭدىكى كۈتۈپ تۇرغان ھۆججەتنى ئەمەس بەلكى بېرىلگەن " ".apport ياكى .crash ھۆججىتىنى ئىشلىتىپ يوللاش(پەقەت ھۆججەت ئاتى ئارگۇمېنت " "شەكىلدە بېرىلگەندىلا.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" "كەمتۈك يېزىش ھالىتىدە، توپلانغان ئۇچۇرلارنى مەلۇم قىلماي ھۆججەتكە ساقلاپ " "قويۇشقا، بۇ ھۆججەتنى كېيىن باشقا كومپيۇتېر ئارقىلىق يوللاشقىمۇ بولىدۇ." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Apport نىڭ نەشر نومۇرىنى بېسىپ چىقىرىدۇ." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" "crash نى تەكشۈرۈش ئۈچۈن apport-retrace تېرمىنال كۆزنىكىدە ئىجرا بولىدۇ." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "gdb ئەڭگىمەسىنى ئىجرا قىلىش" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "سازلاش بەلگىلىرىنى چۈشۈرمەيلا gdb ئەڭگىمەسىنى ئىجرا قىلىش" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "%s نى تولۇق بەلگىلەر بىلەن يېڭىلاش" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "بۇ دوكلات زادىلا ئورنىتىلىپ باقمىغان پروگراممىغا ئىشلىتىلىدۇ." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "توقۇنۇشتا ئۆزگەرگەن پروگرامما %s تە خاتالىق كۆرۈلدى." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "بوغچا بۇزۇلغان بولغاچقا بىر تەرەپ قىلغىلى بولمىدى." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "مەلۇمات ئورنىتىلمىغان بوغچىغا تەۋە ئىكەن." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" "بۇ مەسىلە ھەققىدىكى مەلۇماتنى بىر تەرەپ قىلاي دېگەندە خاتالىق يۈز بەردى:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "بوغچا ياكى مەنبە كود بوغچىسىنىڭ نامىنى بېكىتكىلى بولمىدى." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "توركۆرگۈنى قوزغاتقىلى بولمىدى" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "%s نى كۆرىدىغان توركۆرگۈنى قوزغاتقىلى بولمىدى." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "كەمتۈك باشقۇرۇش سىستېمىسى %s غا ھېسابات ئۇچۇرىڭىزنى كىرگۈزۈڭ." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "توردىكى مەسىلە" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "crash ساندىنىغا باغلىنالمىدى، ئىنتېرنېت باغلىنىشىنى تەكشۈرۈپ كۆرۈڭ." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "ئەسلەك يېتىشمىدى" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" "سىستېمىڭىزدا مەزكۇر crash مەلۇماتىنى بىر تەرەپ قىلىشقا يېتەرلىك ئەسلەك يوق." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "مەسىلىنى مەلۇم قىلغىلى بولمىدى:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "مەسىلە ئاللىقاچان ئايدىڭلاشقان" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "توركۆرگۈدىكى كەمتۈك دوكلاتىدا بۇ مەسىلە ئاللىقاچان مەلۇم قىلىنغان. تەكشۈرۈپ " "كۆرۈڭ، ئەگەر سىزنىڭ مەلۇماتىڭىزدا تېخىمۇ كۆپرەك ئۇچۇرلار بار بولسا " "ئىجادىيەتچىلەر ئۈچۈن تېخىمۇ پايدىلىق بولاتتى." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "مەسىلە ئىجادىيەتچىلەرگە مەلۇم قىلىندى. سىزگە تەشەككۈر!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "ئەسلىگە قايتۇرۇش باسقۇچى ئاخىرلىشاي دەپ قالدى، بۇنداق بولغاندا نورمال " "تاماملىنىدۇ." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "خالىغان كۇنۇپكىنى باسسىڭىز داۋاملىشىدۇ..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "نېمە قىلغۇڭىز بار؟ سىز تۆۋەندىكىلەرنى قىلالايسىز:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "تاللاڭ(%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i بايت)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "مەلۇماتنى ئەۋەتىپ بولغاندىن كېيىن \n" "توركۆرگۈدە ئېچىلغان بەتتىكى جەدۋەلنى تولدۇرۇڭ." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "مەلۇمات (%s) نى ئەۋەت(&S)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "يەرلىكتە تەكشۈر(&E)" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "مەلۇمات كۆرسەت(&V)" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" "كېيىن يەنە باشقىلارغا ئەۋەتىش ياكى كۆچۈرۈپ بېرىش ئۈچۈن مەلۇمات ھۆججىتى " "ساقلاپ قوي(&K)" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" "پروگراممىنىڭ مەزكۇر نەشرىدە بۇنىڭدىن كېلىپ چىققان crashes نى ئەمەلدىن قالدۇر " "ياكى پىسەنت قىلما(&I)" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "ئەمەلدىن قالدۇر(&C)" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "مەلۇمات ھۆججىتى:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "جەزملە(&C)" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "خاتالىق: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "ئىجادىيەتچىلەرنىڭ پروگراممىنى مۇكەممەللەشتۈرۈشى ئۈچۈن \n" "توپلانغان ئۇچۇرلارنى ئەۋەتىدۇ. بۇنىڭغا ئازراق ۋاقىت كېتىدۇ." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "توپلانغان ئۇچۇرلارنى كەمتۈك باشقۇرۇش سىستېمىسىغا ئەۋەتىدۇ.\n" "بۇنىڭغا ئازراق ۋاقىت كېتىدۇ." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "تامام(&D)" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "يوق" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "تاللانغىنى : %s. كوپنى تاللاش:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "تاللاشلار:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "ھۆججەتنىڭ يولى(بولدى قىلىش ئۈچۈن قايتۇرۇش كۇنۇپكىسىنى بېسىڭ):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "ھۆججەت مەۋجۇت ئەمەس." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "بۇ بىر مۇندەرىجە." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "داۋاملاشتۇرۇش ئۈچۈن تۆۋەندىكى URL نى كۆرۈشىڭىز كېرەك:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "ئەمدى توركۆرگۈنى قوزغىتىڭ ياكى، URL نى باشقا كومپيۇتېردىكى توركۆرگۈگە " "كۆچۈرۈڭ." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "ھازىرلا توركۆرگۈنى قوزغىتىش" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" "تېخى بىر تەرەپ قىلىنمىغان crash ھەققىدىكى مەلۇمات يوق. --help نى ئىشلەتسىڭىز " "تېخىمۇ كوپ ئۇچۇرغا ئېرىشەلەيسىز." #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [options] <apport problem report | crash ID>" #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "" #~ "argument لارنىڭ سانى توغرا ئەمەس. --help نى ئىشلىتىپ قىسقىچە چۈشەندۈرۈشىنى " #~ "كۆرۈڭ." #, python-format #~ msgid "Sorry, the program \"%s\" closed unexpectedly." #~ msgstr "كەچۈرۈڭ، پروگرامما «%s» ئويلىمىغان يەردىن تاقىلىپ قالدى." #, python-format #~ msgid "Sorry, the package \"%s\" failed to install or upgrade." #~ msgstr "كەچۈرۈڭ، بوغچا «%s» نى ئورنىتىش ياكى يۈكسەلدۈرۈش مەغلۇپ بولدى." #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "سىستېمىڭىزنىڭ يادروسىدا(kernel) ئېغىر مەسىلە يۈز بەردى." #~ msgid "Kernel problem" #~ msgstr "يادرو(kernel) دىكى مەسىلە" #~ msgid "Send this data to the developers?" #~ msgstr "بۇ سانلىق-مەلۇماتلارنى ئىجادىيەتچىگە ئەۋەتسۇنمۇ؟" #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "بۇ ئالدىنقى قېتىملىق توڭلىتىش جەريانىدا يۈز بەرگەن بولۇپ، قايتا باشلاشقا " #~ "بولمىدى." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "بۇ ئالدىنقى قېتىملىق ئۈچەككە كىرگۈزۈش جەريانىدا يۈز بەرگەن بولۇپ، قايتا " #~ "باشلاشقا بولمىدى." #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">كەچۈرۈڭ، بوغچا «%s» نى ئورنىتىش ياكى " #~ "يۈكسەلدۈرۈش مەغلۇپ بولدى.</span>" #~ msgid "Package problem" #~ msgstr "بوغچىدىكى مەسىلە" #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "بۇ رەسمىي %s بوغچىسى ئەمەس" #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "بوغچا «%s» نى ئورنىتىش ياكى يېڭىلاش مەغلۇپ بولدى." #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "" #~ "يەرلىكتە مەشغۇلات قىلىشىڭىز (-s، -g، -o) ياكى سالاھىيەت دەلىللەش ھۆججىتىنى (-" #~ "-auth) تەمىنلىشىڭىز كېرەك. ئاددىي ياردەم ئۇچۇرىغا ئېرىشىش ئۈچۈن --help نى " #~ "ئىشلىتىڭ." #, python-format #~ msgid "Sorry, the application %s has closed unexpectedly." #~ msgstr "كەچۈرۈڭ بۇ %s ئەپ تاسادىپىي تاقالدى." #~ msgid "Your system might become unstablenow and might need to be restarted." #~ msgstr "" #~ "سىستېمىڭىزنىڭ بىنورمال بولۇش ئېھتىماللىقى بار، شۇڭا قايتا قوزغىتىش زۆرۈر." ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/uk.po������������������������������������������������������������������������������0000644�0000000�0000000�00000155070�12677230222�012637� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Ukrainian translation for apport # Copyright (c) 2006 Rosetta Contributors and Canonical Ltd 2006 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:46+0000\n" "Last-Translator: Martin Pitt <martin.pitt@ubuntu.com>\n" "Language-Team: Ukrainian <uk@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: uk\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "Скасувати" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "Гаразд" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>Вибачте, сталася внутрішня помилка.</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "Ігнорувати подальші збої у цій версії програми" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Залишити закритим" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>Збір інформації про помилку</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "Проводиться збір інформації, яка може допомогти розробникам виправити цю " "помилку." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "Вивантаження даних щодо проблеми" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>Передача інформації про помилку</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "Зібрана інформація пересилається до системи обліку помилок. Це може тривати " "декілька хвилин." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Пошкодженя файлу Apport" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(двійкові дані)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "Вибачте, застосунок %s неочікувано зупинився." #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "Вибачте, у %s сталася внутрішня помилка." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Надіслати розробникам звіт про помилку?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "Примусове закриття" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "Застосунок %s перестав відповідати." #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "Програма \"%s\" перестала відповідати." #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Пакунок: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "Вибачте, під час встановлення сталася помилка." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "У додатку %s сталася внутрішня помилка." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "Ігнорувати такі проблеми у майбутньому" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Використання: %s <report> <target directory>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "Каталог адресату існує і не є порожнім." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Збір інформації про помилку" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" "Зібрані дані можна надіслати розробникам з метою покращення програми. Ви " "можете витратити на це декілька хвилин." #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "Зібрати системну інформацію" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" "Потрібно надати права, щоб зібрати потрібні дані для звітування цієї проблеми" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "Звіти про системні помилки" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" "Уведіть свій пароль для доступу до звітів про помилки у системних програмах" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Повідомити про помилку..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Звітувати про збій розробникам" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "Дивіться подробиці у man-сторінці." #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "вкажіть ім’я log-файлу для valgrind" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" "використовувати раніше створений каталог пісочниці (SDIR) або створити його " "якщо його не існує" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" "не створювати та не використовувати каталог пісочниці для додаткових " "символів налагодження, а покладатися лише на встановлені символи " "налагодження." #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" "використовувати раніше створений каталог кешу (CDIR) або створити його якщо " "його не існує" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" "показувати поступ завантаження/встановлення під час встановлення пакунків у " "пісочницю" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" "виконуваний файл, який запускається під контролем valgrind memcheck для " "визначення витоків пам’яті" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" "Встановити у тимчасове середовище додатковий пакунок (може встановлюватися " "декілька разів)" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "Помилка: %s — не виконуваний файл. Зупинка." #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" "Система може стати нестабільною, можливо буде потрібне перезавантаження." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "Не вкладайте нові записи у звіт, а долучайте їх до stdout." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "Початок інтерактивної GDB сесії з дампом у звіті (-o ігнорувати, не " "записувати у звіт)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" "Записати змінений звіт до вказаного файлу замість заміни оригінального звіту" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "Зняти дамп зі звіту після трасування стеку регенерації" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "Перекрити звіти CoreFile" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "Перекрити звіти ExecutablePath" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "Перекрити звіти ProcMaps" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "Перебудувати звітовий пакунок інформації" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" "Створити тимчасове середовище, далі - завантажити/встановити у ньому " "необхідні пакунки й налагоджувальні символи; без цього параметру очікується, " "що необхідні пакунки та налагоджувальні символи у системі вже встановлено. " "Аргумент вказує на базову теку конфігурації системи пакунків; якщо Ви " "вказали \"system\", буде використано системні файли конфігурації, але лише у " "разі виявлення аварійних ситуацій, що виникли у випуску системи, яка працює " "на дану мить." #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" "Сповіщати про хід виконання завантаження/встановлення пакунків у тимчасовому " "середовищі" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" "Створення і використання сторонніх сховищ на основі початкових, вказаних у " "звітах" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" "Тека для збереження пакунків, що заванатажуються у тимчасове середовище" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" "Директорія для розпакування пакунків. При наступних запусках усі вже " "завантажені пакунки будуть розпаковуватися у це ізольоване оточення." #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" "Шлях до файлу з інформацією про автентифікацію бази даних про крахи. " "Використовується лише якщо вказано ID краху для відсилання трасувань стеку " "(за умови, що ні -g, -o , ані -s не вказано)" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "Показати перетрасований стек та запитати підтвердження перед відправленням " "його у базу аварій." #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" "Шлях до дублікату бази даних sqlite (типово: немає дублікату для перевірки)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "Неможна використовувати -C без -S. Зупинка." #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "Відіслати їх як вкладення? [так/ні]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "Схоже, що цей пакунок встановлено невірно" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" "Даний пакунок %s не є офіційним. Будь ласка, вилучіть усі сторонні пакунки " "та повторіть знову." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "У системі встановлено застарілі версії деяких пакунків. Оновіть наступні " "пакунки та перевірте, чи залишилася проблема:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "невідома програма" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "На жаль, програма \"%s\" несподівано закрилася" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Помилка у %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "На вашому комп'ютері недостатньо вільної пам'яті для автоматичного аналізу " "проблеми та надсилання розробникам звіту." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Неправильний звіт про помилку" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "Ви не маєте доступу до цього звіту." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Помилка" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "Недостатньо місця на диску для обробки цього звіту." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "Не вказано пакунок" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "Необхідно вказати пакунок або PID. Наберіть --help для отримання додаткової " "інформації." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "У доступі відмовлено" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "Зазначений процес Вам не належить. Будь ласка, запустіть програму як власник " "процесу або як root." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "Неправильний PID" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "Зазначений процес ID не належить до програми." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "Симптоматичний скрипт %s не може визначити постраждалих пакунків" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "Пакунку %s не існує" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "Неможливо створити звіт" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "Ви не створювали даний звіт. Набагато легше маркувати помилку як ту що вже " "існує, ніж створювати свої коментарі та відправляти нову помилку.\n" "\n" "Надалі, ми рекомендуємо Вам подати нове повідомлення про помилку з " "використанням \"apport-bug\", та коментувати помилку у тому ж файлі.\n" "\n" "Ви справді бажаєте продовжити?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "Не зібрано додаткової інформації." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "Про яку проблему ви бажаєте повідомити?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Невідомий симптом" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "Симптом «%s» не відомий" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" "Після того, як сховаєте дане повідомлення, будь-ласка, клацніть на вікно " "програми для того, щоб відіслати звіт про помилку." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "Помилка xprop: не вдалося визначити ID процесу вікна" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "Вкажіть назву пакунку." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "Додати додаткову мітку до звіту. Може бути задано декілька разів." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [параметри] [симптом|pid|пакунок|шлях програми|.apport/.crash file]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Запуск у режимі запису помилки у файл. Вимагає --package і факультативно --" "pid, або просто --pid. Якщо ні одного не вказано, показати список відомих " "симптомів. (Мається на увазі якщо задано один аргумент.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" "Запустити у режимі оновлення помилки. Може виконуватися з ключем --package." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "Відправити звіт про помилку з симптомом. (Мається на увазі, якщо ім'я " "симптому дано як єдиний аргумент.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "Вкажіть назву пакунку у режимі --file-bug. Необов’язково якщо вказано --pid. " "(Припустимо що назва пакунку вказана у якості єдиного аргументу)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" "Вкажіть програму, що виконується, у режимі --file-bug. У цьому випадку звіт " "про помилку міститиме більше інформації. (Мається на увазі, що вказано " "єдиний аргумент- pid.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "Вказаний ідентифікатор належить процесу, який не відповідає." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "Повідомити про крах із наданого файлу .apport або .crash замість файлів у " "черзі в %s. (За умови, що файл надано у якості єдиного параметру.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" "У режимі збору помилок замість надсилати зібрану інформацію, збережіть її у " "файл. Цей файл можна буде відправити пізніше з іншого комп'ютера." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "Надрукувати номер версії Apport ." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "Запустити сеанс gdb" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "Запустити сеанс gdb, оминувши завантаження символів відлагодження" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" "Цей звіт про помилку належить до програми, якої більше немає у системі." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "Цей звіт про помилку пошкоджено та не може бути оброблено." #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "Звіт належить до пакунку, якого не встановлено." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "Сталася помилка при спробі обробки звіту:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "Не вдалося визначити ім'я пакунку або ім'я пакунку з вихідним кодом." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Неможливо запустити оглядач тенет" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "Неможливо запустити оглядач тенет, щоб відкрити %s." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" "Будь ласка, уведіть інформацію про обліковий запис для %s системи стеження " "за помилками" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Проблема з мережею" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "Не вдається під'єднатися до пошкодженої бази даних, будь ласка, перевірте " "з'єднання з мережею Інтернет." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Пам'ять вичерпано" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "У системі недостатньо пам'яті для обробки цього звіту про помилку." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "Не вдається повідомити про помилку:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Про помилку вже відомо" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "Про цю помилку вже відомо. Звіт про неї відкритий у вашому браузері. Будь " "ласка, перевірте, чи можете ви додати до нього іншу корисну інформацію, яка " "могла б допомогти розробникам." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "Про цю проблему розробникам вже відомо. Дякуємо!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" "Це сталося під час попереднього сеансу призупинення роботи і призвело до " "неможливості належного відновлення роботи системи." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" "Це сталося під час попереднього сеансу присипляння і призвело до " "неможливості належного відновлення роботи системи." #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "Обробка даних звіту зависла дуже близько до кінця і буде, як видається, " "завершено нормально." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Натисніть будь-яку клавішу для продовження..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "Що ви бажаєте зробити? Варіянти вибору:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Будь ласка, виберіть (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "(%i байт)" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "Після того, як звіт буде відправлено, заповніть форму\n" "у вікні браузера, яке автоматично відкрилося." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "&Надіслати звіт (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "&Переглянути звіт" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" "&Зберегти файл звіту для подальшого відправлення або копіювання будь-куди" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "Скасувати та &ігнорувати майбутні збої у цій версії програми" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Скасувати" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Файл звіту про помилку:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&Підтвердити" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Помилка: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "Зібрану інформацію може бути направлено розробникам\n" "для покращення програми. Це може зайняти декілька хвилин." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "Зібрана інформація надсилається до системи відстежування помилок.\n" "Це може зайняти декілька хвилин." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "&Завершено" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "немає" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Вибрано: %s. Декілька варіянтів:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Вибір:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Шлях до файлу (Enter для скасування):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "Файлу не існує" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "Це каталог." #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "Щоб продовжити, ви повинні пройти за адресою:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "Ви можете запустити браузер зараз або скопіювати цю адресу у браузер на " "іншому комп'ютері." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Запустити браузер" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" "Немає звітів про помилки у очікуванні. Спробуйте --help для детальної " "інформації." #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "" #~ "Ви можете допомогти розробникам у вирішенні цієї помилки, надіславши звіт " #~ "про неї." #~ msgid "&Report Problem..." #~ msgstr "&Повідомити про проблему..." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "Якщо ви не вводили конфіденційну інформацію (паролі або особисті дані),\n" #~ "Ви можете допомогти нам покращити програму, якщо надішлете звіт про помилку." #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s несподівано закрилась %s в %s." #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "У Вашій системі виявлена серйозна несправність ядра." #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "Пакунок \"%s\" не вдалося встановити або оновити." #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "" #~ "Ви можете допомогти розробникам, відправивши звіт про виявлену помилку." #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "&Надіслати повний звіт (рекомендовано; %s)" #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "Надіслати &скорочений звіт (повільне під'єднання до Інтернету; %s)" #~ msgid "Content of the report" #~ msgstr "Вміст звіту" #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "Повний звіт (рекомендується; %s)" #~ msgid "Application problem" #~ msgstr "Помилка в програмі" #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">Вибачте, пакунок \"%s\" не вдалося " #~ "встановити або оновити.</span>" #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>Надіслати розробникам звіт про помилку?</b></big>\n" #~ "\n" #~ "Після того, як звіт буде висланий, заповніть, будь ласка, форму, яка " #~ "автоматично відкриється в браузері." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Це сталося під час попереднього засинання і перешкоджало відновленню системи." #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "Скорочений звіт (повільне з'єднання з мережею Інтернет; %s)" #~ msgid "Restart _Program" #~ msgstr "Перезапустити _програму" #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "Це призведе до видалення деяких великих елементів зі звіту. Вони дуже " #~ "корисні для розробників під час налагодження програм, але можуть бути " #~ "занадто великими для завантаження, якщо у Вас повільне з'єднання з мережею " #~ "Інтернет." #~ msgid "_Ignore future crashes of this program version" #~ msgstr "_Ігнорувати майбутні збої в цій версії програми" #~ msgid "_Report Problem..." #~ msgstr "_Повідомити про проблему..." #~ msgid "Package problem" #~ msgstr "Помилка з пакунком" #~ msgid "Kernel problem" #~ msgstr "Помилка в ядрі" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "Якщо Ви не вводили секретну інформацію (паролі або особисті дані), можете " #~ "допомогти покращити програму, відправивши звіт про помилку." #~ msgid "_Send Report" #~ msgstr "_Надіслати звіт" #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "Це не оригінальний пакунок %s" #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Це сталося під час попереднього переходу у режим очікування і перешкоджало " #~ "відновленню системи." #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [параметри] <звіт про проблему apport | ID збою>" #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "помилкове число аргументів; скористайтеся --help для довідки" #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "" #~ "Вам необхідно або здійснити локальні операції (-s, -g, -o) або вказати файл " #~ "автентифікації (--auth); виберіть --help для короткої довідки" #~ msgid "Your system might become unstablenow and might need to be restarted." #~ msgstr "" #~ "Робота вашої системи зараз може стати нестабільною. Систему варто " #~ "перезавантажити." ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/uz.po������������������������������������������������������������������������������0000644�0000000�0000000�00000100752�12677230222�012653� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Uzbek translation for apport # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2012. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2012-12-20 18:03+0000\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: Uzbek <uz@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: uz\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "Ёпилган қолдирилсин" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "Давом этилсин" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "%s'да ички хато рўй берди." #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Тузувчиларга муаммо ҳақида хабар юборилсинми?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "Юбориш" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "Қайта ишга туширилсин" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "Пакет: %s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "Дастур ўрнатилганда муаммо рўй берди." #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "%s дастурида ички хато рўй берди." #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "%s дастури тўсатдан ёпилди." #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "" #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "" #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" ����������������������apport-2.20.1/po/vi.po������������������������������������������������������������������������������0000644�0000000�0000000�00000126660�12677230222�012641� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Vietnamese translation for apport # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2009. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:46+0000\n" "Last-Translator: Phan Trọng Khanh <phantrongkhanh87@gmail.com>\n" "Language-Team: Vietnamese <vi@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: vi\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>Thu thập thông tin về vấn đề</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" "Thông tin đang được thu thập, nó có thể giúp các nhà phát triển sửa vấn đề " "bạn báo cáo." #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "Tải lên thông tin về vấn đề" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>Tải lên thông tin về vấn đề</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" "Thông tin thu thập được đang được gửi tới hệ thống kiểm soát lỗi. Công việc " "này có thể mất vài phút." #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Báo cáo tệp lỗi" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(dữ liệu nhị phân)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "Gửi báo cáo vấn đề tới những người phát triển?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "Sử dụng: %s <báo cáo> <thư mục đích>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "Thư mục đích tồn tại và không rỗng." #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "Thu thập thông tin về vấn đề" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "Báo cáo một vấn đề..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "Báo cáo một trục trặc tới nhà phát triển" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" "Hệ thống của bạn có thể trở nên không ổn định bây giờ và cần khởi động lại." #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "Không đưa dấu vết mới vào báo cáo, nhưng in chúng ra stdout." #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" "Bắt đầu một phiên gỡ lỗi tương tác với gdb sử dụng các thông tin lưu lại " "được khi chương trình gặp lỗi. (-o ignored: không viết lại báo cáo)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "Ghi báo cáo đã sửa đổi tới tệp đưa ra thay vì thay đổi báo cáo gốc" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" "Xóa các thông tin lưu lại được khi chương trình gặp lỗi khỏi báo cáo sau khi " "đã ghi lại vết của ngăn xếp." #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "Ghi đè CoreFile của báo cáo" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "Ghi đè ExecutablePath của báo cáo" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "Ghi đè ProcMaps của báo cáo" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "Tạo lại thông tin gói của báo cáo" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" "Hiển thị ngăn xếp dấu vết dò lại được và yêu cầu xác nhận trước khi gửi " "chúng tới cơ sở dữ liệu lỗi." #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" "Đường dẫn tới bản sao cơ sở dữ liệu sqlite (mặc định: không kiểm tra bản sao)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "Đồng ý gửi chúng như những đính kèm? [y/n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "Bạn có vài gói phiên bản cũ. Vui lòng nâng cấp những gói sau và kiểu tra nếu " "lỗi vẫn xuất hiện:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "chương trình không xác định" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "Xin lỗi, chương trình \"%s\" đã kết thúc bất ngờ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "Vấn đề trong %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" "Máy tính của bạn không đủ bộ nhớ trống để tự động phân tích vấn đề và gửi " "báo cáo tới các nhà phát triển." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "Báo cáo vấn đề không hợp lệ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "Bạn không được phép truy cập báo cáo vấn đề này." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "Lỗi" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "Không đủ dung lượng đĩa để thực hiện báo cáo này." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "Chưa gói nào được xác định" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" "Bạn cần xác định một gói hoặc một PID. Xem --help để biết thêm thông tin." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "Không đủ quyền truy cập" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" "Tiến trình không phải của bạn. Vui lòng chạy chương trình với tài khoản của " "chủ tiến trình hoặc với tài khoản quản trị root" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "PID không hợp lệ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "ID của tiến trình không phải của một chương trình." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "Gói %s không tồn tại" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "Bạn muốn báo cáo vấn đề loại nào?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "Dấu hiệu không xác định" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "Không biết dấu hiệu \"%s\"" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [tùy chọn] [dấu hiệu|pid|gói|đường đẫn chương trình|.apport/.crash " "file]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "Chạy với chế độ lọc lỗi. Yêu cầu hoặc --package và một tùy chọn --pid, hoặc " "chỉ là --pid. Nếu không cách nào trong hai cách trên được sử dụng, hiển thị " "danh sách những dấu hiệu đã biết. (Mặc định nếu một tham số được đưa ra.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" "Đệ trình báo cáo lỗi về một triệu chứng. (Mặc định nếu tên triệu chứng là " "tham số duy nhất.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" "Xác định tên gói trong chế độ --file-bug. Tùy chọn này nếu một --pid được " "xác định. (Mặc định nếu tên gói được đưa ra như là tham số duy nhất.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" "Báo cáo lỗi sử dụng các tệp .apport hoặc .crash thay vì sử dụng các tệp tạm " "trong %s. (Mặc định nếu tệp tin là tham số duy nhất.)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "In ra số phiên bản Trình báo lỗi" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "Báo cáo vấn đề này gắn với chương trình đã bị gỡ." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "Báo cáo vấn đề này bị hỏng và không thể được thực hiện" #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "Báo cáo thuộc về một gói chưa được cài đặt." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "Không thể xác định tên của gói hoặc gói nguồn." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "Không thể bật trình duyệt web" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "Không thể bật trình duyệt web để mở %s." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "Vui lòng điền vào thông tin tài khoản cho hệ thống theo dõi lỗi %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "Lỗi mạng" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" "Không thể kết nối tới cơ sở lỗi, vui lòng kiểm tra kết nối Internet của bạn." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "Hết bộ nhớ" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "Hệ thống của bạn không đủ bộ nhớ để thực hiện báo cáo lỗi này." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "Không thể báo cáo vấn đề:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "Vấn đề đã biết" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "" "Vấn đề đã được báo cáo trong báo cáo lỗi hiển thị trong trình duyệt web. Vui " "lòng kiểm tra nếu bạn có thể thêm bất cứ thông tin gì có ích cho những người " "phát triển." #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" "Quá trình khôi phục bị dừng khi sắp kết thúc và sẽ xuất hiện để hoàn thành " "bình thường." #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "Nhấn phím bất kì để tiếp tục..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "Bạn muốn làm gì? Các lựa chọn là:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "Vui lòng chọn (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "Sau khi báo cáo về vấn đề được gửi, vui lòng điền vào mẫu trong trang\n" "web vừa tự động mở ra." #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "&Gửi báo cáo (%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "&Xem báo cáo" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "G&iữ tệp báo cáo để gửi sau hoặc sao chép" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "Hủy và bỏ &qua hỏng hóc của chương trình này những lần sau" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "&Thôi" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "Tệp báo cáo vấn đề:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "&Xác nhận" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "Lỗi: %s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "Thông tin được thu thập có thể gửi tới những người phát triển để cải tiến\n" "ứng dụng. Công việc này có thể mất vài phút." #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "Thông tin thu thập đang được gửi tới hệ thống kiểm duyệt lỗi.\n" "Côn việc này có thể mất vài phút." #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "Đã &xong" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "không" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "Đã chọn: %s. Nhiều lựa chọn:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "Các lựa chọn:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "Đường đẫn tới tệp (Enter để hủy):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "Tệp không tồn tại." #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "Nó là một thư mục" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "Để tiếp tục, bạn phải vào địa chỉ URL sau:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" "Giờ bạn có thể chạy một trình duyệt, hoặc chép địa chỉ URL này vào một trình " "duyệt hoặc máy tính khác." #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "Chạy một trình duyệt" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" "Không có báo cáo lỗi nào đang chờ. Thử --help để biết thêm thông tin." #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "Đây không phải là gói %s chuẩn" #~ msgid "&Report Problem..." #~ msgstr "&Báo cáo vấn đề..." #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s đóng bất ngờ trên %s lúc %s." #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "Gói \"%s\" gặp lỗi khi cài hoặc nâng cấp." #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "" #~ "Bạn có thể giúp những người phát triển sửa gói bằng cách báo cáo vấn đề." #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "" #~ "Bạn có thể giúp đỡ những người phát triển sửa lỗi bằng cách báo cáo nó." #~ msgid "Application problem" #~ msgstr "Vấn đề về Ứng dụng" #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "" #~ "<span weight=\"bold\" size=\"larger\">Xin lỗi, gói \"%s\" gặp lỗi cài đặt " #~ "hoặc nâng cấp.</span>" #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>Gửi báo cáo vấn đề tới người phát triển?</b></big>\n" #~ "\n" #~ "Sau khi gửi báo cáo vấn đề, vui lòng điền vào mẫu ở trang web đã tự động mở " #~ "ra." #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "Báo cáo ngắn gọn (kết nối Internet chậm; %s)" #~ msgid "Restart _Program" #~ msgstr "Khởi động lại _Chương trình" #~ msgid "_Ignore future crashes of this program version" #~ msgstr "_Bỏ qua vấn đề của ứng dụng sau này" #~ msgid "Package problem" #~ msgstr "Lỗi gói" #~ msgid "Kernel problem" #~ msgstr "Lỗi nhân" #~ msgid "Content of the report" #~ msgstr "Nội dung của báo cáo" #~ msgid "_Report Problem..." #~ msgstr "_Báo cáo vấn đề..." #~ msgid "_Send Report" #~ msgstr "_Gửi báo cáo" #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [tùy chọn] <apport problem report | crash ID>" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "Nếu bạn đang không làm một việc riêng tư (nhập mật khẩu hoặc thông tin\n" #~ "riêng tư nào đó), bạn có thể giúp cải thiện ứng dụng bằng cách báo cáo \n" #~ "vấn đề." #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "Hệ thống của bạn gặp một vấn đề nghiêm trọng liên quan đến nhân." #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "&Gửi báo cáo đầy đủ (khuyên dùng; %s)" #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "Gửi báo &cáo giản lược (kết nối mạng chậm; %s)" #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "Báo cáo đầy đủ (khuyên dùng; %s)" #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "" #~ "Lựa chọn này sẽ bỏ một vài mục lớn từ báo cáo. Những mục đó rất hữu ích cho " #~ "nhà phát triển để tìm lỗi, nhưng có thể quá lớn khi bạn tải nó lên nếu bạn " #~ "có đường truyền Internet chậm." #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "" #~ "Nếu bạn đang không làm gì đó riêng tư (nhập mật khẩu hoặc thông tin riêng tư " #~ "khác), bạn có thể giúp cải thiện ứng dụng bằng cách báo cáo vấn đề." #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "" #~ "bạn hoặc là phải thực hiện một thao tác trên máy cục bộ (-s, -g, -o) hoặc là " #~ "cung cấp tệp xác thực (--auth); sử dụng --help để xem trợ giúp" #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "sai số của tham số; sử dụng --help để xem trợ giúp" #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Lỗi xảy ra trong một lần tạm dừng trước và khiến cho hệ thống không khôi " #~ "phục lại một cách bình thường." #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "" #~ "Lỗi xảy ra trong một lần ngủ dông trước và khiến cho hệ thống không khôi " #~ "phục lại một cách bình thường." ��������������������������������������������������������������������������������apport-2.20.1/po/zh_CN.po���������������������������������������������������������������������������0000644�0000000�0000000�00000131235�12677230222�013216� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Chinese (China) translation for apport # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:47+0000\n" "Last-Translator: Martin Pitt <martin.pitt@ubuntu.com>\n" "Language-Team: Chinese (China) <zh_CN@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:19+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: \n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "取消" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "确定" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "崩溃报告" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>对不起,发生内部错误。</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "如果您注意到更多问题,请尝试重新启动计算机。" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "请发送错误报告,以帮助修复此问题" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "以后忽略此版本程序的问题" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "显示详细信息" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "本地检查(_E)" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "保持关闭状态" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "继续" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>正在收集问题信息</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "正在收集信息,这些信息将会帮助开发人员修复您报告的问题。" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "上传问题信息" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>正在上传问题信息</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "所收集的信息正在发送到缺陷跟踪系统。这可能需要几分钟。" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Apport 崩溃文件" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(二进制数据)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "对不起,应用程序 %s 意外停止。" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "对不起,%s 已意外关闭。" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "对不起,%s 出现了内部错误。" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "向开发者发送问题报告?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "发送" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "强制关闭" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "重新启动程序" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "应用程序 %s 停止响应。" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "程序 %s 停止响应。" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "软件包:%s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "对不起,安装软件时出现问题。" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "应用程序 %s 发生内部错误。" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "应用程序 %s 已意外关闭。" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "以后忽略此类错误" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "隐藏详细信息" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "用法:%s <报告> <目标目录>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "目标目录存在且不为空。" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "用户名:" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "密码:" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "正在收集问题信息" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "正在收集问题信息" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "收集到的信息可以发送给开发者来改进程序。这可能要花费几分钟的时间。" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "上传问题信息" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "收集系统信息" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "为此问题报告收集系统信息需要授权" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "系统问题报告" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "请输入您的密码以查看系统程序问题报告。" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "提交一份问题报告…" #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "向开发者报告一个故障" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "更多细节请查看 man 手册。" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "请指定 valgrind 生成的日志文件名" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "重复使用以前创建的缓存目录 (SDIR) ,或者,如果它不存在,则创建它" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "不创建或重用额外的调试符号的沙箱目录,仅依靠安装调试符号。" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "重复使用以前创建的缓存目录(CDIR),或者,如果它不存在,则创建它" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "安装包进入沙盒时报告下载/安装进度" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "该可执行文件运行 Valgrind MemCheck 工具下的内存泄漏检测" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "将其他软件包安装到沙盒(可多次加以指定)中" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "错误:%s 不是可执行文件,停止。" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "您的系统现在可能变得不稳定,可能需要重新启动。" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "不把新的痕迹写入到报告,但是把它们写入到标准输出。" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "启动一个交互式的 gdb 进程并载入提交的崩溃信息 (-o 不重新生成报告)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "将更改过的报告写入指定文件而非改变原始报告" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "生成栈回溯后将内核转储从报告中删除" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "覆盖报告核心文件" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "覆盖报告执行路径" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "覆盖报告的进程表" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "重建报告的包信息" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" "构建临时沙盒,以及下载/安装必要的软件包和调试符号;如果没有该选项,则会假设该系统中已安装了必要的软件包和调试符号。此参数指向该打包系统配置库目录;如果指" "定 \"system\",则其将使用系统配置文件,但之后,其将只能够追溯当前正在运行的版本上发生的崩溃。" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "在将软件包安装到沙盒中时,报告下载和安装的进度" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "为进行批量操作,请预先设置时间戳,以记录消息" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "下载到沙盒中软件包的缓存目录" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "用于解压包目录。以后运行将假设任何已下载的包被提取到这个沙盒。" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "包含崩溃数据库访问信息文件之路径。此项将用于为特定崩溃代码上传堆栈的回溯调试信息(除非用户指定 -g, -o 或 -s)" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "显示返回的堆栈信息,并询求确认是否将其发送至崩溃数据库。" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "SQLite 数据库路径重复(默认:不重复检查)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "您不能在未指定 -S 选项的情况下使用 -C 选项,停止。" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "确定以附件形式发送这些?[y/n]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "该软件包似乎没有被正确安装" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "这不是官方的 %s 软件包。请删除所有第三方软件包,然后重试。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "您安装了一些陈旧的软件包。请升级以下软件包后再查看问题是否依然发生:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "未知程序" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "对不起,%s 程序异常退出" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "%s 中的问题" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "您的计算机剩余空间不足,程序无法自动诊断问题并向开发者发送问题报告。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "无效的问题报告" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "您没有访问这个问题报告的权限。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "错误" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "没有足够的磁盘空间来处理报告。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "没有指定软件包" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "您需要指定一个软件包或者 PID。使用 --help 选项来获取更多信息。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "拒绝访问" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "指定的进程只能以进程的所有者或 root 身份运行。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "无效的 PID" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "指定的进程 ID 不属于一个程序。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "症状脚本 %s 没有划定受影响的包" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "软件包 %s 不存在" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "无法创建报告" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "更新问题报告" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" "您不是该问题报告的报告者或订阅者,或者该报告被视为重复或已经关闭。\n" "请使用 apport-bug 新建一份报告。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" "您并不是这个问题报告的报告者。相对而言,标记一个重复的错误远比迁移您的评论和附件到新的错误报告容易得多。\n" "因此,我们建议您使用 apport-bug 来提交新的错误报告,并在当前报告中对您新提交的报告进行评论。\n" "您确定要继续么?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "未收集更多信息。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "您想报告什么类型的问题?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "未知症状" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "症状 %s 未知。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "在关闭这个消息只后,请点击要报告问题的程序窗口。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "xprop 无法确定窗口的进程 ID" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "请指定包的名称。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "向报告中添加额外的标记,可多次指定。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "%prog [选项] [症状|PID|软件包|程序目录|.apport/.crash file]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "以填写 bug 模式启动。需要 --package 和可选的 --pid 参数,或单独使用 --pid 参数。如果二者均未给出,将显示一系列症状供选择。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "点击一个窗口作为提交问题报告的目标。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "启动错误更新模式。可以使用选项 --package 来指定软件包。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "针对某个症状报告 bug。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "--file-bug 模式中指定软件包名。如果指定了 --pid,则是可选的。(如果只给定软件包名这一个参数则为必需。)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "在 --file-bug 模式中指定运行的程序。如果指定,该问题报告将包含更多的信息。(默认指定 pid 作为唯一参数。)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "此进程号的程序是挂起的。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "从给定的 .apport 或者 .crash 文件,而不是从正在处理的 %s 中汇报崩溃。(如果文件只给定了参数时实现。)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "在提交报告过程中,将收集到的信息保存到要报告的文件中。该文件可用于稍后在另一台机器上提交。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "输出 Apport 版本号" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "这将在终端窗口中启动 apport-retrace,以检查此崩溃。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "运行 gdb 会话" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "不下载调试符号的情况下运行 gdb 会话" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "利用全符号的堆栈跟踪更新 %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "这一问题报告适用于不再安装的程序。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "自崩溃发生起已更改的程序 %s 出现问题。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "该问题报告已损坏,无法处理。" #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "该报告属于一个未安装的软件包。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "尝试处理此问题报告时出现错误:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "无法检测包或者源码包的名称。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "无法打开浏览器" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "无法使用浏览器打开网页 %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "请为 %s 错误追踪系统输入您的帐户信息" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "网络问题" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "无法连接到崩溃数据库,请检查您的 Internet 连接。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "内存耗尽" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "您的系统没有足够的内存来处理此崩溃报告。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "无法报告问题:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "该问题为已知问题" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "关于这个问题,之前已经有如网页所示的报告。您是否有所补充?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "已将此问题报告给开发人员。谢谢!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "这个恢复过程已经非常接近尾声,将正常结束。" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "按任意键继续…" #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "您想做什么?您的选择是:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "请选择(%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "当问题报告被发出之后,请填写\n" "自动弹出窗口的表格。" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "发送报告(&S)(%s)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "本地检查(&E)" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "查看报告(&V)" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "保存报告文件以便稍后发送或者复制到其他地方(&K)" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "终止并忽略这个版本软件以后出现的崩溃(&I)" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "取消(&C)" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "问题报告文件:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "确认(&C)" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "错误:%s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "收集到的信息将会传送到开发人员处以改进软件。\n" "这可能会花费几分钟时间," #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "收集到的信息正在被发送到错误跟踪系统。\n" "这可能要花费几分钟时间。" #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "完成(&D)" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "无" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "已选择:%s。 多重选择:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "选择:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "文件的路径(回车取消):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "文件不存在。" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "这是一个目录。" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "要继续,您必须访问下面这个网址:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "您现在可以启动一个浏览器,或者复制这个网址到另外一个电脑的浏览器。" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "现在启动一个浏览器" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "没有已知的崩溃报告,尝试 --help 以获得更多信息。" #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "您可以通过报告这个信息来帮助开发者解决这个问题。" #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>向开发人员发送问题报告?</b></big>\n" #~ "\n" #~ "发送问题后,请填写网络浏览器中自动打开的表格。" #~ msgid "Application problem" #~ msgstr "应用程序问题" #~ msgid "_Send Report" #~ msgstr "发送报告(_S)" #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s 异常关闭在 %s 在 %s。" #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "<span weight=\"bold\" size=\"larger\">对不起,软件包 \"%s\" 安装或升级失败</span>" #~ msgid "_Ignore future crashes of this program version" #~ msgstr "忽略这个程序以后的崩溃(_I)" #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "这会移除报告的一些大条目。虽然这对开发者报告问题很有用,但如果带宽窄则会上传太慢。" #~ msgid "&Report Problem..." #~ msgstr "提交问题报告(&R)…" #~ msgid "_Report Problem..." #~ msgstr "报告问题(_R)..." #~ msgid "Kernel problem" #~ msgstr "内核问题" #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "请报告问题,这能帮助开发者修正它。" #~ msgid "Content of the report" #~ msgstr "报告的内容" #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "您的系统遇到了一个严重的内核问题。" #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "这是在上一个挂起中发生的,并阻止了它正确地恢复。" #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "这是在上一个休眠中发生的,并阻止了它正确地恢复。" #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [选项] <apport 问题报告/崩溃的 ID 号>" #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "参数数量错误;使用 --help 获取简略帮助" #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "这不是真实的 %s 包" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "如果您没有做任何机密的事情 (输入密码或者其它私人信息),\n" #~ "可以通过汇报这个问题来改进程序。" #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "发送完整的报告(&S)(推荐:%s)" #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "发送精简的报告(慢速网络连接: %s)" #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "软件包\"%s\"安装或者升级失败。" #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "完整报告(推荐;%s)" #~ msgid "Package problem" #~ msgstr "软件包问题" #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "精简报告(适用于慢速连接;%s)" #~ msgid "Restart _Program" #~ msgstr "重启程序(_P)" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "如果您现在的动作不涉及机密信息(即不是输入口令等涉及私密信息的动作),则可以报告本问题以便改进程序。" #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "您或需要进行一项本地操作(-s, -g, -o) 或提供一个认证文件(--auth);参见 --help 以获取简单帮助。" #, python-format #~ msgid "Sorry, the application %s has closed unexpectedly." #~ msgstr "对不起,应用程序 %s 意外关闭。" #~ msgid "Your system might become unstablenow and might need to be restarted." #~ msgstr "现在您的系统可能变得不稳定,并且可能需要重新启动。" �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/zh_HK.po���������������������������������������������������������������������������0000644�0000000�0000000�00000103453�12677230222�013221� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Chinese (Hong Kong) translation for apport # Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2011. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2011-10-07 06:10+0000\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: Chinese (Hong Kong) <zh_HK@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:18+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: zh_HK\n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "當機回報" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>非常抱歉,發生內部錯誤。</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "若您之後仍發現問題,請嘗試重新啟動電腦。" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "傳送錯誤回報來幫助我們修復此問題" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "忽略本程式版本未來發生的錯誤" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "顯示詳細資料" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "於本地端檢查(_E)" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "維持關閉" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "繼續" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "很抱歉,應用程式 %s 已無預期停止。" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "非常抱歉,%s 已無預警關閉。" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "非常抱歉, %s 遭遇內部錯誤。" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "傳送" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "強制關閉" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "重新啟動" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "應用程式 %s 已停止回應。" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "程式「%s」已停止回應。" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "套件:%s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "非常抱歉,於安裝軟件時遭遇問題。" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "應用程式 %s 已遭遇某內部錯誤。" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "應用程式 %s 已無預警關閉。" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "忽略未來發生的此類型問題" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "隱藏詳細資料" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "收集系統資訊" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "若要為此問題回報收集系統資訊需先通過身份驗證" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "" #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "在記錄訊息前加上時間戳記,供批次操作" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "解包套件的目錄。未來執行時將假定任何已下載的套件也都抽出於此沙盒中。" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "這個套件似乎尚未正確安裝" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "這不是官方的 %s 套件。請移除任何第三方套件並重試。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "提供的 pid 是懸凍的應用程式。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "這會在終端機視窗中啟動 apport-retrace 以檢查程式當掉原因。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "執行 gdb 作業階段" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "執行 gdb 作業階段而不下載除錯符號" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "以完整的符號堆疊追蹤來更新 %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "發生問題的程式 %s 自上次遭遇當掉之後已有變動。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "" #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "試圖處理問題回報時遭遇錯誤:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "此問題在網頁瀏覽器上顯示的錯誤報告中已經回報,請檢查您是否能提供更多可能對開發者有用的進一步資訊。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "此問題已經回報給開發者。感謝您!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "於本地端檢查(&E)" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "" #, python-format #~ msgid "Sorry, the application %s has closed unexpectedly." #~ msgstr "非常抱歉,應用程式 %s 已無預警關閉。" ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/po/zh_TW.po���������������������������������������������������������������������������0000644�0000000�0000000�00000126220�12677230222�013246� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Chinese (Taiwan) translation for apport # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the apport package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2006. # msgid "" msgstr "" "Project-Id-Version: apport\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-10 11:16+0200\n" "PO-Revision-Date: 2015-04-27 21:47+0000\n" "Last-Translator: Martin Pitt <martin.pitt@ubuntu.com>\n" "Language-Team: Chinese (Taiwan) <zh_TW@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-03-24 05:19+0000\n" "X-Generator: Launchpad (build 17958)\n" "Language: \n" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:1 #: ../debian/tmp/usr/share/apport/apport-kde.py:468 #: ../debian/tmp/usr/share/apport/apport-kde.py:503 #: ../debian/tmp/usr/share/apport/apport-kde.py:522 ../gtk/apport-gtk.ui.h:1 #: ../kde/apport-kde.py:468 ../kde/apport-kde.py:503 ../kde/apport-kde.py:522 msgid "Apport" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:2 ../gtk/apport-gtk.ui.h:2 msgid "Cancel" msgstr "" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:3 ../gtk/apport-gtk.ui.h:3 msgid "OK" msgstr "確定" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:4 ../gtk/apport-gtk.ui.h:4 msgid "Crash report" msgstr "當機回報" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:5 ../gtk/apport-gtk.ui.h:5 msgid "<big><b>Sorry, an internal error happened.</b></big>" msgstr "<big><b>非常抱歉,發生內部錯誤。</b></big>" #: ../gtk/apport-gtk.py:300 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-kde.py:240 ../gtk/apport-gtk.ui.h:6 #: ../debian/tmp/usr/share/apport/apport-gtk.py:300 ../kde/apport-kde.py:240 msgid "If you notice further problems, try restarting the computer." msgstr "若您之後仍發現問題,請嘗試重新啟動電腦。" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:7 ../gtk/apport-gtk.ui.h:7 msgid "Send an error report to help fix this problem" msgstr "傳送錯誤回報來幫助我們修復此問題" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:8 ../gtk/apport-gtk.ui.h:8 msgid "Ignore future problems of this program version" msgstr "忽略本程式版本未來發生的錯誤" #: ../gtk/apport-gtk.py:204 ../gtk/apport-gtk.py:573 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-kde.py:291 ../gtk/apport-gtk.ui.h:9 #: ../debian/tmp/usr/share/apport/apport-gtk.py:204 #: ../debian/tmp/usr/share/apport/apport-gtk.py:573 ../kde/apport-kde.py:291 msgid "Show Details" msgstr "顯示詳細資料" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:10 ../gtk/apport-gtk.ui.h:10 msgid "_Examine locally" msgstr "於本地端檢查(_E)" #: ../gtk/apport-gtk.py:287 ../debian/tmp/usr/share/apport/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-kde.py:233 ../gtk/apport-gtk.ui.h:11 #: ../debian/tmp/usr/share/apport/apport-gtk.py:287 ../kde/apport-kde.py:233 msgid "Leave Closed" msgstr "維持關閉" #: ../gtk/apport-gtk.py:216 ../gtk/apport-gtk.py:284 ../gtk/apport-gtk.py:303 #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-kde.py:230 #: ../debian/tmp/usr/share/apport/apport-kde.py:243 ../gtk/apport-gtk.ui.h:12 #: ../debian/tmp/usr/share/apport/apport-gtk.py:216 #: ../debian/tmp/usr/share/apport/apport-gtk.py:284 #: ../debian/tmp/usr/share/apport/apport-gtk.py:303 ../kde/apport-kde.py:230 #: ../kde/apport-kde.py:243 msgid "Continue" msgstr "繼續" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:13 ../gtk/apport-gtk.ui.h:13 msgid "<big><b>Collecting problem information</b></big>" msgstr "<big><b>正在收集問題資訊</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:14 ../gtk/apport-gtk.ui.h:14 msgid "" "Information is being collected that may help the developers fix the problem " "you report." msgstr "正在收集資訊以幫助開發者修正您報告的問題。" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:15 #: ../debian/tmp/usr/bin/apport-cli.py:251 ../bin/apport-cli.py:251 #: ../debian/tmp/usr/share/apport/apport-kde.py:434 ../gtk/apport-gtk.ui.h:15 #: ../kde/apport-kde.py:434 msgid "Uploading problem information" msgstr "正在上傳問題資訊" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:16 ../gtk/apport-gtk.ui.h:16 msgid "<big><b>Uploading problem information</b></big>" msgstr "<big><b>正在上傳問題資訊</b></big>" #: ../debian/tmp/usr/share/apport/apport-gtk.ui.h:17 #: ../debian/tmp/usr/share/apport/apport-kde.py:435 ../gtk/apport-gtk.ui.h:17 #: ../kde/apport-kde.py:435 msgid "" "The collected information is being sent to the bug tracking system. This " "might take a few minutes." msgstr "正將收集到的資訊傳送至臭蟲追蹤系統。這可能需要數分鐘。" #: ../kde/apport-kde-mimelnk.desktop.in.h:1 msgid "Apport crash file" msgstr "Apport 當機檔案" #: ../gtk/apport-gtk.py:142 ../debian/tmp/usr/bin/apport-cli.py:150 #: ../bin/apport-cli.py:150 ../debian/tmp/usr/share/apport/apport-kde.py:362 #: ../debian/tmp/usr/share/apport/apport-gtk.py:142 ../kde/apport-kde.py:362 msgid "(binary data)" msgstr "(二進制資料)" #: ../gtk/apport-gtk.py:157 ../debian/tmp/usr/share/apport/apport-gtk.py:157 #, python-format msgid "Sorry, the application %s has stopped unexpectedly." msgstr "很抱歉,應用程式 %s 已無預期停止。" #: ../gtk/apport-gtk.py:160 ../debian/tmp/usr/share/apport/apport-gtk.py:160 #, python-format msgid "Sorry, %s has closed unexpectedly." msgstr "非常抱歉,%s 已無預警關閉。" #: ../gtk/apport-gtk.py:165 ../debian/tmp/usr/share/apport/apport-kde.py:199 #: ../debian/tmp/usr/share/apport/apport-kde.py:237 #: ../debian/tmp/usr/share/apport/apport-gtk.py:165 ../kde/apport-kde.py:199 #: ../kde/apport-kde.py:237 #, python-format msgid "Sorry, %s has experienced an internal error." msgstr "非常抱歉, %s 遭遇內部錯誤。" #: ../gtk/apport-gtk.py:177 ../debian/tmp/usr/bin/apport-cli.py:178 #: ../bin/apport-cli.py:178 ../debian/tmp/usr/share/apport/apport-kde.py:185 #: ../debian/tmp/usr/share/apport/apport-gtk.py:177 ../kde/apport-kde.py:185 msgid "Send problem report to the developers?" msgstr "要將傳送問題報告給開發者嗎?" #: ../gtk/apport-gtk.py:186 ../debian/tmp/usr/share/apport/apport-kde.py:193 #: ../debian/tmp/usr/share/apport/apport-gtk.py:186 ../kde/apport-kde.py:193 msgid "Send" msgstr "傳送" #: ../gtk/apport-gtk.py:228 ../debian/tmp/usr/share/apport/apport-gtk.py:228 msgid "Force Closed" msgstr "強制關閉" #: ../gtk/apport-gtk.py:229 ../gtk/apport-gtk.py:288 #: ../debian/tmp/usr/share/apport/apport-kde.py:234 #: ../debian/tmp/usr/share/apport/apport-kde.py:380 #: ../debian/tmp/usr/share/apport/apport-gtk.py:229 #: ../debian/tmp/usr/share/apport/apport-gtk.py:288 ../kde/apport-kde.py:234 #: ../kde/apport-kde.py:380 msgid "Relaunch" msgstr "重新啟動" #: ../gtk/apport-gtk.py:238 ../debian/tmp/usr/share/apport/apport-gtk.py:238 #, python-format msgid "The application %s has stopped responding." msgstr "應用程式 %s 已停止回應。" #: ../gtk/apport-gtk.py:242 ../debian/tmp/usr/share/apport/apport-gtk.py:242 #, python-format msgid "The program \"%s\" has stopped responding." msgstr "程式「%s」已停止回應。" #: ../gtk/apport-gtk.py:257 ../debian/tmp/usr/share/apport/apport-kde.py:207 #: ../debian/tmp/usr/share/apport/apport-gtk.py:257 ../kde/apport-kde.py:207 #, python-format msgid "Package: %s" msgstr "套件:%s" #: ../gtk/apport-gtk.py:264 ../debian/tmp/usr/share/apport/apport-kde.py:213 #: ../debian/tmp/usr/share/apport/apport-gtk.py:264 ../kde/apport-kde.py:213 msgid "Sorry, a problem occurred while installing software." msgstr "非常抱歉,於安裝軟體時遭遇問題。" #: ../gtk/apport-gtk.py:273 ../gtk/apport-gtk.py:292 #: ../debian/tmp/usr/share/apport/apport-kde.py:219 #: ../debian/tmp/usr/share/apport/apport-gtk.py:273 #: ../debian/tmp/usr/share/apport/apport-gtk.py:292 ../kde/apport-kde.py:219 #, python-format msgid "The application %s has experienced an internal error." msgstr "應用程式 %s 已遭遇某內部錯誤。" #: ../gtk/apport-gtk.py:276 ../debian/tmp/usr/share/apport/apport-kde.py:222 #: ../debian/tmp/usr/share/apport/apport-gtk.py:276 ../kde/apport-kde.py:222 #, python-format msgid "The application %s has closed unexpectedly." msgstr "應用程式 %s 已無預警關閉。" #: ../gtk/apport-gtk.py:304 ../debian/tmp/usr/share/apport/apport-kde.py:244 #: ../debian/tmp/usr/share/apport/apport-gtk.py:304 ../kde/apport-kde.py:244 msgid "Ignore future problems of this type" msgstr "忽略未來發生的此類型問題" #: ../gtk/apport-gtk.py:577 ../debian/tmp/usr/share/apport/apport-kde.py:288 #: ../debian/tmp/usr/share/apport/apport-gtk.py:577 ../kde/apport-kde.py:288 msgid "Hide Details" msgstr "隱藏詳細資料" #: ../bin/apport-unpack.py:22 ../debian/tmp/usr/bin/apport-unpack.py:22 #, python-format msgid "Usage: %s <report> <target directory>" msgstr "用法:%s <回報檔> <目標目錄>" #: ../bin/apport-unpack.py:46 ../debian/tmp/usr/bin/apport-unpack.py:46 msgid "Destination directory exists and is not empty." msgstr "目的目錄存在且不是空的。" #: ../debian/tmp/usr/share/apport/apport-kde.py:314 ../kde/apport-kde.py:314 msgid "Username:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:315 ../kde/apport-kde.py:315 msgid "Password:" msgstr "" #: ../debian/tmp/usr/share/apport/apport-kde.py:405 ../kde/apport-kde.py:405 msgid "Collecting Problem Information" msgstr "正收集問題資訊" #: ../debian/tmp/usr/bin/apport-cli.py:238 ../bin/apport-cli.py:238 #: ../debian/tmp/usr/share/apport/apport-kde.py:406 ../kde/apport-kde.py:406 msgid "Collecting problem information" msgstr "正在收集問題資訊" #: ../debian/tmp/usr/share/apport/apport-kde.py:407 ../kde/apport-kde.py:407 msgid "" "The collected information can be sent to the developers to improve the " "application. This might take a few minutes." msgstr "收集之資訊會傳送予開發者以改善該應用程式。此舉或需數分鐘。" #: ../debian/tmp/usr/share/apport/apport-kde.py:433 ../kde/apport-kde.py:433 msgid "Uploading Problem Information" msgstr "正上傳問題資訊" #: ../apport/com.ubuntu.apport.policy.in.h:1 msgid "Collect system information" msgstr "蒐集系統資訊" #: ../apport/com.ubuntu.apport.policy.in.h:2 msgid "" "Authentication is required to collect system information for this problem " "report" msgstr "若要為此問題回報蒐集系統資訊需先通過身份驗證" #: ../apport/com.ubuntu.apport.policy.in.h:3 msgid "System problem reports" msgstr "" #: ../apport/com.ubuntu.apport.policy.in.h:4 msgid "" "Please enter your password to access problem reports of system programs" msgstr "" #: ../gtk/apport-gtk.desktop.in.h:1 ../kde/apport-kde.desktop.in.h:1 #: ../kde/apport-kde-mime.desktop.in.h:1 msgid "Report a problem..." msgstr "報告問題..." #: ../gtk/apport-gtk.desktop.in.h:2 ../kde/apport-kde.desktop.in.h:2 #: ../kde/apport-kde-mime.desktop.in.h:2 msgid "Report a malfunction to the developers" msgstr "報告問題予開發者" #: ../debian/tmp/usr/bin/apport-valgrind.py:37 ../bin/apport-valgrind.py:37 msgid "See man page for details." msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:43 ../bin/apport-valgrind.py:43 msgid "specify the log file name produced by valgrind" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:46 ../bin/apport-valgrind.py:46 msgid "" "reuse a previously created sandbox dir (SDIR) or, if it does not exist, " "create it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:50 ../bin/apport-valgrind.py:50 msgid "" "do not create or reuse a sandbox directory for additional debug symbols " "but rely only on installed debug symbols." msgstr "不能新增或使用之前的沙盒給額外的Debug symbol 用途,但僅依靠安裝的 debug symbols" #: ../debian/tmp/usr/bin/apport-valgrind.py:54 ../bin/apport-valgrind.py:54 msgid "" "reuse a previously created cache dir (CDIR) or, if it does not exist, create " "it" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:58 ../bin/apport-valgrind.py:58 msgid "" "report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:62 ../bin/apport-valgrind.py:62 msgid "" "the executable that is run under valgrind's memcheck tool for memory leak " "detection" msgstr "可執行的文件下運作記憶體洩漏檢測工具" #: ../debian/tmp/usr/bin/apport-retrace.py:63 #: ../debian/tmp/usr/bin/apport-valgrind.py:66 ../bin/apport-valgrind.py:66 #: ../bin/apport-retrace.py:63 msgid "" "Install an extra package into the sandbox (can be specified multiple times)" msgstr "" #: ../debian/tmp/usr/bin/apport-valgrind.py:97 ../bin/apport-valgrind.py:97 #, python-format msgid "Error: %s is not an executable. Stopping." msgstr "" #: ../data/kernel_oops.py:29 ../debian/tmp/usr/share/apport/kernel_oops.py:29 msgid "Your system might become unstable now and might need to be restarted." msgstr "您的系統現在也許會不穩定且需要重新啟動。" #: ../debian/tmp/usr/bin/apport-retrace.py:34 ../bin/apport-retrace.py:34 msgid "Do not put the new traces into the report, but write them to stdout." msgstr "不要將新的錯誤追溯放在報告中,但輸出至標準輸出(stdout)。" #: ../debian/tmp/usr/bin/apport-retrace.py:36 ../bin/apport-retrace.py:36 msgid "" "Start an interactive gdb session with the report's core dump (-o ignored; " "does not rewrite report)" msgstr "啟動新的互動式 gdb 連線階段及核心傾印報告(-o 忽略:不會複寫報告)" #: ../debian/tmp/usr/bin/apport-retrace.py:38 ../bin/apport-retrace.py:38 msgid "" "Write modified report to given file instead of changing the original report" msgstr "寫入已修改的報告至特定的檔案來替代改變原始報告" #: ../debian/tmp/usr/bin/apport-retrace.py:41 ../bin/apport-retrace.py:41 msgid "Remove the core dump from the report after stack trace regeneration" msgstr "在堆疊追溯重新產生後從報告中移除核心傾印" #: ../debian/tmp/usr/bin/apport-retrace.py:43 ../bin/apport-retrace.py:43 msgid "Override report's CoreFile" msgstr "覆蓋報告的核心檔案(CoreFile)" #: ../debian/tmp/usr/bin/apport-retrace.py:45 ../bin/apport-retrace.py:45 msgid "Override report's ExecutablePath" msgstr "覆蓋報告的可執行路徑(ExecutablePath)" #: ../debian/tmp/usr/bin/apport-retrace.py:47 ../bin/apport-retrace.py:47 msgid "Override report's ProcMaps" msgstr "覆蓋報告的行程對映(ProcMaps)" #: ../debian/tmp/usr/bin/apport-retrace.py:49 ../bin/apport-retrace.py:49 msgid "Rebuild report's Package information" msgstr "重建報告的套件資訊" #: ../debian/tmp/usr/bin/apport-retrace.py:51 ../bin/apport-retrace.py:51 msgid "" "Build a temporary sandbox and download/install the necessary packages and " "debug symbols in there; without this option it assumes that the necessary " "packages and debug symbols are already installed in the system. The argument " "points to the packaging system configuration base directory; if you specify " "\"system\", it will use the system configuration files, but will then only " "be able to retrace crashes that happened on the currently running release." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:53 ../bin/apport-retrace.py:53 msgid "" "Report download/install progress when installing packages into sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:55 ../bin/apport-retrace.py:55 msgid "Prepend timestamps to log messages, for batch operation" msgstr "在記錄訊息前加上時間戳記,供批次操作" #: ../debian/tmp/usr/bin/apport-retrace.py:57 ../bin/apport-retrace.py:57 msgid "" "Create and use third-party repositories from origins specified in reports" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:59 ../bin/apport-retrace.py:59 msgid "Cache directory for packages downloaded in the sandbox" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:61 ../bin/apport-retrace.py:61 msgid "" "Directory for unpacked packages. Future runs will assume that any already " "downloaded package is also extracted to this sandbox." msgstr "解包套件的目錄。未來執行時將假定任何已下載的套件也都抽出於此沙盒中。" #: ../debian/tmp/usr/bin/apport-retrace.py:65 ../bin/apport-retrace.py:65 msgid "" "Path to a file with the crash database authentication information. This is " "used when specifying a crash ID to upload the retraced stack traces (only if " "neither -g, -o, nor -s are specified)" msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:67 ../bin/apport-retrace.py:67 msgid "" "Display retraced stack traces and ask for confirmation before sending them " "to the crash database." msgstr "" #: ../debian/tmp/usr/bin/apport-retrace.py:69 ../bin/apport-retrace.py:69 msgid "" "Path to the duplicate sqlite database (default: no duplicate checking)" msgstr "重複的 sqlite 資料庫路徑(預設:無重複檢查)" #: ../debian/tmp/usr/bin/apport-retrace.py:78 ../bin/apport-retrace.py:78 msgid "You cannot use -C without -S. Stopping." msgstr "" #. translators: don't translate y/n, apport currently only checks for "y" #: ../debian/tmp/usr/bin/apport-retrace.py:111 ../bin/apport-retrace.py:111 msgid "OK to send these as attachments? [y/n]" msgstr "允許傳送這些附件?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:124 #: ../apport/ui.py:124 msgid "This package does not seem to be installed correctly" msgstr "這個套件似乎尚未正確安裝" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:129 #: ../apport/ui.py:129 #, python-format msgid "" "This is not an official %s package. Please remove any third party package " "and try again." msgstr "這不是官方的 %s 套件。請移除任何第三方套件並重試。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:146 #: ../apport/ui.py:146 #, python-format msgid "" "You have some obsolete package versions installed. Please upgrade the " "following packages and check if the problem still occurs:\n" "\n" "%s" msgstr "" "您安裝了某些已過時的套件。請升級以下套件以及檢查問題是否繼續產生:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:270 #: ../apport/ui.py:270 msgid "unknown program" msgstr "未知程式" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:271 #: ../apport/ui.py:271 #, python-format msgid "Sorry, the program \"%s\" closed unexpectedly" msgstr "對不起,\"%s\" 程式已不正常關閉" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:273 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1312 #: ../apport/ui.py:273 ../apport/ui.py:1312 #, python-format msgid "Problem in %s" msgstr "在 %s 中的問題" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:274 #: ../apport/ui.py:274 msgid "" "Your computer does not have enough free memory to automatically analyze the " "problem and send a report to the developers." msgstr "您的電腦並沒有足夠的可用記憶體可自動分析問題並傳送給開發者一份報告。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:322 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:330 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:457 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:460 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:661 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1118 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1284 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1288 #: ../apport/ui.py:322 ../apport/ui.py:330 ../apport/ui.py:457 #: ../apport/ui.py:460 ../apport/ui.py:661 ../apport/ui.py:1118 #: ../apport/ui.py:1284 ../apport/ui.py:1288 msgid "Invalid problem report" msgstr "無效的問題回報" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:323 #: ../apport/ui.py:323 msgid "You are not allowed to access this problem report." msgstr "您並不被允許存取此份問題回報。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:326 #: ../apport/ui.py:326 msgid "Error" msgstr "錯誤" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:327 #: ../apport/ui.py:327 msgid "There is not enough disk space available to process this report." msgstr "沒有足夠的磁碟空間以處理此份報告。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:411 #: ../apport/ui.py:411 msgid "No package specified" msgstr "未指定套件" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:412 #: ../apport/ui.py:412 msgid "" "You need to specify a package or a PID. See --help for more information." msgstr "您需要指定一個套件或一個 PID。更多資訊請參考 --help。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:435 #: ../apport/ui.py:435 msgid "Permission denied" msgstr "權限不足" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:436 #: ../apport/ui.py:436 msgid "" "The specified process does not belong to you. Please run this program as the " "process owner or as root." msgstr "指定的程序並不屬於您。請以程序擁有者或是 root 身份執行此程式。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:438 #: ../apport/ui.py:438 msgid "Invalid PID" msgstr "無效的 PID" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:439 #: ../apport/ui.py:439 msgid "The specified process ID does not belong to a program." msgstr "指定的程序 ID 並不屬於一個程式。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:458 #: ../apport/ui.py:458 #, python-format msgid "Symptom script %s did not determine an affected package" msgstr "徵狀判斷指令稿 %s 無法判斷出受影響的套件" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:461 #: ../apport/ui.py:461 #, python-format msgid "Package %s does not exist" msgstr "套件 %s 不存在" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:485 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:673 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:678 #: ../apport/ui.py:485 ../apport/ui.py:673 ../apport/ui.py:678 msgid "Cannot create report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:500 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:546 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:563 #: ../apport/ui.py:500 ../apport/ui.py:546 ../apport/ui.py:563 msgid "Updating problem report" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:501 #: ../apport/ui.py:501 msgid "" "You are not the reporter or subscriber of this problem report, or the report " "is a duplicate or already closed.\n" "\n" "Please create a new report using \"apport-bug\"." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:510 #: ../apport/ui.py:510 msgid "" "You are not the reporter of this problem report. It is much easier to mark a " "bug as a duplicate of another than to move your comments and attachments to " "a new bug.\n" "\n" "Subsequently, we recommend that you file a new bug report using \"apport-" "bug\" and make a comment in this bug about the one you file.\n" "\n" "Do you really want to proceed?" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:547 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:564 #: ../apport/ui.py:547 ../apport/ui.py:564 msgid "No additional information collected." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:615 #: ../apport/ui.py:615 msgid "What kind of problem do you want to report?" msgstr "您想要回報何種問題?" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:632 #: ../apport/ui.py:632 msgid "Unknown symptom" msgstr "未知的症狀" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:633 #: ../apport/ui.py:633 #, python-format msgid "The symptom \"%s\" is not known." msgstr "症狀 %s 未知。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:664 #: ../apport/ui.py:664 msgid "" "After closing this message please click on an application window to report a " "problem about it." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:674 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:679 #: ../apport/ui.py:674 ../apport/ui.py:679 msgid "xprop failed to determine process ID of the window" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:693 #: ../apport/ui.py:693 msgid "%prog <report number>" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:695 #: ../apport/ui.py:695 msgid "Specify package name." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:697 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:748 #: ../apport/ui.py:697 ../apport/ui.py:748 msgid "Add an extra tag to the report. Can be specified multiple times." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:727 #: ../apport/ui.py:727 msgid "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" msgstr "" "%prog [options] [symptom|pid|package|program path|.apport/.crash file]" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:730 #: ../apport/ui.py:730 msgid "" "Start in bug filing mode. Requires --package and an optional --pid, or just " "a --pid. If neither is given, display a list of known symptoms. (Implied if " "a single argument is given.)" msgstr "" "啟動為錯誤歸檔模式。需要 --packages 和一個可選擇的 --pid,或是只需 --" "pid。若兩者都未給予,顯示一份已知症狀的列表。(暗示若只有給予單一參數。)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:732 #: ../apport/ui.py:732 msgid "Click a window as a target for filing a problem report." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:734 #: ../apport/ui.py:734 msgid "Start in bug updating mode. Can take an optional --package." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:736 #: ../apport/ui.py:736 msgid "" "File a bug report about a symptom. (Implied if symptom name is given as only " "argument.)" msgstr "建立關於症狀的錯誤報告。(暗示是否只要提供症狀名稱作為引數。)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:738 #: ../apport/ui.py:738 msgid "" "Specify package name in --file-bug mode. This is optional if a --pid is " "specified. (Implied if package name is given as only argument.)" msgstr "在 --file-bug 模式中指定套件名稱。若指定 --pid 則是可選擇的。(暗示若套件名稱是唯一給予的參數。)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:740 #: ../apport/ui.py:740 msgid "" "Specify a running program in --file-bug mode. If this is specified, the bug " "report will contain more information. (Implied if pid is given as only " "argument.)" msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:742 #: ../apport/ui.py:742 msgid "The provided pid is a hanging application." msgstr "提供的 pid 是懸凍的應用程式。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:744 #: ../apport/ui.py:744 #, python-format msgid "" "Report the crash from given .apport or .crash file instead of the pending " "ones in %s. (Implied if file is given as only argument.)" msgstr "從特定的 .apport 或 .crash 檔案來回報當掉情形,代替等待中的 %s。(暗示若特定檔案是唯一給予的參數。)" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:746 #: ../apport/ui.py:746 msgid "" "In bug filing mode, save the collected information into a file instead of " "reporting it. This file can then be reported later on from a different " "machine." msgstr "" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:750 #: ../apport/ui.py:750 msgid "Print the Apport version number." msgstr "列印 Apport 版本號碼。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:889 #: ../apport/ui.py:889 msgid "" "This will launch apport-retrace in a terminal window to examine the crash." msgstr "這會在終端機視窗中啟動 apport-retrace 以檢查程式當掉原因。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:890 #: ../apport/ui.py:890 msgid "Run gdb session" msgstr "執行 gdb 作業階段" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:891 #: ../apport/ui.py:891 msgid "Run gdb session without downloading debug symbols" msgstr "執行 gdb 作業階段而不下載除錯符號" #. TRANSLATORS: %s contains the crash report file name #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:893 #: ../apport/ui.py:893 #, python-format msgid "Update %s with fully symbolic stack trace" msgstr "以完整的符號堆疊追蹤來更新 %s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:969 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:979 #: ../apport/ui.py:969 ../apport/ui.py:979 msgid "" "This problem report applies to a program which is not installed any more." msgstr "此問題報告用於不再安裝的程式。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:994 #: ../apport/ui.py:994 #, python-format msgid "" "The problem happened with the program %s which changed since the crash " "occurred." msgstr "發生問題的程式 %s 自上次遭遇當掉之後已有變動。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1041 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1075 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1290 #: ../apport/ui.py:1041 ../apport/ui.py:1075 ../apport/ui.py:1290 msgid "This problem report is damaged and cannot be processed." msgstr "此問題回報已損壞且無法處理。" #. package does not exist #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1045 #: ../apport/ui.py:1045 msgid "The report belongs to a package that is not installed." msgstr "此報告屬於一份未安裝的套件。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1049 #: ../apport/ui.py:1049 msgid "An error occurred while attempting to process this problem report:" msgstr "試圖處理問題回報時遭遇錯誤:" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1119 #: ../apport/ui.py:1119 msgid "Could not determine the package or source package name." msgstr "無法決定套件或原始碼套件名稱。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1137 #: ../apport/ui.py:1137 msgid "Unable to start web browser" msgstr "無法啟動網頁瀏覽器" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1138 #: ../apport/ui.py:1138 #, python-format msgid "Unable to start web browser to open %s." msgstr "無法啟動網頁瀏覽器以開啟 %s。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1238 #: ../apport/ui.py:1238 #, python-format msgid "Please enter your account information for the %s bug tracking system" msgstr "請輸入您的 %s 錯誤回報系統帳號資訊" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1250 #: ../apport/ui.py:1250 msgid "Network problem" msgstr "網路問題" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1252 #: ../apport/ui.py:1252 msgid "" "Cannot connect to crash database, please check your Internet connection." msgstr "無法連接到當機資料庫,請檢查您的網路連線。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1279 #: ../apport/ui.py:1279 msgid "Memory exhaustion" msgstr "記憶體耗盡" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1280 #: ../apport/ui.py:1280 msgid "Your system does not have enough memory to process this crash report." msgstr "您的系統沒有足夠的記憶體來處理此份當機報告。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1315 #: ../apport/ui.py:1315 #, python-format msgid "" "The problem cannot be reported:\n" "\n" "%s" msgstr "" "此問題無法被回報:\n" "\n" "%s" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1371 #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1378 #: ../apport/ui.py:1371 ../apport/ui.py:1378 msgid "Problem already known" msgstr "已知問題" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1372 #: ../apport/ui.py:1372 msgid "" "This problem was already reported in the bug report displayed in the web " "browser. Please check if you can add any further information that might be " "helpful for the developers." msgstr "此問題在網路瀏覽器顯示之錯誤報告中已回報。請檢查您是否能新增任何可能對開發者有幫助的進一步資訊。" #: ../debian/tmp/usr/lib/python2.7/dist-packages/apport/ui.py:1379 #: ../apport/ui.py:1379 msgid "This problem was already reported to developers. Thank you!" msgstr "此問題已經回報給開發者。感謝您!" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:67 #: ../data/apportcheckresume.py:67 msgid "" "This occurred during a previous suspend, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:69 #: ../data/apportcheckresume.py:69 msgid "" "This occurred during a previous hibernation, and prevented the system from " "resuming properly." msgstr "" #: ../debian/tmp/usr/share/apport/apportcheckresume.py:74 #: ../data/apportcheckresume.py:74 msgid "" "The resume processing hung very near the end and will have appeared to have " "completed normally." msgstr "回復行程在非常接近結束的時候停止回應,且將會表現出正常完成的情形。" #: ../debian/tmp/usr/bin/apport-cli.py:74 ../bin/apport-cli.py:74 msgid "Press any key to continue..." msgstr "按任意鍵繼續..." #: ../debian/tmp/usr/bin/apport-cli.py:81 ../bin/apport-cli.py:81 msgid "What would you like to do? Your options are:" msgstr "您要做什麼?選擇有:" #: ../debian/tmp/usr/bin/apport-cli.py:85 ../bin/apport-cli.py:85 #, python-format msgid "Please choose (%s):" msgstr "請選擇 (%s):" #: ../debian/tmp/usr/bin/apport-cli.py:148 ../bin/apport-cli.py:148 #, python-format msgid "(%i bytes)" msgstr "" #: ../debian/tmp/usr/bin/apport-cli.py:179 ../bin/apport-cli.py:179 msgid "" "After the problem report has been sent, please fill out the form in the\n" "automatically opened web browser." msgstr "" "在問題報告傳送後,請填寫自動開啟之\n" "網路瀏覽器中的表格。" #: ../debian/tmp/usr/bin/apport-cli.py:182 ../bin/apport-cli.py:182 #, python-format msgid "&Send report (%s)" msgstr "傳送報告 (%s)(&S)" #: ../debian/tmp/usr/bin/apport-cli.py:186 ../bin/apport-cli.py:186 msgid "&Examine locally" msgstr "於本地端檢查(&E)" #: ../debian/tmp/usr/bin/apport-cli.py:190 ../bin/apport-cli.py:190 msgid "&View report" msgstr "檢視報告(&V)" #: ../debian/tmp/usr/bin/apport-cli.py:191 ../bin/apport-cli.py:191 msgid "&Keep report file for sending later or copying to somewhere else" msgstr "保留回報檔,稍後傳送或複製至其他位置(&K)" #: ../debian/tmp/usr/bin/apport-cli.py:192 ../bin/apport-cli.py:192 msgid "Cancel and &ignore future crashes of this program version" msgstr "取消及忽略未來此程式版本的當機(&I)" #: ../debian/tmp/usr/bin/apport-cli.py:194 #: ../debian/tmp/usr/bin/apport-cli.py:271 #: ../debian/tmp/usr/bin/apport-cli.py:303 #: ../debian/tmp/usr/bin/apport-cli.py:324 ../bin/apport-cli.py:194 #: ../bin/apport-cli.py:271 ../bin/apport-cli.py:303 ../bin/apport-cli.py:324 msgid "&Cancel" msgstr "取消(&C)" #: ../debian/tmp/usr/bin/apport-cli.py:222 ../bin/apport-cli.py:222 msgid "Problem report file:" msgstr "問題回報檔:" #: ../debian/tmp/usr/bin/apport-cli.py:228 #: ../debian/tmp/usr/bin/apport-cli.py:233 ../bin/apport-cli.py:228 #: ../bin/apport-cli.py:233 msgid "&Confirm" msgstr "確認(&C)" #: ../debian/tmp/usr/bin/apport-cli.py:232 ../bin/apport-cli.py:232 #, python-format msgid "Error: %s" msgstr "錯誤:%s" #: ../debian/tmp/usr/bin/apport-cli.py:239 ../bin/apport-cli.py:239 msgid "" "The collected information can be sent to the developers to improve the\n" "application. This might take a few minutes." msgstr "" "收集的資訊可傳送予開發者以改進此\n" "應用程式。這可能需要數分鐘。" #: ../debian/tmp/usr/bin/apport-cli.py:252 ../bin/apport-cli.py:252 msgid "" "The collected information is being sent to the bug tracking system.\n" "This might take a few minutes." msgstr "" "已收集的資訊將傳送至臭蟲追蹤系統。\n" "這可能需要數分鐘。" #: ../debian/tmp/usr/bin/apport-cli.py:302 ../bin/apport-cli.py:302 msgid "&Done" msgstr "完成(&D)" #: ../debian/tmp/usr/bin/apport-cli.py:308 ../bin/apport-cli.py:308 msgid "none" msgstr "無" #: ../debian/tmp/usr/bin/apport-cli.py:309 ../bin/apport-cli.py:309 #, python-format msgid "Selected: %s. Multiple choices:" msgstr "已選擇:%s。多種選擇:" #: ../debian/tmp/usr/bin/apport-cli.py:325 ../bin/apport-cli.py:325 msgid "Choices:" msgstr "選項:" #: ../debian/tmp/usr/bin/apport-cli.py:339 ../bin/apport-cli.py:339 msgid "Path to file (Enter to cancel):" msgstr "檔案路徑 (按 Enter 取消):" #: ../debian/tmp/usr/bin/apport-cli.py:345 ../bin/apport-cli.py:345 msgid "File does not exist." msgstr "檔案不存在。" #: ../debian/tmp/usr/bin/apport-cli.py:347 ../bin/apport-cli.py:347 msgid "This is a directory." msgstr "這是個目錄。" #: ../debian/tmp/usr/bin/apport-cli.py:353 ../bin/apport-cli.py:353 msgid "To continue, you must visit the following URL:" msgstr "欲繼續,您必須造訪以下網址:" #: ../debian/tmp/usr/bin/apport-cli.py:355 ../bin/apport-cli.py:355 msgid "" "You can launch a browser now, or copy this URL into a browser on another " "computer." msgstr "您現在可以啟動瀏覽器,或複製此網址到另一臺電腦的瀏覽器中。" #: ../debian/tmp/usr/bin/apport-cli.py:357 ../bin/apport-cli.py:357 msgid "Launch a browser now" msgstr "現在啟動瀏覽器" #: ../debian/tmp/usr/bin/apport-cli.py:371 ../bin/apport-cli.py:371 msgid "No pending crash reports. Try --help for more information." msgstr "無等待中的當機報告。更多資訊請試試 --help。" #, no-c-format, python-format #~ msgid "Complete report (recommended; %s)" #~ msgstr "完整報告(推廌做法;%s)" #~ msgid "" #~ "<big><b>Send problem report to the developers?</b></big>\n" #~ "\n" #~ "After the problem report has been sent, please fill out the form in the " #~ "automatically opened web browser." #~ msgstr "" #~ "<big><b>要將問題報告傳送給開發者嗎?</b></big>\n" #~ "\n" #~ "傳送問題報告之後,請填寫自動開啟的網頁瀏覽器中的表格。" #~ msgid "Application problem" #~ msgstr "應用程式問題" #~ msgid "_Send Report" #~ msgstr "傳送報告(_S)" #~ msgid "Restart _Program" #~ msgstr "重新啟動程式(_P)" #, no-c-format #~ msgid "" #~ "<span weight=\"bold\" size=\"larger\">Sorry, the package \"%s\" failed to " #~ "install or upgrade.</span>" #~ msgstr "<span weight=\"bold\" size=\"larger\">對不起,無法安裝或升級 \"%s\" 套件。</span>" #~ msgid "" #~ "This will remove some large items from the report. These are very useful for " #~ "developers to debug the problem, but might be too big for you to upload if " #~ "you have a slow internet connection." #~ msgstr "這會從報告中移除某些大型事項。這對開發展偵錯來說非常有幫助,但當你的連線速度較慢時或許對您來說所需上傳的部份會太大。" #~ msgid "_Report Problem..." #~ msgstr "報告問題(_R)..." #~ msgid "Kernel problem" #~ msgstr "核心 (Kernel) 問題" #~ msgid "Content of the report" #~ msgstr "報告內容" #~ msgid "Package problem" #~ msgstr "套件問題" #~ msgid "You can help the developers to fix the problem by reporting it." #~ msgstr "您可報告這個問題,以協助開發者解決" #~ msgid "" #~ "You can help the developers to fix the package by reporting the problem." #~ msgstr "您可報告此問題以協助解決。" #~ msgid "_Ignore future crashes of this program version" #~ msgstr "忽略此程式版本未來的問題(_I)" #~ msgid "&Report Problem..." #~ msgstr "報告問題(&R)..." #, python-format #~ msgid "The package \"%s\" failed to install or upgrade." #~ msgstr "\"%s\" 套件無法安裝或升級" #, python-format #~ msgid "This is not a genuine %s package" #~ msgstr "這不是一個正版 %s 套件" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other\n" #~ "private information), you can help to improve the application by reporting\n" #~ "the problem." #~ msgstr "" #~ "若您沒有做任何機密動作(輸入密碼或其他\n" #~ "私人資訊),你可藉由回報此問題來協助應\n" #~ "用程式的改進。" #, python-format #~ msgid "%s closed unexpectedly on %s at %s." #~ msgstr "%s 未預期的關閉在 %s 於 %s。" #, python-format #~ msgid "&Send complete report (recommended; %s)" #~ msgstr "傳送完整報告(建議;%s)(&S)" #~ msgid "" #~ "This occured during a previous suspend and prevented it from resuming " #~ "properly." #~ msgstr "此狀況發生於前一次待命時並阻止其正常的回復。" #~ msgid "" #~ "This occured during a previous hibernate and prevented it from resuming " #~ "properly." #~ msgstr "此狀況發生於前一次休眠時並阻止其正常的回復。" #~ msgid "%prog [options] <apport problem report | crash ID>" #~ msgstr "%prog [options] <apport problem report | crash ID>" #~ msgid "" #~ "you either need to do a local operation (-s, -g, -o) or supply an " #~ "authentication file (--auth); see --help for a short help" #~ msgstr "您需要進行一個本地端作業(-s, -g -o)或是提供一個認證檔(--auth);參考 --help 以取得簡短的說明" #~ msgid "incorrect number of arguments; use --help for a short help" #~ msgstr "不正確的參數數目;使用 --help 以取得簡短的說明" #~ msgid "Send this data to the developers?" #~ msgstr "是否傳送本資料予開發者?" #, python-format #~ msgid "Sorry, the program \"%s\" closed unexpectedly." #~ msgstr "抱歉,「%s」程式不正常關閉。" #~ msgid "Restart &Program" #~ msgstr "重啟程式(&P)" #, python-format #~ msgid "Sorry, %s closed unexpectedly." #~ msgstr "抱歉,%s 不正常關閉。" #, python-format #~ msgid "Sorry, the package \"%s\" failed to install or upgrade." #~ msgstr "抱歉,「%s」套件無法安裝或升級。" #~ msgid "Your system encountered a serious kernel problem." #~ msgstr "您的系統遭遇到嚴重的內核問題。" #, python-format #~ msgid "Send &reduced report (slow Internet connection; %s)" #~ msgstr "傳送簡短報告 (慢速網際網路連線;%s)(&R)" #, no-c-format, python-format #~ msgid "Reduced report (slow Internet connection; %s)" #~ msgstr "簡短報告 (慢速網際網路連線;%s)" #~ msgid "" #~ "If you were not doing anything confidential (entering passwords or other " #~ "private information), you can help to improve the application by reporting " #~ "the problem." #~ msgstr "如您正在做的並無涉及機密資料 (例如密碼或其他私人資訊),您可以回報此問題幫忙改善應用程式。" #, python-format #~ msgid "Sorry, the application %s has closed unexpectedly." #~ msgstr "非常抱歉,應用程式 %s 已無預警關閉。" #~ msgid "Your system might become unstablenow and might need to be restarted." #~ msgstr "現在您的系統可能變得不穩定,並且可能需要重新啟動。" ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/test/data/����������������������������������������������������������������������������0000755�0000000�0000000�00000000000�12677230222�013122� 5����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/test/run������������������������������������������������������������������������������0000755�0000000�0000000�00000010446�12677230222�012750� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # Run Apport self tests. # # Test against the source tree when run in the source tree root. Test against # the system libraries/programs when run from anywhere else. # You can specify test names as arguments to only run a subset of tests. # # Run all tests: test/run # Run tests of one module: test/run crashdb # Run one test in one module: test/run report.test_add_os_info # Copyright (C) 2007 - 2012 Canonical Ltd. # Author: Martin Pitt <martin.pitt@ubuntu.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. set -e mydir=`dirname "$0"` export LC_MESSAGES=C # Run against source tree when we are in the source directory if [ -d test -a -e setup.py ]; then echo "Testing local source tree." export PATH=`pwd`/bin:$PATH export PYTHONPATH=`pwd` export APPORT_CRASHDB_CONF=./etc/apport/crashdb.conf export APPORT_DATA_DIR=./data export APPORT_TEST_LOCAL=1 # PEP8 tests, if pep8 is available if type pep8 >/dev/null 2>&1; then echo "Running pep8..." # . catches all *.py modules; we explicitly need to specify the programs pep8 -r --ignore=E401,E402,E501,E124 --exclude=test_problem_report.py,report.py,is-enabled,apport-bug,apport-collect . `find bin data gtk kde -type f -executable` # those tests deliberately have trailing whitespace in test files, ignore pep8 -r --ignore=E401,E402,E501,W291,W293 test/test_problem_report.py # has_key is minidom API, not the dict operator here pep8 -r --ignore=E401,E402,E501,W601 apport/report.py else echo "Skipping PEP 8 tests, pep8 is not installed" fi # pyflakes, if available if type pyflakes >/dev/null 2>&1; then echo "Running pyflakes..." pyflakes `find -name '*.py'` `find bin data gtk -type f -executable ! -name is-enabled ! -name apport-bug ! -name root_info_wrapper ! -name apport-collect` else echo "Skipping pyflakes tests, pyflakes is not installed" fi # assert that there are no hardcoded "Ubuntu" names out=$(grep -rw Ubuntu test/*.py apport/*.py gtk/apport-gtk* kde/* bin/* | grep -v Debian | grep -v X-Ubuntu-Gettext-Domain | grep -v '#.*Ubuntu') || : if [ -n "$out" ]; then echo "Found hardcoded 'Ubuntu' names, use DistroRelease: field or lsb_release instead:\n\n$out" >&2 exit 1 fi if [ ! -e apport/packaging_impl.py ]; then echo "You need to copy an appropriate packaging implementation from backends/ to apport/packaging_impl.py; run './setup.py build' for auto-detection." >&2 exit 1 fi else echo "Testing installed libraries/program." fi # avoid breaking the UI tests due to obsolete packages export APPORT_IGNORE_OBSOLETE_PACKAGES=1 # avoid breaking tests due to translated strings or assuming a particular # locale export LC_MESSAGES=C export LC_CTYPE=C unset LANGUAGE LANG # do not assume/disturb session bus unset DBUS_SESSION_BUS_ADDRESS xvfb= if type xvfb-run >/dev/null && [ -z "$APPORT_TEST_NOXVFB" ]; then xvfb=xvfb-run fi failed=0 # check command line whether to only run a subset of tests if [ -z "$1" ]; then TESTS=$(ls $mydir/*.py | cut -f2- -d_ | cut -f1 -d.) else while [ -n "$1" ]; do if [ -e "$mydir/test_${1%%.*}.py" ]; then TESTS="$TESTS $1" else echo "Test $1 does not exist" >&2 exit 1 fi shift done fi for t in $TESTS; do echo "--- Testing $t ---" if [ "${t#ui_}" != $t ]; then while [ -e /tmp/.X99-lock ]; do echo "Waiting for previous xvfb to finish..." sleep 0.5 done prefix="$xvfb dbus-launch" else # ensure that non-UI modules do not require X prefix="env -u DISPLAY" if [ "$t" = "python_crashes" ] || [ "${t#ui_}" != $t ]; then prefix="$prefix dbus-launch" fi fi test_file="$mydir/test_${t%%.*}.py" if [ "$t" = "${t#*.}" ]; then test_name="" else test_name="T.${t#*.}" fi $prefix ${PYTHON:=python3} -tt $test_file -v $test_name || failed=$((failed+1)) done exit $failed ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/test/test_apport_unpack.py������������������������������������������������������������0000644�0000000�0000000�00000010452�12677230222�016472� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'''Test apport-unpack''' # Copyright (C) 2012 Canonical Ltd. # Author: Martin Pitt <martin.pitt@ubuntu.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import unittest, subprocess, tempfile, shutil, os, os.path, sys import problem_report class T(unittest.TestCase): @classmethod def setUpClass(klass): klass.workdir = tempfile.mkdtemp() # create problem report file with all possible data types r = problem_report.ProblemReport() klass.utf8_str = b'a\xe2\x99\xa5b' klass.bindata = b'\x00\x01\xFF\x40' r['utf8'] = klass.utf8_str r['unicode'] = klass.utf8_str.decode('UTF-8') r['binary'] = klass.bindata r['compressed'] = problem_report.CompressedValue(b'FooFoo!') klass.report_file = os.path.join(klass.workdir, 'test.apport') with open(klass.report_file, 'wb') as f: r.write(f) klass.unpack_dir = os.path.join(klass.workdir, 'un pack') @classmethod def tearDownClass(klass): shutil.rmtree(klass.workdir) def tearDown(self): if os.path.isdir(self.unpack_dir): shutil.rmtree(self.unpack_dir) def test_unpack(self): '''apport-unpack for all possible data types''' self.assertEqual(self._call(['apport-unpack', self.report_file, self.unpack_dir]), (0, '', '')) self.assertEqual(self._get_unpack('utf8'), self.utf8_str) self.assertEqual(self._get_unpack('unicode'), self.utf8_str) self.assertEqual(self._get_unpack('binary'), self.bindata) self.assertEqual(self._get_unpack('compressed'), b'FooFoo!') def test_unpack_python(self): '''apport-unpack with explicity Python interpreter This will catch Python 2/3 specific errors when running the tests with a different $PYTHON than apport-unpacks' hashbang. ''' apport_unpack = os.path.join( os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'bin', 'apport-unpack') if not os.path.exists(apport_unpack): apport_unpack = '/usr/bin/apport-unpack' if not os.path.exists(apport_unpack): sys.stderr.write('[skip: apport-unpack not found] ') return self.assertEqual(self._call([os.getenv('PYTHON', 'python3'), apport_unpack, self.report_file, self.unpack_dir]), (0, '', '')) self.assertEqual(self._get_unpack('utf8'), self.utf8_str) self.assertEqual(self._get_unpack('unicode'), self.utf8_str) self.assertEqual(self._get_unpack('binary'), self.bindata) self.assertEqual(self._get_unpack('compressed'), b'FooFoo!') def test_help(self): '''calling apport-unpack with help''' (ret, out, err) = self._call(['apport-unpack', '--help']) self.assertEqual(ret, 0) self.assertEqual(err, '') self.assertTrue(out.startswith('Usage:'), out) def test_error(self): '''calling apport-unpack with wrong arguments''' (ret, out, err) = self._call(['apport-unpack']) self.assertEqual(ret, 1) self.assertEqual(err, '') self.assertTrue(out.startswith('Usage:'), out) (ret, out, err) = self._call(['apport-unpack', self.report_file]) self.assertEqual(ret, 1) self.assertEqual(err, '') self.assertTrue(out.startswith('Usage:'), out) (ret, out, err) = self._call(['apport-unpack', '/nonexisting.crash', self.unpack_dir]) self.assertEqual(ret, 1) self.assertTrue('/nonexisting.crash' in err) self.assertEqual(out, '') def _call(self, argv): a = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE) (out, err) = a.communicate() return (a.returncode, out.decode('UTF-8'), err.decode('UTF-8')) def _get_unpack(self, fname): with open(os.path.join(self.unpack_dir, fname), 'rb') as f: return f.read() unittest.main() ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/test/test_apport_valgrind.py����������������������������������������������������������0000644�0000000�0000000�00000011610�12677230222�017014� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Copyright (C) 2012 Canonical Ltd. # Author: Kyle Nitzsche <kyle.nitzsche@canonica.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import unittest import subprocess import tempfile import shutil import os import os.path p = subprocess.Popen(['which', 'valgrind'], stdout=subprocess.PIPE) p.communicate() have_valgrind = (p.returncode == 0) @unittest.skipUnless(have_valgrind, 'valgrind not installed') class T(unittest.TestCase): def setUp(self): self.workdir = tempfile.mkdtemp() self.pwd = os.getcwd() def tearDown(self): shutil.rmtree(self.workdir) os.chdir(self.pwd) def test_valgrind_min_installed(self): '''valgrind is installed and recent enough''' cmd = ['valgrind', '-q', '--extra-debuginfo-path=./', 'ls'] (ret, out, err) = self._call(cmd) self.assertEqual(ret, 0) def _call(self, argv): p = subprocess.Popen( argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE) (out, err) = p.communicate() ret = p.returncode return ret, bytes.decode(out), bytes.decode(err) def test_help_display(self): '''help display''' cmd = ['apport-valgrind', '-h'] (ret, out, err) = self._call(cmd) self.assertEqual(ret, 0) def test_invalid_args(self): '''return code is not 0 when invalid args are passed''' cmd = ['apport-valgrind', '-k', 'pwd'] (ret, out, err) = self._call(cmd) self.assertNotEqual(ret, 0) def test_vlog_created(self): '''apport-valgrind creates valgrind.log with expected content''' cmd = ['apport-valgrind', '--no-sandbox', 'true'] os.chdir(self.workdir) subprocess.call(cmd) self.assertTrue( os.path.exists('valgrind.log'), msg='Expected valgrind.log file not found.') def test_intentional_mem_leak_detection(self): '''apport-valgrind log reports intentional memory leak''' os.chdir(self.workdir) # compile memleak.c to create memleak.o that intentionally creates a # memory leak code = ''' #include <stdio.h> #include <stdlib.h> #include <string.h> void makeleak(void); int main(void) { makeleak(); return 0; } void makeleak(void){ char *leak = malloc(128); strcpy(leak, "Initializing leak value"); /*free(leak);*/ }''' with open('memleak.c', 'w') as fd: fd.write(code) cmd = ['gcc', '-Wall', '-Werror', '-g', 'memleak.c', '-o', 'memleak'] self.assertEqual( subprocess.call(cmd), 0, 'compiling memleak.c failed.') self.assertTrue(os.path.exists('memleak')) # run apport-valgrind on the new memleak.o cmd = ['apport-valgrind', '--no-sandbox', os.path.join(self.workdir, './memleak')] subprocess.call(cmd) logpath = os.path.join(self.workdir, './valgrind.log') # verify the generated valgrind.log contains the known leak cmd = ['grep', 'definitely lost:', logpath] res = subprocess.Popen(cmd, stdout=subprocess.PIPE).communicate()[0] res = bytes.decode(res) res = res.rstrip('\n') found = res.find('128 bytes') self.assertGreater(found, 0, 'The intentional memory leak should be reported ' 'in the valgrind log file but is not.') def test_unpackaged_exe(self): '''apport-valgrind creates valgrind log on unpackaged executable''' exepath = os.path.join(self.workdir, 'pwd') shutil.copy('/bin/pwd', exepath) logpath = os.path.join(self.workdir, 'unpackaged-exe.log') subprocess.check_call(['apport-valgrind', '--no-sandbox', '-l', logpath, exepath]) self.assertTrue(os.path.exists(logpath), 'A log file %s should exist but does not' % logpath) with open(logpath) as f: log = f.read() self.assertTrue(exepath in log, log) def test_sandbox_cache_options(self): '''apport-valgrind creates a user specified sandbox and cache''' sandbox = os.path.join(self.workdir, 'test-sandbox') cache = os.path.join(self.workdir, 'test-cache') cmd = ['apport-valgrind', '--sandbox-dir', sandbox, '--cache', cache, 'true'] subprocess.check_call(cmd) self.assertTrue(os.path.exists(sandbox), 'A sandbox directory %s was specified but was not created' % sandbox) self.assertTrue(os.path.exists(cache), 'A cache directory %s was specified but was not created' % cache) unittest.main() ������������������������������������������������������������������������������������������������������������������������apport-2.20.1/test/test_backend_apt_dpkg.py���������������������������������������������������������0000644�0000000�0000000�00000147644�12677230222�017102� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������import unittest, gzip, imp, subprocess, tempfile, shutil, os, os.path, time import glob, sys from apt import apt_pkg try: from urllib import urlopen URLError = IOError (urlopen) # pyflakes except ImportError: # python3 from urllib.request import urlopen from urllib.error import URLError if os.environ.get('APPORT_TEST_LOCAL'): impl = imp.load_source('', 'backends/packaging-apt-dpkg.py').impl else: from apport.packaging_impl import impl def _has_internet(): '''Return if there is sufficient network connection for the tests. This checks if https://api.launchpad.net/devel/ubuntu/ can be downloaded from, to check if we can run the online tests. ''' if os.environ.get('SKIP_ONLINE_TESTS'): return False if _has_internet.cache is None: _has_internet.cache = False try: if sys.version > '3': f = urlopen('https://api.launchpad.net/devel/ubuntu/', timeout=30) else: f = urlopen('https://api.launchpad.net/devel/ubuntu/') if f.readline().startswith(b'{"all_specifications'): _has_internet.cache = True except URLError: pass return _has_internet.cache _has_internet.cache = None class T(unittest.TestCase): def setUp(self): # save and restore configuration file self.orig_conf = impl.configuration self.workdir = tempfile.mkdtemp() # reset internal caches between tests impl._apt_cache = None impl._sandbox_apt_cache = None def tearDown(self): impl.configuration = self.orig_conf shutil.rmtree(self.workdir) def test_check_files_md5(self): '''_check_files_md5().''' td = tempfile.mkdtemp() try: f1 = os.path.join(td, 'test 1.txt') f2 = os.path.join(td, 'test:2.txt') sumfile = os.path.join(td, 'sums.txt') with open(f1, 'w') as fd: fd.write('Some stuff') with open(f2, 'w') as fd: fd.write('More stuff') # use one relative and one absolute path in checksums file with open(sumfile, 'wb') as fd: fd.write(b'2e41290da2fa3f68bd3313174467e3b5 ' + f1[1:].encode() + b'\n') fd.write(b'f6423dfbc4faf022e58b4d3f5ff71a70 ' + f2.encode() + b'\n') fd.write(b'deadbeef000001111110000011110000 /bin/\xc3\xa4') self.assertEqual(impl._check_files_md5(sumfile), [], 'correct md5sums') with open(f1, 'w') as fd: fd.write('Some stuff!') self.assertEqual(impl._check_files_md5(sumfile), [f1[1:]], 'file 1 wrong') with open(f2, 'w') as fd: fd.write('More stuff!') self.assertEqual(impl._check_files_md5(sumfile), [f1[1:], f2], 'files 1 and 2 wrong') with open(f1, 'w') as fd: fd.write('Some stuff') self.assertEqual(impl._check_files_md5(sumfile), [f2], 'file 2 wrong') # check using a direct md5 list as argument with open(sumfile, 'rb') as fd: self.assertEqual(impl._check_files_md5(fd.read()), [f2], 'file 2 wrong') finally: shutil.rmtree(td) def test_get_version(self): '''get_version().''' self.assertTrue(impl.get_version('libc6').startswith('2')) self.assertRaises(ValueError, impl.get_version, 'nonexisting') self.assertRaises(ValueError, impl.get_version, 'wukrainian') def test_get_available_version(self): '''get_available_version().''' self.assertTrue(impl.get_available_version('libc6').startswith('2')) self.assertRaises(ValueError, impl.get_available_version, 'nonexisting') def test_get_dependencies(self): '''get_dependencies().''' # package with both Depends: and Pre-Depends: d = impl.get_dependencies('bash') self.assertTrue(len(d) > 2) self.assertTrue('libc6' in d) for dep in d: self.assertTrue(impl.get_version(dep)) # Pre-Depends: only d = impl.get_dependencies('coreutils') self.assertTrue(len(d) >= 1) self.assertTrue('libc6' in d) for dep in d: self.assertTrue(impl.get_version(dep)) # Depends: only d = impl.get_dependencies('libc6') self.assertTrue(len(d) >= 1) for dep in d: self.assertTrue(impl.get_version(dep)) def test_get_source(self): '''get_source().''' self.assertRaises(ValueError, impl.get_source, 'nonexisting') self.assertEqual(impl.get_source('bash'), 'bash') self.assertTrue('glibc' in impl.get_source('libc6')) def test_get_package_origin(self): '''get_package_origin().''' # determine distro name distro = impl.get_os_version()[0] self.assertRaises(ValueError, impl.get_package_origin, 'nonexisting') # this assumes that this package is not installed self.assertRaises(ValueError, impl.get_package_origin, 'robocode-doc') # this assumes that bash is native self.assertEqual(impl.get_package_origin('bash'), distro) # no non-native test here, hard to come up with a generic one def test_is_distro_package(self): '''is_distro_package().''' self.assertRaises(ValueError, impl.is_distro_package, 'nonexisting') self.assertTrue(impl.is_distro_package('bash')) # no False test here, hard to come up with a generic one def test_get_architecture(self): '''get_architecture().''' self.assertRaises(ValueError, impl.get_architecture, 'nonexisting') # just assume that bash uses the native architecture d = subprocess.Popen(['dpkg', '--print-architecture'], stdout=subprocess.PIPE) system_arch = d.communicate()[0].decode().strip() assert d.returncode == 0 self.assertEqual(impl.get_architecture('bash'), system_arch) def test_get_files(self): '''get_files().''' self.assertRaises(ValueError, impl.get_files, 'nonexisting') self.assertTrue('/bin/bash' in impl.get_files('bash')) def test_get_file_package(self): '''get_file_package() on installed files.''' self.assertEqual(impl.get_file_package('/bin/bash'), 'bash') self.assertEqual(impl.get_file_package('/bin/cat'), 'coreutils') self.assertEqual(impl.get_file_package('/etc/pam.conf'), 'libpam-runtime') self.assertEqual(impl.get_file_package('/nonexisting'), None) def test_get_file_package_uninstalled(self): '''get_file_package() on uninstalled packages.''' # generate a test Contents.gz basedir = tempfile.mkdtemp() try: # test Contents.gz for release pocket mapdir = os.path.join(basedir, 'dists', impl.get_distro_codename()) os.makedirs(mapdir) with gzip.open(os.path.join(mapdir, 'Contents-%s.gz' % impl.get_system_architecture()), 'w') as f: f.write(b''' foo header FILE LOCATION usr/bin/frobnicate foo/frob usr/bin/frob foo/frob-utils bo/gu/s na/mypackage bin/true admin/superutils ''') # test Contents.gz for -updates pocket mapdir = os.path.join(basedir, 'dists', impl.get_distro_codename() + '-updates') os.makedirs(mapdir) with gzip.open(os.path.join(mapdir, 'Contents-%s.gz' % impl.get_system_architecture()), 'w') as f: f.write(b''' foo header FILE LOCATION lib/libnew.so.5 universe/libs/libnew5 ''') # use this as a mirror impl.set_mirror('file://' + basedir) self.assertEqual(impl.get_file_package('usr/bin/frob', False), None) # must not match frob (same file name prefix) self.assertEqual(impl.get_file_package('usr/bin/frob', True), 'frob-utils') self.assertEqual(impl.get_file_package('/usr/bin/frob', True), 'frob-utils') # find files from -updates pocket self.assertEqual(impl.get_file_package('/lib/libnew.so.5', False), None) self.assertEqual(impl.get_file_package('/lib/libnew.so.5', True), 'libnew5') # invalid mirror impl.set_mirror('file:///foo/nonexisting') self.assertRaises(IOError, impl.get_file_package, 'usr/bin/frob', True) # valid mirror, test cache directory impl.set_mirror('file://' + basedir) cache_dir = os.path.join(basedir, 'cache') os.mkdir(cache_dir) self.assertEqual(impl.get_file_package('usr/bin/frob', True, cache_dir), 'frob-utils') cache_dir_files = os.listdir(cache_dir) self.assertEqual(len(cache_dir_files), 2) self.assertEqual(impl.get_file_package('/bo/gu/s', True, cache_dir), 'mypackage') # valid cache, should not need to access the mirror impl.set_mirror('file:///foo/nonexisting') self.assertEqual(impl.get_file_package('/bin/true', True, cache_dir), 'superutils') self.assertEqual(impl.get_file_package('/bo/gu/s', True, cache_dir), 'mypackage') self.assertEqual(impl.get_file_package('/lib/libnew.so.5', True, cache_dir), 'libnew5') # outdated cache, must refresh the cache and hit the invalid # mirror if 'updates' in cache_dir_files[0]: cache_file = cache_dir_files[1] else: cache_file = cache_dir_files[0] now = int(time.time()) os.utime(os.path.join(cache_dir, cache_file), (now, now - 90000)) self.assertRaises(IOError, impl.get_file_package, '/bo/gu/s', True, cache_dir) finally: shutil.rmtree(basedir) def test_get_file_package_uninstalled_multiarch(self): '''get_file_package() on foreign arches and releases''' # map "Foonux 3.14" to "mocky" orig_distro_release_to_codename = impl._distro_release_to_codename impl._distro_release_to_codename = lambda r: (r == 'Foonux 3.14') and 'mocky' or None # generate test Contents.gz for two fantasy architectures basedir = tempfile.mkdtemp() try: mapdir = os.path.join(basedir, 'dists', impl.get_distro_codename()) os.makedirs(mapdir) with gzip.open(os.path.join(mapdir, 'Contents-even.gz'), 'w') as f: f.write(b''' foo header FILE LOCATION usr/lib/even/libfrob.so.1 foo/libfrob1 usr/bin/frob foo/frob-utils ''') with gzip.open(os.path.join(mapdir, 'Contents-odd.gz'), 'w') as f: f.write(b''' foo header FILE LOCATION usr/lib/odd/libfrob.so.1 foo/libfrob1 usr/bin/frob foo/frob-utils ''') # and another one for fantasy release os.mkdir(os.path.join(basedir, 'dists', 'mocky')) with gzip.open(os.path.join(basedir, 'dists', 'mocky', 'Contents-even.gz'), 'w') as f: f.write(b''' foo header FILE LOCATION usr/lib/even/libfrob.so.0 foo/libfrob0 usr/bin/frob foo/frob ''') # use this as a mirror impl.set_mirror('file://' + basedir) # must not match system architecture self.assertEqual(impl.get_file_package('usr/bin/frob', False), None) # must match correct architecture self.assertEqual(impl.get_file_package('usr/bin/frob', True, arch='even'), 'frob-utils') self.assertEqual(impl.get_file_package('usr/bin/frob', True, arch='odd'), 'frob-utils') self.assertEqual(impl.get_file_package('/usr/lib/even/libfrob.so.1', True, arch='even'), 'libfrob1') self.assertEqual(impl.get_file_package('/usr/lib/even/libfrob.so.1', True, arch='odd'), None) self.assertEqual(impl.get_file_package('/usr/lib/odd/libfrob.so.1', True, arch='odd'), 'libfrob1') # for mocky release ("Foonux 3.14") self.assertEqual(impl.get_file_package('/usr/lib/even/libfrob.so.1', True, release='Foonux 3.14', arch='even'), None) self.assertEqual(impl.get_file_package('/usr/lib/even/libfrob.so.0', True, release='Foonux 3.14', arch='even'), 'libfrob0') self.assertEqual(impl.get_file_package('/usr/bin/frob', True, release='Foonux 3.14', arch='even'), 'frob') # invalid mirror impl.set_mirror('file:///foo/nonexisting') self.assertRaises(IOError, impl.get_file_package, '/usr/lib/even/libfrob.so.1', True, arch='even') self.assertRaises(IOError, impl.get_file_package, '/usr/lib/even/libfrob.so.0', True, release='Foonux 3.14', arch='even') # valid mirror, test caching impl.set_mirror('file://' + basedir) cache_dir = os.path.join(basedir, 'cache') os.mkdir(cache_dir) self.assertEqual(impl.get_file_package('/usr/lib/even/libfrob.so.1', True, cache_dir, arch='even'), 'libfrob1') self.assertEqual(len(os.listdir(cache_dir)), 1) cache_file = os.listdir(cache_dir)[0] self.assertEqual(impl.get_file_package('/usr/lib/even/libfrob.so.0', True, cache_dir, release='Foonux 3.14', arch='even'), 'libfrob0') self.assertEqual(len(os.listdir(cache_dir)), 2) # valid cache, should not need to access the mirror impl.set_mirror('file:///foo/nonexisting') self.assertEqual(impl.get_file_package('usr/bin/frob', True, cache_dir, arch='even'), 'frob-utils') self.assertEqual(impl.get_file_package('usr/bin/frob', True, cache_dir, release='Foonux 3.14', arch='even'), 'frob') # but no cached file for the other arch self.assertRaises(IOError, impl.get_file_package, 'usr/bin/frob', True, cache_dir, arch='odd') # outdated cache, must refresh the cache and hit the invalid # mirror now = int(time.time()) os.utime(os.path.join(cache_dir, cache_file), (now, now - 90000)) self.assertRaises(IOError, impl.get_file_package, 'usr/bin/frob', True, cache_dir, arch='even') finally: shutil.rmtree(basedir) impl._distro_release_to_codename = orig_distro_release_to_codename def test_get_file_package_diversion(self): '''get_file_package() for a diverted file.''' # pick first diversion we have p = subprocess.Popen('LC_ALL=C dpkg-divert --list | head -n 1', shell=True, stdout=subprocess.PIPE) out = p.communicate()[0].decode('UTF-8') assert p.returncode == 0 assert out fields = out.split() file = fields[2] pkg = fields[-1] self.assertEqual(impl.get_file_package(file), pkg) def test_mirror_from_apt_sources(self): s = os.path.join(self.workdir, 'sources.list') # valid file, should grab the first mirror with open(s, 'w') as f: f.write('''# some comment deb-src http://source.mirror/foo tuxy main deb http://binary.mirror/tuxy tuxy main deb http://secondary.mirror tuxy extra ''') f.flush() self.assertEqual(impl._get_primary_mirror_from_apt_sources(s), 'http://binary.mirror/tuxy') # valid file with options with open(s, 'w') as f: f.write('''# some comment deb-src http://source.mirror/foo tuxy main deb [arch=flowerpc,leghf] http://binary.mirror/tuxy tuxy main deb http://secondary.mirror tuxy extra ''') f.flush() self.assertEqual(impl._get_primary_mirror_from_apt_sources(s), 'http://binary.mirror/tuxy') # empty file with open(s, 'w') as f: f.flush() self.assertRaises(SystemError, impl._get_primary_mirror_from_apt_sources, s) def test_get_modified_conffiles(self): '''get_modified_conffiles()''' # very shallow self.assertEqual(type(impl.get_modified_conffiles('bash')), type({})) self.assertEqual(type(impl.get_modified_conffiles('apport')), type({})) self.assertEqual(type(impl.get_modified_conffiles('nonexisting')), type({})) def test_get_system_architecture(self): '''get_system_architecture().''' arch = impl.get_system_architecture() # must be nonempty without line breaks self.assertNotEqual(arch, '') self.assertTrue('\n' not in arch) def test_get_library_paths(self): '''get_library_paths().''' paths = impl.get_library_paths() # must be nonempty without line breaks self.assertNotEqual(paths, '') self.assertTrue(':' in paths) self.assertTrue('/lib' in paths) self.assertTrue('\n' not in paths) def test_compare_versions(self): '''compare_versions.''' self.assertEqual(impl.compare_versions('1', '2'), -1) self.assertEqual(impl.compare_versions('1.0-1ubuntu1', '1.0-1ubuntu2'), -1) self.assertEqual(impl.compare_versions('1.0-1ubuntu1', '1.0-1ubuntu1'), 0) self.assertEqual(impl.compare_versions('1.0-1ubuntu2', '1.0-1ubuntu1'), 1) self.assertEqual(impl.compare_versions('1:1.0-1', '2007-2'), 1) self.assertEqual(impl.compare_versions('1:1.0-1~1', '1:1.0-1'), -1) def test_enabled(self): '''enabled.''' impl.configuration = '/nonexisting' self.assertEqual(impl.enabled(), True) f = tempfile.NamedTemporaryFile() impl.configuration = f.name f.write('# configuration file\nenabled = 1'.encode()) f.flush() self.assertEqual(impl.enabled(), True) f.close() f = tempfile.NamedTemporaryFile() impl.configuration = f.name f.write('# configuration file\n enabled =0 '.encode()) f.flush() self.assertEqual(impl.enabled(), False) f.close() f = tempfile.NamedTemporaryFile() impl.configuration = f.name f.write('# configuration file\nnothing here'.encode()) f.flush() self.assertEqual(impl.enabled(), True) f.close() def test_get_kernel_package(self): '''get_kernel_package().''' self.assertTrue('linux' in impl.get_kernel_package()) def test_package_name_glob(self): '''package_name_glob().''' self.assertTrue(len(impl.package_name_glob('a*')) > 5) self.assertTrue('bash' in impl.package_name_glob('ba*h')) self.assertEqual(impl.package_name_glob('bash'), ['bash']) self.assertEqual(impl.package_name_glob('xzywef*'), []) @unittest.skipUnless(_has_internet(), 'online test') def test_install_packages_versioned(self): '''install_packages() with versions and with cache''' self._setup_foonux_config(release='wily', updates=True) v_coreutils = '8.23-4ubuntu2' v_libc = '2.21-0ubuntu4' obsolete = impl.install_packages(self.rootdir, self.configdir, 'Foonux 1.2', [('coreutils', v_coreutils), # should not come from updates ('libc6', v_libc), ('tzdata', None), # should come from -updates, > 2014b-1 ], False, self.cachedir) def sandbox_ver(pkg): with gzip.open(os.path.join(self.rootdir, 'usr/share/doc', pkg, 'changelog.Debian.gz')) as f: return f.readline().decode().split()[1][1:-1] self.assertEqual(obsolete, '') # packages get installed self.assertTrue(os.path.exists(os.path.join(self.rootdir, 'usr/bin/stat'))) self.assert_elf_arch(os.path.join(self.rootdir, 'usr/bin/stat'), impl.get_system_architecture()) self.assertTrue(os.path.exists(os.path.join(self.rootdir, 'usr/lib/debug/usr/bin/stat'))) self.assertTrue(os.path.exists(os.path.join(self.rootdir, 'usr/share/zoneinfo/zone.tab'))) self.assertTrue(os.path.exists(os.path.join(self.rootdir, 'usr/share/doc/libc6/copyright'))) # their versions are as expected self.assertEqual(sandbox_ver('coreutils'), v_coreutils) self.assertEqual(sandbox_ver('libc6'), v_libc) self.assertEqual(sandbox_ver('libc6-dbg'), v_libc) self.assertGreater(sandbox_ver('tzdata'), '2015') with open(os.path.join(self.rootdir, 'packages.txt')) as f: pkglist = f.read().splitlines() self.assertIn('coreutils ' + v_coreutils, pkglist) self.assertIn('coreutils-dbgsym ' + v_coreutils, pkglist) self.assertIn('libc6 ' + v_libc, pkglist) self.assertIn('libc6-dbg ' + v_libc, pkglist) self.assertIn('tzdata ' + sandbox_ver('tzdata'), pkglist) self.assertEqual(len(pkglist), 5, str(pkglist)) # does not clobber config dir self.assertEqual(os.listdir(self.configdir), ['Foonux 1.2']) self.assertEqual(sorted(os.listdir(os.path.join(self.configdir, 'Foonux 1.2'))), ['armhf', 'codename', 'sources.list']) self.assertEqual(os.listdir(os.path.join(self.configdir, 'Foonux 1.2', 'armhf')), ['sources.list']) # caches packages, and their versions are as expected cache = os.listdir(os.path.join(self.cachedir, 'Foonux 1.2', 'apt', 'var', 'cache', 'apt', 'archives')) cache_versions = {} for p in cache: try: (name, ver) = p.split('_')[:2] cache_versions[name] = ver except ValueError: pass # not a .deb, ignore self.assertEqual(cache_versions['coreutils'], v_coreutils) self.assertEqual(cache_versions['coreutils-dbgsym'], v_coreutils) self.assertIn('tzdata', cache_versions) self.assertEqual(cache_versions['libc6'], v_libc) self.assertEqual(cache_versions['libc6-dbg'], v_libc) # installs cached packages os.unlink(os.path.join(self.rootdir, 'usr/bin/stat')) os.unlink(os.path.join(self.rootdir, 'packages.txt')) obsolete = impl.install_packages(self.rootdir, self.configdir, 'Foonux 1.2', [('coreutils', v_coreutils), ], False, self.cachedir) self.assertEqual(obsolete, '') self.assertTrue(os.path.exists( os.path.join(self.rootdir, 'usr/bin/stat'))) # complains about obsolete packages result = impl.install_packages(self.rootdir, self.configdir, 'Foonux 1.2', [('gnome-common', '1.1')]) self.assertEqual(len(result.splitlines()), 1) self.assertTrue('gnome-common' in result) self.assertTrue('1.1' in result) # ... but installs the current version anyway self.assertTrue(os.path.exists( os.path.join(self.rootdir, 'usr/bin/gnome-autogen.sh'))) self.assertGreaterEqual(sandbox_ver('gnome-common'), '3.1.0-0ubuntu1') # does not crash on nonexisting packages result = impl.install_packages(self.rootdir, self.configdir, 'Foonux 1.2', [('buggerbogger', None)]) self.assertEqual(len(result.splitlines()), 1) self.assertTrue('buggerbogger' in result) self.assertTrue('not exist' in result) # can interleave with other operations dpkg = subprocess.Popen(['dpkg-query', '-Wf${Version}', 'dash'], stdout=subprocess.PIPE) dash_version = dpkg.communicate()[0].decode() self.assertEqual(dpkg.returncode, 0) self.assertEqual(impl.get_version('dash'), dash_version) self.assertRaises(ValueError, impl.get_available_version, 'buggerbogger') # still installs packages after above operations os.unlink(os.path.join(self.rootdir, 'usr/bin/stat')) os.unlink(os.path.join(self.rootdir, 'packages.txt')) impl.install_packages(self.rootdir, self.configdir, 'Foonux 1.2', [('coreutils', v_coreutils), ('dpkg', None), ], False, self.cachedir) self.assertTrue(os.path.exists(os.path.join(self.rootdir, 'usr/bin/stat'))) self.assertTrue(os.path.exists(os.path.join(self.rootdir, 'usr/bin/dpkg'))) @unittest.skipUnless(_has_internet(), 'online test') def test_install_packages_unversioned(self): '''install_packages() without versions and no cache''' self._setup_foonux_config(release='wily') obsolete = impl.install_packages(self.rootdir, self.configdir, 'Foonux 1.2', [('coreutils', None), ('tzdata', None), ], False, None) self.assertEqual(obsolete, '') self.assertTrue(os.path.exists(os.path.join(self.rootdir, 'usr/bin/stat'))) self.assert_elf_arch(os.path.join(self.rootdir, 'usr/bin/stat'), impl.get_system_architecture()) self.assertTrue(os.path.exists(os.path.join(self.rootdir, 'usr/lib/debug/usr/bin/stat'))) self.assertTrue(os.path.exists(os.path.join(self.rootdir, 'usr/share/zoneinfo/zone.tab'))) # does not clobber config dir self.assertEqual(os.listdir(self.configdir), ['Foonux 1.2']) self.assertEqual(sorted(os.listdir(os.path.join(self.configdir, 'Foonux 1.2'))), ['armhf', 'codename', 'sources.list']) self.assertEqual(os.listdir(os.path.join(self.configdir, 'Foonux 1.2', 'armhf')), ['sources.list']) # no cache self.assertEqual(os.listdir(self.cachedir), []) # keeps track of package versions with open(os.path.join(self.rootdir, 'packages.txt')) as f: pkglist = f.read().splitlines() self.assertIn('coreutils 8.23-4ubuntu2', pkglist) self.assertIn('coreutils-dbgsym 8.23-4ubuntu2', pkglist) self.assertIn('tzdata 2015g-1', pkglist) self.assertEqual(len(pkglist), 3, str(pkglist)) @unittest.skipUnless(_has_internet(), 'online test') def test_install_packages_system(self): '''install_packages() with system configuration''' # trigger an unrelated package query here to get the cache set up, # reproducing an install failure when the internal caches are not # reset properly impl.get_version('dash') self._setup_foonux_config() result = impl.install_packages(self.rootdir, None, None, [('coreutils', impl.get_version('coreutils')), ('tzdata', '1.1'), ], False, self.cachedir) self.assertTrue(os.path.exists(os.path.join(self.rootdir, 'usr/bin/stat'))) self.assertTrue(os.path.exists(os.path.join(self.rootdir, 'usr/share/zoneinfo/zone.tab'))) # complains about obsolete packages self.assertGreaterEqual(len(result.splitlines()), 1) self.assertTrue('tzdata' in result) self.assertTrue('1.1' in result) # caches packages cache = os.listdir(os.path.join(self.cachedir, 'system', 'apt', 'var', 'cache', 'apt', 'archives')) cache_names = [p.split('_')[0] for p in cache] self.assertTrue('coreutils' in cache_names) self.assertIn('coreutils-dbgsym', cache_names) self.assertTrue('tzdata' in cache_names) # works with relative paths and existing cache os.unlink(os.path.join(self.rootdir, 'usr/bin/stat')) os.unlink(os.path.join(self.rootdir, 'packages.txt')) orig_cwd = os.getcwd() try: os.chdir(self.workdir) impl.install_packages('root', None, None, [('coreutils', None)], False, 'cache') finally: os.chdir(orig_cwd) self.assertTrue(os.path.exists(os.path.join(self.rootdir, 'usr/bin/stat'))) @unittest.skipUnless(_has_internet(), 'online test') def test_install_packages_error(self): '''install_packages() with errors''' # sources.list with invalid format self._setup_foonux_config() with open(os.path.join(self.configdir, 'Foonux 1.2', 'sources.list'), 'w') as f: f.write('bogus format') try: impl.install_packages(self.rootdir, self.configdir, 'Foonux 1.2', [('tzdata', None)], False, self.cachedir) self.fail('install_packages() unexpectedly succeeded with broken sources.list') except SystemError as e: self.assertTrue('bogus' in str(e)) self.assertFalse('Exception' in str(e)) # sources.list with wrong server with open(os.path.join(self.configdir, 'Foonux 1.2', 'sources.list'), 'w') as f: f.write('deb http://archive.ubuntu.com/nosuchdistro/ trusty main\n') try: impl.install_packages(self.rootdir, self.configdir, 'Foonux 1.2', [('tzdata', None)], False, self.cachedir) self.fail('install_packages() unexpectedly succeeded with broken server URL') except SystemError as e: self.assertTrue('nosuchdistro' in str(e), str(e)) self.assertTrue('index files failed to download' in str(e)) @unittest.skipUnless(_has_internet(), 'online test') def test_install_packages_permanent_sandbox(self): '''install_packages() with a permanent sandbox''' self._setup_foonux_config() zonetab = os.path.join(self.rootdir, 'usr/share/zoneinfo/zone.tab') impl.install_packages(self.rootdir, self.configdir, 'Foonux 1.2', [('tzdata', None)], False, self.cachedir, permanent_rootdir=True) # This will now be using a Cache with our rootdir. archives = apt_pkg.config.find_dir('Dir::Cache::archives') tzdata = glob.glob(os.path.join(archives, 'tzdata*.deb')) if not tzdata: self.fail('tzdata was not downloaded') tzdata_written = os.path.getctime(tzdata[0]) zonetab_written = os.path.getctime(zonetab) impl.install_packages(self.rootdir, self.configdir, 'Foonux 1.2', [('coreutils', None), ('tzdata', None)], False, self.cachedir, permanent_rootdir=True) if not glob.glob(os.path.join(archives, 'coreutils*.deb')): self.fail('coreutils was not downloaded.') self.assertEqual(os.path.getctime(tzdata[0]), tzdata_written, 'tzdata downloaded twice.') self.assertEqual(zonetab_written, os.path.getctime(zonetab), 'zonetab written twice.') self.assertTrue(os.path.exists( os.path.join(self.rootdir, 'usr/bin/stat'))) # Prevent packages from downloading. orig_apt_proxy = apt_pkg.config.get('Acquire::http::Proxy') apt_pkg.config.set('Acquire::http::Proxy', 'http://nonexistent') orig_http_proxy = os.environ.get('http_proxy') os.environ['http_proxy'] = 'http://nonexistent' try: orig_no_proxy = os.environ['no_proxy'] del os.environ['no_proxy'] except KeyError: orig_no_proxy = None self.assertRaises(SystemExit, impl.install_packages, self.rootdir, self.configdir, 'Foonux 1.2', [('libc6', None)], False, self.cachedir, permanent_rootdir=True) # These packages exist, so attempting to install them should not fail. impl.install_packages(self.rootdir, self.configdir, 'Foonux 1.2', [('coreutils', None), ('tzdata', None)], False, self.cachedir, permanent_rootdir=True) # even without cached debs, trying to install the same versions should # be a no-op and succeed for f in glob.glob('%s/Foonux 1.2/apt/var/cache/apt/archives/coreutils*' % self.cachedir): os.unlink(f) impl.install_packages(self.rootdir, self.configdir, 'Foonux 1.2', [('coreutils', None)], False, self.cachedir, permanent_rootdir=True) # trying to install another package should fail, though self.assertRaises(SystemExit, impl.install_packages, self.rootdir, self.configdir, 'Foonux 1.2', [('aspell-doc', None)], False, self.cachedir, permanent_rootdir=True) # restore original proxy settings if orig_http_proxy: os.environ['http_proxy'] = orig_http_proxy else: del os.environ['http_proxy'] if orig_no_proxy: os.environ['no_proxy'] = orig_no_proxy apt_pkg.config.set('Acquire::http::Proxy', orig_apt_proxy) @unittest.skipUnless(_has_internet(), 'online test') def test_install_packages_permanent_sandbox_repack(self): self._setup_foonux_config() include_path = os.path.join(self.rootdir, 'usr/include/krb5.h') impl.install_packages(self.rootdir, self.configdir, 'Foonux 1.2', [('libkrb5-dev', None)], False, self.cachedir, permanent_rootdir=True) self.assertIn('mit-krb5/', os.readlink(include_path)) impl.install_packages(self.rootdir, self.configdir, 'Foonux 1.2', [('heimdal-dev', None)], False, self.cachedir, permanent_rootdir=True) self.assertIn('heimdal/', os.readlink(include_path)) impl.install_packages(self.rootdir, self.configdir, 'Foonux 1.2', [('libkrb5-dev', None)], False, self.cachedir, permanent_rootdir=True) self.assertIn('mit-krb5/', os.readlink(include_path)) @unittest.skipUnless(_has_internet(), 'online test') @unittest.skipIf(impl.get_system_architecture() == 'armhf', 'native armhf architecture') def test_install_packages_armhf(self): '''install_packages() for foreign architecture armhf''' self._setup_foonux_config(release='wily') obsolete = impl.install_packages(self.rootdir, self.configdir, 'Foonux 1.2', [('coreutils', None), ('libc6', '2.21-0ubuntu0'), ], False, self.cachedir, architecture='armhf') self.assertEqual(obsolete, 'libc6 version 2.21-0ubuntu0 required, but 2.21-0ubuntu4 is available\n') self.assertTrue(os.path.exists(os.path.join(self.rootdir, 'usr/bin/stat'))) self.assert_elf_arch(os.path.join(self.rootdir, 'usr/bin/stat'), 'armhf') self.assertTrue(os.path.exists(os.path.join(self.rootdir, 'usr/share/doc/libc6/copyright'))) # caches packages cache = os.listdir(os.path.join(self.cachedir, 'Foonux 1.2', 'apt', 'var', 'cache', 'apt', 'archives')) self.assertTrue('coreutils_8.23-4ubuntu2_armhf.deb' in cache, cache) self.assertTrue('libc6_2.21-0ubuntu4_armhf.deb' in cache, cache) @unittest.skipUnless(_has_internet(), 'online test') def test_install_packages_from_launchpad(self): '''install_packages() using packages only available on Launchpad''' self._setup_foonux_config() obsolete = impl.install_packages(self.rootdir, self.configdir, 'Foonux 1.2', [('oxideqt-codecs', '1.6.6-0ubuntu0.14.04.1'), ('distro-info-data', '0.18ubuntu0.2'), ('qemu-utils', '2.0.0+dfsg-2ubuntu1.11'), ('unity-services', '7.2.5+14.04.20150521.1-0ubuntu1'), ], False, self.cachedir) def sandbox_ver(pkg, debian=True): if debian: changelog = 'changelog.Debian.gz' else: changelog = 'changelog.gz' with gzip.open(os.path.join(self.rootdir, 'usr/share/doc', pkg, changelog)) as f: return f.readline().decode().split()[1][1:-1] self.assertEqual(obsolete, '') # packages get installed self.assertTrue(os.path.exists(os.path.join(self.rootdir, 'usr/share/doc/oxideqt-codecs/copyright'))) self.assertTrue(os.path.exists(os.path.join(self.rootdir, 'usr/share/distro-info/ubuntu.csv'))) # their versions are as expected self.assertEqual(sandbox_ver('oxideqt-codecs'), '1.6.6-0ubuntu0.14.04.1') self.assertEqual(sandbox_ver('oxideqt-codecs-dbg'), '1.6.6-0ubuntu0.14.04.1') self.assertEqual(sandbox_ver('distro-info-data', debian=False), '0.18ubuntu0.2') # keeps track of package versions with open(os.path.join(self.rootdir, 'packages.txt')) as f: pkglist = f.read().splitlines() self.assertIn('oxideqt-codecs 1.6.6-0ubuntu0.14.04.1', pkglist) self.assertIn('oxideqt-codecs-dbg 1.6.6-0ubuntu0.14.04.1', pkglist) self.assertIn('distro-info-data 0.18ubuntu0.2', pkglist) self.assertIn('qemu-utils-dbgsym 2.0.0+dfsg-2ubuntu1.11', pkglist) self.assertIn('unity-services-dbgsym 7.2.5+14.04.20150521.1-0ubuntu1', pkglist) # caches packages, and their versions are as expected cache = os.listdir(os.path.join(self.cachedir, 'Foonux 1.2', 'apt', 'var', 'cache', 'apt', 'archives')) # archive and launchpad versions of packages exist in the cache, so use a list cache_versions = [] for p in cache: try: (name, ver) = p.split('_')[:2] cache_versions.append((name, ver)) except ValueError: pass # not a .deb, ignore self.assertIn(('oxideqt-codecs', '1.6.6-0ubuntu0.14.04.1'), cache_versions) self.assertIn(('oxideqt-codecs-dbg', '1.6.6-0ubuntu0.14.04.1'), cache_versions) self.assertIn(('distro-info-data', '0.18ubuntu0.2'), cache_versions) self.assertIn(('qemu-utils-dbgsym', '2.0.0+dfsg-2ubuntu1.11'), cache_versions) @unittest.skipUnless(_has_internet(), 'online test') def test_install_old_packages(self): '''sandbox will install older package versions from launchpad''' self._setup_foonux_config() obsolete = impl.install_packages(self.rootdir, self.configdir, 'Foonux 1.2', [('oxideqt-codecs', '1.7.8-0ubuntu0.14.04.1'), ], False, self.cachedir) self.assertEqual(obsolete, '') def sandbox_ver(pkg): with gzip.open(os.path.join(self.rootdir, 'usr/share/doc', pkg, 'changelog.Debian.gz')) as f: return f.readline().decode().split()[1][1:-1] # the version is as expected self.assertEqual(sandbox_ver('oxideqt-codecs'), '1.7.8-0ubuntu0.14.04.1') # keeps track of package version with open(os.path.join(self.rootdir, 'packages.txt')) as f: pkglist = f.read().splitlines() self.assertIn('oxideqt-codecs 1.7.8-0ubuntu0.14.04.1', pkglist) obsolete = impl.install_packages(self.rootdir, self.configdir, 'Foonux 1.2', [('oxideqt-codecs', '1.6.6-0ubuntu0.14.04.1'), ], False, self.cachedir) self.assertEqual(obsolete, '') # the old version is installed self.assertEqual(sandbox_ver('oxideqt-codecs'), '1.6.6-0ubuntu0.14.04.1') # the old versions is tracked with open(os.path.join(self.rootdir, 'packages.txt')) as f: pkglist = f.read().splitlines() self.assertIn('oxideqt-codecs 1.6.6-0ubuntu0.14.04.1', pkglist) @unittest.skipUnless(_has_internet(), 'online test') def test_get_source_tree_sandbox(self): self._setup_foonux_config() out_dir = os.path.join(self.workdir, 'out') os.mkdir(out_dir) impl._build_apt_sandbox(self.rootdir, os.path.join(self.configdir, 'Foonux 1.2', 'sources.list'), 'ubuntu', 'trusty', origins=None) res = impl.get_source_tree('base-files', out_dir, sandbox=self.rootdir, apt_update=True) self.assertTrue(os.path.isdir(os.path.join(res, 'debian'))) # this needs to be updated when the release in _setup_foonux_config # changes self.assertTrue(res.endswith('/base-files-7.2ubuntu5'), 'unexpected version: ' + res.split('/')[-1]) @unittest.skipUnless(_has_internet(), 'online test') def test_get_source_tree_lp_sandbox(self): self._setup_foonux_config() out_dir = os.path.join(self.workdir, 'out') os.mkdir(out_dir) impl._build_apt_sandbox(self.rootdir, os.path.join(self.configdir, 'Foonux 1.2', 'sources.list'), 'ubuntu', 'trusty', origins=None) res = impl.get_source_tree('debian-installer', out_dir, version='20101020ubuntu318.16', sandbox=self.rootdir, apt_update=True) self.assertTrue(os.path.isdir(os.path.join(res, 'debian'))) # this needs to be updated when the release in _setup_foonux_config # changes self.assertTrue(res.endswith('/debian-installer-20101020ubuntu318.16'), 'unexpected version: ' + res.split('/')[-1]) @unittest.skipUnless(_has_internet(), 'online test') def test_create_sources_for_a_named_ppa(self): '''Add sources.list entries for a named PPA.''' ppa = 'LP-PPA-daisy-pluckers-daisy-seeds' self._setup_foonux_config() impl._build_apt_sandbox(self.rootdir, os.path.join(self.configdir, 'Foonux 1.2', 'sources.list'), 'ubuntu', 'trusty', origins=[ppa]) with open(os.path.join(self.rootdir, 'etc', 'apt', 'sources.list.d', ppa + '.list')) as f: sources = f.read().splitlines() self.assertIn('deb http://ppa.launchpad.net/daisy-pluckers/daisy-seeds/ubuntu trusty main main/debug', sources) self.assertIn('deb-src http://ppa.launchpad.net/daisy-pluckers/daisy-seeds/ubuntu trusty main', sources) d = subprocess.Popen(['gpg', '--no-options', '--no-default-keyring', '--no-auto-check-trustdb', '--trust-model', 'always', '--batch', '--list-keys', '--keyring', os.path.join(self.rootdir, 'etc', 'apt', 'trusted.gpg.d', 'LP-PPA-daisy-pluckers-daisy-seeds.gpg')], stdout=subprocess.PIPE) apt_keys = d.communicate()[0].decode() assert d.returncode == 0 self.assertIn('Launchpad PPA for Daisy Pluckers', apt_keys) @unittest.skipUnless(_has_internet(), 'online test') def test_create_sources_for_an_unnamed_ppa(self): '''Add sources.list entries for an unnamed PPA.''' ppa = 'LP-PPA-brian-murray' self._setup_foonux_config() impl._build_apt_sandbox(self.rootdir, os.path.join(self.configdir, 'Foonux 1.2', 'sources.list'), 'ubuntu', 'trusty', origins=[ppa]) with open(os.path.join(self.rootdir, 'etc', 'apt', 'sources.list.d', ppa + '.list')) as f: sources = f.read().splitlines() self.assertIn('deb http://ppa.launchpad.net/brian-murray/ppa/ubuntu trusty main', sources) self.assertIn('deb-src http://ppa.launchpad.net/brian-murray/ppa/ubuntu trusty main', sources) d = subprocess.Popen(['gpg', '--no-options', '--no-default-keyring', '--no-auto-check-trustdb', '--trust-model', 'always', '--batch', '--list-keys', '--keyring', os.path.join(self.rootdir, 'etc', 'apt', 'trusted.gpg.d', 'LP-PPA-brian-murray.gpg')], stdout=subprocess.PIPE) apt_keys = d.communicate()[0].decode() assert d.returncode == 0 self.assertIn('Launchpad PPA for Brian Murray', apt_keys) def test_use_sources_for_a_ppa(self): '''Use a sources.list.d file for a PPA.''' ppa = 'fooser-bar-ppa' self._setup_foonux_config(ppa=True) impl._build_apt_sandbox(self.rootdir, os.path.join(self.configdir, 'Foonux 1.2', 'sources.list'), 'ubuntu', 'trusty', origins=['LP-PPA-%s' % ppa]) with open(os.path.join(self.rootdir, 'etc', 'apt', 'sources.list.d', ppa + '.list')) as f: sources = f.read().splitlines() self.assertIn('deb http://ppa.launchpad.net/fooser/bar-ppa/ubuntu trusty main main/debug', sources) self.assertIn('deb-src http://ppa.launchpad.net/fooser/bar-ppa/ubuntu trusty main', sources) @unittest.skipUnless(_has_internet(), 'online test') def test_install_package_from_a_ppa(self): '''Install a package from a PPA.''' ppa = 'LP-PPA-brian-murray' self._setup_foonux_config() obsolete = impl.install_packages(self.rootdir, self.configdir, 'Foonux 1.2', [('apport', '2.14.1-0ubuntu3.7~ppa4') ], False, self.cachedir, origins=[ppa]) self.assertEqual(obsolete, '') def sandbox_ver(pkg): with gzip.open(os.path.join(self.rootdir, 'usr/share/doc', pkg, 'changelog.Debian.gz')) as f: return f.readline().decode().split()[1][1:-1] self.assertEqual(sandbox_ver('apport'), '2.14.1-0ubuntu3.7~ppa4') def _setup_foonux_config(self, updates=False, release='trusty', ppa=False): '''Set up directories and configuration for install_packages() If ppa is True, then a sources.list file for a PPA will be created in sources.list.d used to test copying of a sources.list file to a sandbox. ''' self.cachedir = os.path.join(self.workdir, 'cache') self.rootdir = os.path.join(self.workdir, 'root') self.configdir = os.path.join(self.workdir, 'config') os.mkdir(self.cachedir) os.mkdir(self.rootdir) os.mkdir(self.configdir) os.mkdir(os.path.join(self.configdir, 'Foonux 1.2')) with open(os.path.join(self.configdir, 'Foonux 1.2', 'sources.list'), 'w') as f: f.write('deb http://archive.ubuntu.com/ubuntu/ %s main\n' % release) f.write('deb-src http://archive.ubuntu.com/ubuntu/ %s main\n' % release) f.write('deb http://ddebs.ubuntu.com/ %s main\n' % release) if updates: f.write('deb http://archive.ubuntu.com/ubuntu/ %s-updates main\n' % release) f.write('deb-src http://archive.ubuntu.com/ubuntu/ %s-updates main\n' % release) f.write('deb http://ddebs.ubuntu.com/ %s-updates main\n' % release) if ppa: os.mkdir(os.path.join(self.configdir, 'Foonux 1.2', 'sources.list.d')) with open(os.path.join(self.configdir, 'Foonux 1.2', 'sources.list.d', 'fooser-bar-ppa.list'), 'w') as f: f.write('deb http://ppa.launchpad.net/fooser/bar-ppa/ubuntu %s main main/debug\n' % release) f.write('deb-src http://ppa.launchpad.net/fooser/bar-ppa/ubuntu %s main\n' % release) os.mkdir(os.path.join(self.configdir, 'Foonux 1.2', 'armhf')) with open(os.path.join(self.configdir, 'Foonux 1.2', 'armhf', 'sources.list'), 'w') as f: f.write('deb http://ports.ubuntu.com/ %s main\n' % release) f.write('deb-src http://ports.ubuntu.com/ %s main\n' % release) f.write('deb http://ddebs.ubuntu.com/ %s main\n' % release) if updates: f.write('deb http://ports.ubuntu.com/ %s-updates main\n' % release) f.write('deb-src http://ports.ubuntu.com/ %s-updates main\n' % release) f.write('deb http://ddebs.ubuntu.com/ %s-updates main\n' % release) with open(os.path.join(self.configdir, 'Foonux 1.2', 'codename'), 'w') as f: f.write('%s' % release) def assert_elf_arch(self, path, expected): '''Assert that an ELF file is for an expected machine type. Expected is a Debian-style architecture (i386, amd64, armhf) ''' archmap = { 'i386': '80386', 'amd64': 'X86-64', 'armhf': 'ARM', } # get ELF machine type readelf = subprocess.Popen(['readelf', '-e', path], env={}, stdout=subprocess.PIPE, universal_newlines=True) out = readelf.communicate()[0] assert readelf.returncode == 0 for line in out.splitlines(): if line.startswith(' Machine:'): machine = line.split(None, 1)[1] break else: self.fail('could not find Machine: in readelf output') self.assertTrue(archmap[expected] in machine, '%s has unexpected machine type "%s" for architecture %s' % ( path, machine, expected)) # only execute if dpkg is available try: if subprocess.call(['dpkg', '--help'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) == 0: unittest.main() except OSError: pass ��������������������������������������������������������������������������������������������apport-2.20.1/test/test_backend_rpm.py��������������������������������������������������������������0000644�0000000�0000000�00000003207�12677230222�016071� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������import unittest, imp, subprocess, sys, os try: if os.environ.get('APPORT_TEST_LOCAL'): impl = imp.load_source('', 'backends/packaging_rpm.py').impl else: from apport.packaging_impl import impl except ImportError: print('%s: Skipping, rpm module not available' % sys.argv[0]) sys.exit(0) class T(unittest.TestCase): def test_get_dependencies(self): '''get_dependencies().''' deps = impl.get_dependencies('bash') self.assertNotEqual(deps, []) def test_get_header(self): '''_get_header().''' hdr = impl._get_header('alsa-utils') self.assertEqual(hdr['n'], 'alsa-utils') def test_get_headers_by_tag(self): '''_get_headers_by_tag().''' headersByTag = impl._get_headers_by_tag('basenames', '/bin/bash') self.assertEqual(len(headersByTag), 1) self.assertTrue(headersByTag[0]['n'].startswith('bash')) def test_get_system_architecture(self): '''get_system_architecture().''' arch = impl.get_system_architecture() # must be nonempty without line breaks self.assertNotEqual(arch, '') self.assertTrue('\n' not in arch) def test_get_version(self): '''get_version().''' ver = impl.get_version('bash') self.assertNotEqual(ver, None) ver = impl.get_version('alsa-utils') self.assertNotEqual(ver, None) # only execute if rpm is available try: if subprocess.call(['rpm', '--help'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) == 0: unittest.main() except OSError: print('%s: Skipping, rpm not available' % sys.argv[0]) �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/test/test_crash_digger.py�������������������������������������������������������������0000644�0000000�0000000�00000022307�12677230222�016247� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'''Test crash-digger''' # Copyright (C) 2007 - 2009 Canonical Ltd. # Author: Martin Pitt <martin.pitt@ubuntu.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import unittest, subprocess, tempfile, os, shutil, os.path import apport.fileutils class T(unittest.TestCase): def setUp(self): '''Set up dummy config dir, crashdb.conf, and apport-retrace''' self.workdir = tempfile.mkdtemp() crashdb_conf = os.path.join(self.workdir, 'crashdb.conf') with open(crashdb_conf, 'w') as f: f.write('''default = 'memory' databases = { 'memory': {'impl': 'memory', 'distro': 'Testux', 'dummy_data': '1', 'dupdb_url': '%s'}, 'empty': {'impl': 'memory', 'distro': 'Foonux'}, }''' % os.path.join(self.workdir, 'dupdb')) self.config_dir = os.path.join(self.workdir, 'config') os.mkdir(self.config_dir) os.mkdir(os.path.join(self.config_dir, 'Testux 1.0')) os.mkdir(os.path.join(self.config_dir, 'Testux 2.2')) self.apport_retrace_log = os.path.join(self.workdir, 'apport-retrace.log') self.apport_retrace = os.path.join(self.workdir, 'apport-retrace') with open(self.apport_retrace, 'w') as f: f.write('''#!/bin/sh echo "$@" >> %s''' % self.apport_retrace_log) os.chmod(self.apport_retrace, 0o755) self.lock_file = os.path.join(self.workdir, 'lock') os.environ['APPORT_CRASHDB_CONF'] = crashdb_conf os.environ['PYTHONPATH'] = '.' self.orig_report_dir = apport.fileutils.report_dir apport.fileutils.report_dir = os.path.join(self.workdir, 'crashes') os.mkdir(apport.fileutils.report_dir) os.environ['APPORT_REPORT_DIR'] = apport.fileutils.report_dir def tearDown(self): shutil.rmtree(self.workdir) apport.fileutils.report_dir = self.orig_report_dir def call(self, args): '''Call crash-digger with given arguments. Return a pair (stdout, stderr). ''' s = subprocess.Popen(['crash-digger', '--apport-retrace', self.apport_retrace] + args, stdout=subprocess.PIPE, stderr=subprocess.PIPE) (out, err) = s.communicate() return (out.decode('UTF-8'), err.decode('UTF-8')) def test_crashes(self): '''Crash retracing''' (out, err) = self.call(['-c', self.config_dir, '-a', '/dev/zero', '-d', os.path.join(self.workdir, 'dup.db'), '-vl', self.lock_file]) self.assertEqual(err, '', 'no error messages:\n' + err) self.assertIn("Available releases: ['Testux 1.0', 'Testux 2.2']", out) self.assertIn('retracing #0', out) self.assertIn('retracing #1', out) self.assertIn('retracing #2', out) self.assertIn('crash is release FooLinux Pi/2 which does not have a config available', out) self.assertNotIn('failed with status', out) self.assertNotIn('#3', out, 'dupcheck crashes are not retraced') self.assertNotIn('#4', out, 'dupcheck crashes are not retraced') with open(self.apport_retrace_log) as f: retrace_log = f.read() self.assertEqual(len(retrace_log.splitlines()), 2) self.assertNotIn('dup.db -v 0\n', retrace_log) self.assertIn('dup.db -v 1\n', retrace_log) self.assertIn('dup.db -v 2\n', retrace_log) self.assertFalse(os.path.exists(self.lock_file)) self.assertFalse(os.path.isdir(os.path.join(self.workdir, 'dupdb', 'sig'))) def test_crashes_error(self): '''Crash retracing if apport-retrace fails on bug #1''' # make apport-retrace fail on bug 1 os.rename(self.apport_retrace, self.apport_retrace + '.bak') with open(self.apport_retrace, 'w') as f: f.write('''#!/bin/sh echo "$@" >> %s while [ -n "$2" ]; do shift; done if [ "$1" = 1 ]; then echo "cannot frobnicate bug" >&2 exit 1 fi ''' % self.apport_retrace_log) os.chmod(self.apport_retrace, 0o755) (out, err) = self.call(['-c', self.config_dir, '-a', '/dev/zero', '-d', os.path.join(self.workdir, 'dup.db'), '-vl', self.lock_file]) self.assertEqual(err, '') self.assertIn("Available releases: ['Testux 1.0', 'Testux 2.2']", out) self.assertIn('retracing #0', out) self.assertIn('retracing #1', out) self.assertIn('retracing #2', out) self.assertIn('crash is release FooLinux Pi/2 which does not have a config available', out) self.assertNotIn('#0 failed with status', out) self.assertIn('#1 failed with status: 1', out) self.assertNotIn('#3', out, 'dupcheck crashes are not retraced') self.assertNotIn('#4', out, 'dupcheck crashes are not retraced') with open(self.apport_retrace_log) as f: retrace_log = f.read() self.assertEqual(len(retrace_log.splitlines()), 2) self.assertNotIn('dup.db -v 0\n', retrace_log) self.assertIn('dup.db -v 1\n', retrace_log) self.assertIn('dup.db -v 2\n', retrace_log) self.assertFalse(os.path.exists(self.lock_file)) os.rename(self.apport_retrace + '.bak', self.apport_retrace) def test_crashes_transient_error(self): '''Crash retracing if apport-retrace reports a transient error''' # make apport-retrace fail on bug 1 os.rename(self.apport_retrace, self.apport_retrace + '.bak') with open(self.apport_retrace, 'w') as f: f.write('''#!/bin/sh echo "$@" >> %s while [ -n "$2" ]; do shift; done if [ "$1" = 1 ]; then echo "cannot frobnicate crash db" >&2 exit 99 fi ''' % self.apport_retrace_log) os.chmod(self.apport_retrace, 0o755) (out, err) = self.call(['-c', self.config_dir, '-a', '/dev/zero', '-d', os.path.join(self.workdir, 'dup.db'), '-vl', self.lock_file]) self.assertIn("Available releases: ['Testux 1.0', 'Testux 2.2']", out) self.assertIn('retracing #0', out) self.assertIn('retracing #1', out) self.assertNotIn('retracing #2', out, 'should not continue after errors') self.assertIn('transient error reported; halting', out) with open(self.apport_retrace_log) as f: retrace_log = f.read() self.assertIn('dup.db -v 1\n', retrace_log) # stops after failing #1 self.assertNotIn('dup.db -v 2\n', retrace_log) self.assertFalse(os.path.exists(self.lock_file)) def test_dupcheck(self): '''Duplicate checking''' (out, err) = self.call(['-a', '/dev/zero', '-d', os.path.join(self.workdir, 'dup.db'), '-vDl', self.lock_file]) self.assertEqual(err, '', 'no error messages:\n' + err) self.assertNotIn('#1', out, 'signal crashes are not retraced') self.assertNotIn('#2', out, 'signal crashes are not retraced') self.assertIn('checking #3 for duplicate', out) self.assertIn('checking #4 for duplicate', out) self.assertIn('Report is a duplicate of #3 (not fixed yet)', out) self.assertFalse(os.path.exists(self.apport_retrace_log)) self.assertFalse(os.path.exists(self.lock_file)) def test_stderr_redirection(self): '''apport-retrace's stderr is redirected to stdout''' with open(self.apport_retrace, 'w') as f: f.write('''#!/bin/sh echo ApportRetraceError >&2''') (out, err) = self.call(['-c', self.config_dir, '-a', '/dev/zero', '-d', os.path.join(self.workdir, 'dup.db'), '-vl', self.lock_file]) self.assertEqual(err, '', 'no error messages:\n' + err) self.assertIn('ApportRetraceError', out) def test_publish_db(self): '''Duplicate database publishing''' (out, err) = self.call(['-c', self.config_dir, '-a', '/dev/zero', '-d', os.path.join(self.workdir, 'dup.db'), '-vl', self.lock_file, '--publish-db', os.path.join(self.workdir, 'dupdb')]) self.assertEqual(err, '', 'no error messages:\n' + err) self.assertIn('retracing #0', out) self.assertTrue(os.path.isdir(os.path.join(self.workdir, 'dupdb', 'sig'))) def test_alternate_crashdb(self): '''Alternate crash database name''' # existing DB "empty" has no crashes (out, err) = self.call(['-c', self.config_dir, '-a', '/dev/zero', '-vl', self.lock_file, '--crash-db', 'empty']) self.assertEqual(err, '', 'no error messages:\n' + err) self.assertNotIn('retracing #', out) self.assertNotIn('crash is', out) self.assertNotIn('failed with status', out) # nonexisting DB (out, err) = self.call(['-c', self.config_dir, '-a', '/dev/zero', '-vl', self.lock_file, '--crash-db', 'nonexisting']) self.assertEqual(out, '', 'no output messages:\n' + out) self.assertNotIn('Traceback', err) self.assertIn('nonexisting', err) unittest.main() �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/test/test_crashdb.py������������������������������������������������������������������0000644�0000000�0000000�00000067561�12677230222�015247� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# coding: UTF-8 import unittest, tempfile, shutil, os.path, copy import apport from apport.crashdb_impl.memory import CrashDatabase class T(unittest.TestCase): def setUp(self): self.workdir = tempfile.mkdtemp() self.dupdb_dir = os.path.join(self.workdir, 'dupdb') self.crashes = CrashDatabase(None, {'dummy_data': '1', 'dupdb_url': 'file://' + self.dupdb_dir}) self.assertEqual(self.crashes.get_comment_url(self.crashes.download(0), 0), 'http://foo.bugs.example.com/0') # test-suite internal consistency check: Python signatures are # indeed equal and exist assert self.crashes.download(3).crash_signature(), \ 'test-suite internal check: Python crash sigs exist' self.assertEqual(self.crashes.download(3).crash_signature(), self.crashes.download(4).crash_signature()) # we should have 5 crashes self.assertEqual(self.crashes.latest_id(), 4) def tearDown(self): shutil.rmtree(self.workdir) def test_no_dummy_data(self): '''No dummy data is added by default''' self.crashes = CrashDatabase(None, {}) self.assertEqual(self.crashes.latest_id(), -1) self.assertRaises(IndexError, self.crashes.download, 0) def test_retrace_markers(self): '''Bookkeeping in retraced and dupchecked bugs''' self.assertEqual(self.crashes.get_unretraced(), set([0, 1, 2])) self.assertEqual(self.crashes.get_dup_unchecked(), set([3, 4])) def test_dynamic_crashdb_conf(self): '''Dynamic code in crashdb.conf''' # use our dummy crashdb crashdb_conf = tempfile.NamedTemporaryFile() crashdb_conf.write(b'''default = 'testsuite' def get_dyn(): return str(2 + 2) def get_dyn_name(): return 'on_the' + 'fly' databases = { 'testsuite': { 'impl': 'memory', 'dyn_option': get_dyn(), }, get_dyn_name(): { 'impl': 'memory', 'whoami': 'dynname', } } ''') crashdb_conf.flush() db = apport.crashdb.get_crashdb(None, None, crashdb_conf.name) self.assertEqual(db.options['dyn_option'], '4') db = apport.crashdb.get_crashdb(None, 'on_thefly', crashdb_conf.name) self.assertFalse('dyn_opion' in db.options) self.assertEqual(db.options['whoami'], 'dynname') def test_accepts_default(self): '''accepts(): default configuration''' # by default crash DBs accept any type self.assertTrue(self.crashes.accepts(apport.Report('Crash'))) self.assertTrue(self.crashes.accepts(apport.Report('Bug'))) self.assertTrue(self.crashes.accepts(apport.Report('weirdtype'))) def test_accepts_problem_types(self): '''accepts(): problem_types option in crashdb.conf''' # create a crash DB with type limits crashdb_conf = tempfile.NamedTemporaryFile() crashdb_conf.write(b'''default = 'testsuite' databases = { 'testsuite': { 'impl': 'memory', 'problem_types': ['Bug', 'Kernel'], }, } ''') crashdb_conf.flush() db = apport.crashdb.get_crashdb(None, None, crashdb_conf.name) self.assertTrue(db.accepts(apport.Report('Bug'))) self.assertFalse(db.accepts(apport.Report('Crash'))) self.assertFalse(db.accepts(apport.Report('weirdtype'))) # # Test memory.py implementation # def test_submit(self): '''Crash uploading and downloading''' # setUp() already checks upload() and get_comment_url() r = self.crashes.download(0) self.assertEqual(r['SourcePackage'], 'foo') self.assertEqual(r['Package'], 'libfoo1 1.2-3') self.assertEqual(self.crashes.reports[0]['dup_of'], None) self.assertRaises(IndexError, self.crashes.download, 5) def test_get_affected_packages(self): self.assertEqual(self.crashes.get_affected_packages(0), ['foo']) self.assertEqual(self.crashes.get_affected_packages(1), ['foo']) self.assertEqual(self.crashes.get_affected_packages(2), ['bar']) self.assertEqual(self.crashes.get_affected_packages(3), ['pygoo']) def test_update(self): '''update()''' r = apport.Report() r['Package'] = 'new' r['FooBar'] = 'Bogus' r['StacktraceTop'] = 'Fresh!' self.crashes.update(1, r, 'muhaha') self.assertEqual(self.crashes.reports[1]['comment'], 'muhaha') self.assertEqual(self.crashes.download(1)['Package'], 'new') self.assertEqual(self.crashes.download(1)['StacktraceTop'], 'Fresh!') self.assertEqual(self.crashes.download(1)['FooBar'], 'Bogus') self.assertRaises(IndexError, self.crashes.update, 5, None, '') def test_update_filter(self): '''update() with key_filter''' r = apport.Report() r['Package'] = 'new' r['FooBar'] = 'Bogus' r['StacktraceTop'] = 'Fresh!' self.crashes.update(1, r, 'muhaha', key_filter=['FooBar', 'StacktraceTop']) self.assertEqual(self.crashes.reports[1]['comment'], 'muhaha') self.assertEqual(self.crashes.download(1)['Package'], 'libfoo1 1.2-4') self.assertEqual(self.crashes.download(1)['StacktraceTop'], 'Fresh!') self.assertEqual(self.crashes.download(1)['FooBar'], 'Bogus') self.assertRaises(IndexError, self.crashes.update, 5, None, '') def test_update_traces(self): '''update_traces()''' r = apport.Report() r['Package'] = 'new' r['FooBar'] = 'Bogus' r['StacktraceTop'] = 'Fresh!' self.crashes.update_traces(1, r, 'muhaha') self.assertEqual(self.crashes.reports[1]['comment'], 'muhaha') self.assertEqual(self.crashes.download(1)['Package'], 'libfoo1 1.2-4') self.assertEqual(self.crashes.download(1)['StacktraceTop'], 'Fresh!') self.assertFalse('FooBar' in self.crashes.download(1)) self.assertRaises(IndexError, self.crashes.update_traces, 5, None) def test_get_distro_release(self): '''get_distro_release()''' self.assertEqual(self.crashes.get_distro_release(0), 'FooLinux Pi/2') def test_status(self): '''get_unfixed(), get_fixed_version(), duplicate_of(), close_duplicate()''' self.assertEqual(self.crashes.get_unfixed(), set([0, 1, 2, 3, 4])) self.assertEqual(self.crashes.get_fixed_version(0), None) self.assertEqual(self.crashes.get_fixed_version(1), None) self.assertEqual(self.crashes.get_fixed_version(3), None) self.assertEqual(self.crashes.duplicate_of(0), None) self.assertEqual(self.crashes.duplicate_of(1), None) self.crashes.close_duplicate({}, 1, 0) self.assertEqual(self.crashes.duplicate_of(0), None) self.assertEqual(self.crashes.duplicate_of(1), 0) self.assertEqual(self.crashes.get_unfixed(), set([0, 2, 3, 4])) self.assertEqual(self.crashes.get_fixed_version(1), 'invalid') self.assertEqual(self.crashes.get_fixed_version(99), 'invalid') def test_mark_regression(self): '''mark_regression()''' self.crashes.reports[3]['fixed_version'] = '4.1' self.crashes.mark_regression(4, 3) self.assertEqual(self.crashes.reports[4]['comment'], 'regression, already fixed in #3') self.assertEqual(self.crashes.duplicate_of(3), None) self.assertEqual(self.crashes.duplicate_of(4), None) # # Test crash duplication detection API of crashdb.py # def test_duplicate_db_fixed(self): '''duplicate_db_fixed()''' self.crashes.init_duplicate_db(':memory:') self.assertEqual(self.crashes.check_duplicate(0), None) self.assertEqual(self.crashes._duplicate_db_dump(), {self.crashes.download(0).crash_signature(): (0, None)}) self.crashes.duplicate_db_fixed(0, '42') self.assertEqual(self.crashes._duplicate_db_dump(), {self.crashes.download(0).crash_signature(): (0, '42')}) def test_duplicate_db_remove(self): '''duplicate_db_remove()''' # db not yet initialized self.assertRaises(AssertionError, self.crashes.check_duplicate, 0) self.crashes.init_duplicate_db(':memory:') self.assertEqual(self.crashes.check_duplicate(0), None) self.assertEqual(self.crashes.check_duplicate(2), None) # invalid ID (raising KeyError is *hard*, so it's not done) self.crashes.duplicate_db_remove(99) # nevertheless, this should not change the DB self.assertEqual(self.crashes._duplicate_db_dump(), {self.crashes.download(0).crash_signature(): (0, None), self.crashes.download(2).crash_signature(): (2, None)}) # valid ID self.crashes.duplicate_db_remove(2) # check DB consistency self.assertEqual(self.crashes._duplicate_db_dump(), {self.crashes.download(0).crash_signature(): (0, None)}) def test_check_duplicate(self): '''check_duplicate() and known()''' # db not yet initialized self.assertRaises(AssertionError, self.crashes.check_duplicate, 0, self.crashes.download(0)) self.assertRaises(AssertionError, self.crashes.check_duplicate, 0) self.crashes.init_duplicate_db(':memory:') self.assertEqual(self.crashes._duplicate_db_dump(), {}) # ID#0 -> no dup self.assertEqual(self.crashes.known(self.crashes.download(0)), None) self.assertEqual(self.crashes.check_duplicate(0), None) # can't be known before publishing DB self.assertEqual(self.crashes.known(self.crashes.download(0)), None) self.crashes.duplicate_db_publish(self.dupdb_dir) self.assertEqual(self.crashes.known(self.crashes.download(0)), 'http://foo.bugs.example.com/0') # bug is not a duplicate of itself, when reprocessed self.assertEqual(self.crashes.check_duplicate(0), None) # ID#1 -> dup of #0 self.crashes.duplicate_db_publish(self.dupdb_dir) self.assertEqual(self.crashes.known(self.crashes.download(1)), 'http://foo.bugs.example.com/0') self.assertEqual(self.crashes.check_duplicate(1), (0, None)) # ID#2 is unrelated, no dup self.crashes.duplicate_db_publish(self.dupdb_dir) self.assertEqual(self.crashes.known(self.crashes.download(2)), None) self.assertEqual(self.crashes.check_duplicate(2), None) self.crashes.duplicate_db_publish(self.dupdb_dir) self.assertEqual(self.crashes.known(self.crashes.download(2)), 'http://bar.bugs.example.com/2') # ID#3: no dup, master of ID#4 self.assertEqual(self.crashes.check_duplicate(3), None) # ID#4: dup of ID#3 self.assertEqual(self.crashes.check_duplicate(4), (3, None)) # not marked as regression self.assertEqual(self.crashes.reports[3]['comment'], '') # check DB consistency; #1 and #4 are dupes and do not appear self.assertEqual(self.crashes._duplicate_db_dump(), {self.crashes.download(0).crash_signature(): (0, None), self.crashes.download(2).crash_signature(): (2, None), self.crashes.download(3).crash_signature(): (3, None)}) # now mark the python crash as fixed self.crashes.reports[3]['fixed_version'] = '4.1' # ID#4 is dup of ID#3, but happend in version 5 -> regression self.crashes.close_duplicate(self.crashes.download(4), 4, None) # reset self.assertEqual(self.crashes.check_duplicate(4), None) self.assertEqual(self.crashes.duplicate_of(4), None) self.assertEqual(self.crashes.reports[4]['comment'], 'regression, already fixed in #3') # check DB consistency; ID#4 is a regression, thus appears as the new # master bug for the sig of 3/4 self.assertEqual(self.crashes._duplicate_db_dump(), {self.crashes.download(0).crash_signature(): (0, None), self.crashes.download(2).crash_signature(): (2, None), self.crashes.download(3).crash_signature(): (4, None)}) # add two more Python crash dups and verify that they are dup'ed # to the correct ID r = copy.copy(self.crashes.download(3)) self.assertEqual(self.crashes.get_comment_url(r, self.crashes.upload(r)), 'http://pygoo.bugs.example.com/5') self.assertEqual(self.crashes.check_duplicate(5), (3, '4.1')) self.assertEqual(self.crashes.duplicate_of(5), 3) # not marked as regression, happened earlier than #3 self.assertEqual(self.crashes.reports[5]['comment'], '') r = copy.copy(self.crashes.download(3)) r['Package'] = 'python-goo 5.1' self.assertEqual(self.crashes.get_comment_url(r, self.crashes.upload(r)), 'http://pygoo.bugs.example.com/6') self.assertEqual(self.crashes.check_duplicate(6), (4, None)) self.assertEqual(self.crashes.duplicate_of(6), 4) # not marked as regression, as it's now a dupe of new master bug 4 self.assertEqual(self.crashes.reports[6]['comment'], '') # check DB consistency; #5 and #6 are dupes of #3 and #4, so no new # entries self.assertEqual(self.crashes._duplicate_db_dump(), {self.crashes.download(0).crash_signature(): (0, None), self.crashes.download(2).crash_signature(): (2, None), self.crashes.download(3).crash_signature(): (4, None)}) # check with unknown fixed version self.crashes.reports[3]['fixed_version'] = '' self.crashes.duplicate_db_fixed(3, '') r = copy.copy(self.crashes.download(3)) r['Package'] = 'python-goo 5.1' self.assertEqual(self.crashes.get_comment_url(r, self.crashes.upload(r)), 'http://pygoo.bugs.example.com/7') self.assertEqual(self.crashes.check_duplicate(7), (3, '')) # not marked as regression self.assertEqual(self.crashes.reports[6]['comment'], '') # final consistency check self.assertEqual(self.crashes._duplicate_db_dump(), {self.crashes.download(0).crash_signature(): (0, None), self.crashes.download(2).crash_signature(): (2, None), self.crashes.download(3).crash_signature(): (4, None)}) def test_check_duplicate_utf8(self): '''check_duplicate() with UTF-8 strings''' # assertion failure, with UTF-8 strings r = apport.Report() r['Package'] = 'bash 5' r['SourcePackage'] = 'bash' r['DistroRelease'] = 'Testux 2.2' r['ExecutablePath'] = '/bin/bash' r['Signal'] = '6' r['AssertionMessage'] = 'Afirmação x != 0' self.assertEqual(self.crashes.get_comment_url(r, self.crashes.upload(r)), 'http://bash.bugs.example.com/5') self.assertEqual(self.crashes.get_comment_url(r, self.crashes.upload(r)), 'http://bash.bugs.example.com/6') self.crashes.init_duplicate_db(':memory:') self.assertEqual(self.crashes.check_duplicate(5), None) self.assertEqual(self.crashes.check_duplicate(6), (5, None)) self.crashes.duplicate_db_publish(self.dupdb_dir) def test_check_duplicate_custom_signature(self): '''check_duplicate() with custom DuplicateSignature: field''' r = apport.Report() r['SourcePackage'] = 'bash' r['Package'] = 'bash 5' r['DuplicateSignature'] = 'Code42Blue' self.assertEqual(self.crashes.get_comment_url(r, self.crashes.upload(r)), 'http://bash.bugs.example.com/5') self.crashes.init_duplicate_db(':memory:') self.assertEqual(self.crashes.check_duplicate(5), None) self.assertEqual(self.crashes._duplicate_db_dump(), {'Code42Blue': (5, None)}) # this one has a standard crash_signature self.assertEqual(self.crashes.check_duplicate(0), None) # ... but DuplicateSignature wins self.crashes.download(0)['DuplicateSignature'] = 'Code42Blue' self.assertEqual(self.crashes.check_duplicate(0), (5, None)) self.crashes.download(1)['DuplicateSignature'] = 'CodeRed' self.assertEqual(self.crashes.check_duplicate(1), None) self.assertEqual(self.crashes._duplicate_db_dump(), {'Code42Blue': (5, None), 'CodeRed': (1, None), self.crashes.download(0).crash_signature(): (0, None)}) def test_check_duplicate_report_arg(self): '''check_duplicate() with explicitly passing report''' self.crashes.init_duplicate_db(':memory:') # ID#0 -> no dup self.assertEqual(self.crashes.check_duplicate(0), None) # ID#2 is unrelated, no dup self.assertEqual(self.crashes.check_duplicate(2), None) # report from ID#1 is a dup of #0 self.assertEqual(self.crashes.check_duplicate(2, self.crashes.download(1)), (0, None)) def test_check_duplicate_multiple_masters(self): '''check_duplicate() with multiple master bugs Due to the unavoidable jitter in gdb stack traces, it can happen that a bug B has the same symbolic signature as a bug S, but the same address signature as a bug A, where A and S have slightly different symbolic and address signatures and thus were not identified as duplicates. In that case we want the lowest ID to become the new master bug, and the other two duplicates. ''' a = apport.Report() a['SourcePackage'] = 'bash' a['Package'] = 'bash 5' a.crash_signature = lambda: '/bin/bash:11:read:main' a.crash_signature_addresses = lambda: '/bin/bash:11:/lib/libc.so+123:/bin/bash+DEAD' self.assertEqual(self.crashes.get_comment_url(a, self.crashes.upload(a)), 'http://bash.bugs.example.com/5') s = apport.Report() s['SourcePackage'] = 'bash' s['Package'] = 'bash 5' s.crash_signature = lambda: '/bin/bash:11:__getch:read:main' s.crash_signature_addresses = lambda: '/bin/bash:11:/lib/libc.so+BEEF:/lib/libc.so+123:/bin/bash+DEAD' self.assertEqual(self.crashes.get_comment_url(s, self.crashes.upload(s)), 'http://bash.bugs.example.com/6') # same addr sig as a, same symbolic sig as s b = apport.Report() b['SourcePackage'] = 'bash' b['Package'] = 'bash 5' b.crash_signature = lambda: '/bin/bash:11:__getch:read:main' b.crash_signature_addresses = lambda: '/bin/bash:11:/lib/libc.so+123:/bin/bash+DEAD' self.assertEqual(self.crashes.get_comment_url(b, self.crashes.upload(b)), 'http://bash.bugs.example.com/7') self.crashes.init_duplicate_db(':memory:') self.assertEqual(self.crashes.check_duplicate(5, a), None) # a and s have slightly different sigs -> no dupe self.assertEqual(self.crashes.check_duplicate(6, s), None) # now throw the interesting b at it self.assertEqual(self.crashes.check_duplicate(7, b), (5, None)) # s and b should now be duplicates of a self.assertEqual(self.crashes.duplicate_of(5), None) self.assertEqual(self.crashes.duplicate_of(6), 5) self.assertEqual(self.crashes.duplicate_of(7), 5) # sig DB should only have a now self.assertEqual(self.crashes._duplicate_db_dump(), {'/bin/bash:11:read:main': (5, None)}) # addr DB should have both possible patterns on a self.assertEqual(self.crashes._duplicate_search_address_signature(b.crash_signature_addresses()), 5) self.assertEqual(self.crashes._duplicate_search_address_signature(s.crash_signature_addresses()), 5) def test_known_address_sig(self): '''known() for address signatures''' self.crashes.init_duplicate_db(':memory:') r = apport.Report() r['SourcePackage'] = 'bash' r['Package'] = 'bash 5' r['ExecutablePath'] = '/bin/bash' r['Signal'] = '11' r['ProcMaps'] = ''' 00400000-004df000 r-xp 00000000 08:02 1044485 /bin/bash 7f491fa8f000-7f491fc24000 r-xp 00000000 08:02 522605 /lib/x86_64-linux-gnu/libc-2.13.so ''' r['Stacktrace'] = ''' #0 0x00007f491fac5687 in kill () #1 0x000000000042eb76 in ?? () #2 0x00000000004324d8 in ?? #3 0x00000000004707e3 in parse_and_execute () #4 0x000000000041d703 in _start () ''' self.assertNotEqual(r.crash_signature_addresses(), None) self.crashes.duplicate_db_publish(self.dupdb_dir) self.assertEqual(self.crashes.known(r), None) r_id = self.crashes.upload(r) self.assertEqual(self.crashes.check_duplicate(r_id), None) self.crashes.duplicate_db_publish(self.dupdb_dir) self.assertEqual(self.crashes.known(r), self.crashes.get_comment_url(r, r_id)) # another report with same address signature r2 = apport.Report() r2['SourcePackage'] = 'bash' r2['Package'] = 'bash 5' r2['ExecutablePath'] = '/bin/bash' r2['Signal'] = '11' r2['ProcMaps'] = ''' 00400000-004df000 r-xp 00000000 08:02 1044485 /bin/bash 5f491fa8f000-5f491fc24000 r-xp 00000000 08:02 522605 /lib/x86_64-linux-gnu/libc-2.13.so ''' r2['Stacktrace'] = ''' #0 0x00005f491fac5687 in kill () #1 0x000000000042eb76 in ?? () #2 0x00000000004324d8 in ?? #3 0x00000000004707e3 in parse_and_execute () #4 0x000000000041d703 in _start () ''' self.assertEqual(r.crash_signature_addresses(), r2.crash_signature_addresses()) # DB knows about this already self.crashes.duplicate_db_publish(self.dupdb_dir) self.assertEqual(self.crashes.known(r2), self.crashes.get_comment_url(r, r_id)) # if it gets uploaded anyway, duplicate it properly r2_id = self.crashes.upload(r2) self.assertEqual(self.crashes.check_duplicate(r2_id), (r_id, None)) # different address signature r3 = apport.Report() r3['SourcePackage'] = 'bash' r3['Package'] = 'bash 5' r3['ExecutablePath'] = '/bin/bash' r3['Signal'] = '11' r3['ProcMaps'] = ''' 00400000-004df000 r-xp 00000000 08:02 1044485 /bin/bash 5f491fa8f000-5f491fc24000 r-xp 00000000 08:02 522605 /lib/x86_64-linux-gnu/libc-2.13.so ''' r3['Stacktrace'] = ''' #0 0x00005f491fac5687 in kill () #1 0x000000000042eb76 in ?? () #2 0x0000000000432401 in ?? #3 0x00000000004707e3 in parse_and_execute () #4 0x000000000041d703 in _start () ''' self.assertNotEqual(r.crash_signature_addresses(), r3.crash_signature_addresses()) self.crashes.duplicate_db_publish(self.dupdb_dir) self.assertEqual(self.crashes.known(r3), None) # pretend that we went through retracing and r and r3 are actually # dupes; temporarily add a signature here to convince check_duplicate() self.crashes.init_duplicate_db(':memory:') r['DuplicateSignature'] = 'moo' r3['DuplicateSignature'] = 'moo' r_id = self.crashes.upload(r) self.assertEqual(self.crashes.check_duplicate(r_id), None) r3_id = self.crashes.upload(r3) self.assertEqual(self.crashes.check_duplicate(r3_id), (r_id, None)) del r['DuplicateSignature'] del r3['DuplicateSignature'] # now both r and r3 address sigs should be known as r_id self.crashes.duplicate_db_publish(self.dupdb_dir) self.assertEqual(self.crashes.known(r), self.crashes.get_comment_url(r, r_id)) self.assertEqual(self.crashes.known(r3), self.crashes.get_comment_url(r3, r_id)) # changing ID also works on address signatures self.crashes.duplicate_db_change_master_id(r_id, r3_id) self.crashes.duplicate_db_publish(self.dupdb_dir) self.assertEqual(self.crashes.known(r), self.crashes.get_comment_url(r, r3_id)) self.assertEqual(self.crashes.known(r3), self.crashes.get_comment_url(r3, r3_id)) # removing an ID also works for address signatures self.crashes.duplicate_db_remove(r3_id) self.crashes.duplicate_db_publish(self.dupdb_dir) self.assertEqual(self.crashes.known(r), None) self.assertEqual(self.crashes.known(r3), None) self.assertEqual(self.crashes._duplicate_db_dump(), {}) def test_duplicate_db_publish_long_sigs(self): '''duplicate_db_publish() with very long signatures''' self.crashes.init_duplicate_db(':memory:') # give #0 a long symbolic sig which needs lots of quoting symb = self.crashes.download(0) symb.crash_signature = lambda: 's+' * 1000 # and #1 a long addr sig addr = self.crashes.download(1) addr.crash_signature_addresses = lambda: '0x1+/' * 1000 self.assertEqual(self.crashes.known(symb), None) self.assertEqual(self.crashes.check_duplicate(0), None) self.assertEqual(self.crashes.known(addr), None) self.assertEqual(self.crashes.check_duplicate(1), None) self.crashes.duplicate_db_publish(self.dupdb_dir) self.assertEqual(self.crashes.known(symb), 'http://foo.bugs.example.com/0') self.assertEqual(self.crashes.known(addr), 'http://foo.bugs.example.com/1') def test_change_master_id(self): '''duplicate_db_change_master_id()''' # db not yet initialized self.assertRaises(AssertionError, self.crashes.check_duplicate, 0) self.crashes.init_duplicate_db(':memory:') self.assertEqual(self.crashes.check_duplicate(0), None) self.assertEqual(self.crashes.check_duplicate(2), None) # check DB consistency self.assertEqual(self.crashes._duplicate_db_dump(), {self.crashes.download(0).crash_signature(): (0, None), self.crashes.download(2).crash_signature(): (2, None)}) # invalid ID (raising KeyError is *hard*, so it's not done) self.crashes.duplicate_db_change_master_id(5, 99) # nevertheless, this should not change the DB self.assertEqual(self.crashes._duplicate_db_dump(), {self.crashes.download(0).crash_signature(): (0, None), self.crashes.download(2).crash_signature(): (2, None)}) # valid ID self.crashes.duplicate_db_change_master_id(2, 99) # check DB consistency self.assertEqual(self.crashes._duplicate_db_dump(), {self.crashes.download(0).crash_signature(): (0, None), self.crashes.download(2).crash_signature(): (99, None)}) def test_db_corruption(self): '''Detection of DB file corruption''' try: (fd, db) = tempfile.mkstemp() os.close(fd) self.crashes.init_duplicate_db(db) self.assertEqual(self.crashes.check_duplicate(0), None) self.assertEqual(self.crashes._duplicate_db_dump(), {self.crashes.download(0).crash_signature(): (0, None)}) self.crashes.duplicate_db_fixed(0, '42') self.assertEqual(self.crashes._duplicate_db_dump(), {self.crashes.download(0).crash_signature(): (0, '42')}) del self.crashes # damage file f = open(db, 'r+') f.truncate(os.path.getsize(db) * 2 / 3) f.close() self.crashes = CrashDatabase(None, {}) self.assertRaises(Exception, self.crashes.init_duplicate_db, db) finally: os.unlink(db) if __name__ == '__main__': unittest.main() �����������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/test/test_fileutils.py����������������������������������������������������������������0000644�0000000�0000000�00000041316�12677230222�015627� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������import unittest, tempfile, os, shutil, time, sys, pwd import problem_report import apport.fileutils import apport.packaging from io import BytesIO from unittest.mock import patch class T(unittest.TestCase): def setUp(self): self.orig_report_dir = apport.fileutils.report_dir apport.fileutils.report_dir = tempfile.mkdtemp() self.orig_config_file = apport.fileutils._config_file def tearDown(self): shutil.rmtree(apport.fileutils.report_dir) apport.fileutils.report_dir = self.orig_report_dir self.orig_report_dir = None apport.fileutils._config_file = self.orig_config_file def _create_reports(self, create_inaccessible=False): '''Create some test reports''' r1 = os.path.join(apport.fileutils.report_dir, 'rep1.crash') r2 = os.path.join(apport.fileutils.report_dir, 'rep2.crash') with open(r1, 'w') as fd: fd.write('report 1') with open(r2, 'w') as fd: fd.write('report 2') os.chmod(r1, 0o600) os.chmod(r2, 0o600) if create_inaccessible: ri = os.path.join(apport.fileutils.report_dir, 'inaccessible.crash') with open(ri, 'w') as fd: fd.write('inaccessible') os.chmod(ri, 0) return [r1, r2, ri] else: return [r1, r2] def test_find_package_desktopfile(self): '''find_package_desktopfile()''' # package without any .desktop file nodesktop = 'bash' assert len([f for f in apport.packaging.get_files(nodesktop) if f.endswith('.desktop')]) == 0 # find a package with one, a package with multiple .desktop files, and # a package with a NoDisplay .desktop file onedesktop = None multidesktop = None nodisplay = None found_some = False for d in os.listdir('/usr/share/applications/'): if not d.endswith('.desktop'): continue path = os.path.join('/usr/share/applications/', d) pkg = apport.packaging.get_file_package(path) if pkg is None: continue found_some = True num = len([f for f in apport.packaging.get_files(pkg) if f.endswith('.desktop')]) with open(path, 'rb') as f: if b'NoDisplay=true' in f.read(): if not nodisplay and num == 1: nodisplay = pkg continue if not onedesktop and num == 1: onedesktop = pkg elif not multidesktop and num > 1: multidesktop = pkg if onedesktop and multidesktop and nodisplay: break self.assertTrue(found_some) if nodesktop: self.assertEqual(apport.fileutils.find_package_desktopfile(nodesktop), None, 'no-desktop package %s' % nodesktop) if multidesktop: self.assertEqual(apport.fileutils.find_package_desktopfile(multidesktop), None, 'multi-desktop package %s' % multidesktop) if onedesktop: d = apport.fileutils.find_package_desktopfile(onedesktop) self.assertNotEqual(d, None, 'one-desktop package %s' % onedesktop) self.assertTrue(os.path.exists(d)) self.assertTrue(d.endswith('.desktop')) if nodisplay: self.assertEqual(apport.fileutils.find_package_desktopfile(nodisplay), None, 'NoDisplay package %s' % nodisplay) def test_likely_packaged(self): '''likely_packaged()''' self.assertEqual(apport.fileutils.likely_packaged('/bin/bash'), True) self.assertEqual(apport.fileutils.likely_packaged('/usr/bin/foo'), True) self.assertEqual(apport.fileutils.likely_packaged('/usr/local/bin/foo'), False) self.assertEqual(apport.fileutils.likely_packaged('/home/test/bin/foo'), False) self.assertEqual(apport.fileutils.likely_packaged('/tmp/foo'), False) # ignore crashes in /var/lib (LP#122859, LP#414368) self.assertEqual(apport.fileutils.likely_packaged('/var/lib/foo'), False) def test_find_file_package(self): '''find_file_package()''' self.assertEqual(apport.fileutils.find_file_package('/bin/bash'), 'bash') self.assertEqual(apport.fileutils.find_file_package('/bin/cat'), 'coreutils') self.assertEqual(apport.fileutils.find_file_package('/nonexisting'), None) def test_seen(self): '''get_new_reports() and seen_report()''' self.assertEqual(apport.fileutils.get_new_reports(), []) if os.getuid() == 0: tr = self._create_reports(True) else: tr = [r for r in self._create_reports(True) if 'inaccessible' not in r] self.assertEqual(set(apport.fileutils.get_new_reports()), set(tr)) # now mark them as seen and check again nr = set(tr) for r in tr: self.assertEqual(apport.fileutils.seen_report(r), False) nr.remove(r) apport.fileutils.mark_report_seen(r) self.assertEqual(apport.fileutils.seen_report(r), True) self.assertEqual(set(apport.fileutils.get_new_reports()), nr) def test_mark_hanging_process(self): '''mark_hanging_process()''' pr = problem_report.ProblemReport() pr['ExecutablePath'] = '/bin/bash' apport.fileutils.mark_hanging_process(pr, '1') uid = str(os.getuid()) base = '_bin_bash.%s.1.hanging' % uid expected = os.path.join(apport.fileutils.report_dir, base) self.assertTrue(os.path.exists(expected)) def test_mark_report_upload(self): '''mark_report_upload()''' report = os.path.join(apport.fileutils.report_dir, 'report.crash') apport.fileutils.mark_report_upload(report) expected = os.path.join(apport.fileutils.report_dir, 'report.upload') self.assertTrue(os.path.exists(expected)) def test_mark_2nd_report_upload(self): '''mark_report_upload() for a previously uploaded report''' upload = os.path.join(apport.fileutils.report_dir, 'report.upload') with open(upload, 'w'): pass uploaded = os.path.join(apport.fileutils.report_dir, 'report.uploaded') with open(uploaded, 'w'): pass time.sleep(1) report = os.path.join(apport.fileutils.report_dir, 'report.crash') with open(report, 'w'): pass time.sleep(1) apport.fileutils.mark_report_upload(report) upload_st = os.stat(upload) report_st = os.stat(report) self.assertTrue(upload_st.st_mtime > report_st.st_mtime) def test_get_all_reports(self): '''get_all_reports()''' self.assertEqual(apport.fileutils.get_all_reports(), []) if os.getuid() == 0: tr = self._create_reports(True) else: tr = [r for r in self._create_reports(True) if 'inaccessible' not in r] self.assertEqual(set(apport.fileutils.get_all_reports()), set(tr)) # now mark them as seen and check again for r in tr: apport.fileutils.mark_report_seen(r) self.assertEqual(set(apport.fileutils.get_all_reports()), set(tr)) def test_get_system_reports(self): '''get_all_system_reports() and get_new_system_reports()''' self.assertEqual(apport.fileutils.get_all_reports(), []) self.assertEqual(apport.fileutils.get_all_system_reports(), []) if os.getuid() == 0: tr = self._create_reports(True) self.assertEqual(set(apport.fileutils.get_all_system_reports()), set(tr)) self.assertEqual(set(apport.fileutils.get_new_system_reports()), set(tr)) # now mark them as seen and check again for r in tr: apport.fileutils.mark_report_seen(r) self.assertEqual(set(apport.fileutils.get_all_system_reports()), set(tr)) self.assertEqual(set(apport.fileutils.get_new_system_reports()), set([])) else: tr = [r for r in self._create_reports(True) if 'inaccessible' not in r] self.assertEqual(set(apport.fileutils.get_all_system_reports()), set([])) self.assertEqual(set(apport.fileutils.get_new_system_reports()), set([])) @patch.object(os, 'stat') @patch.object(pwd, 'getpwuid') def test_get_system_reports_guest(self, *args): '''get_all_system_reports() filters out reports from guest user''' self._create_reports() os.stat.return_value.st_size = 1000 os.stat.return_value.st_uid = 123 pwd.getpwuid.return_value.pw_name = 'guest_tmp987' self.assertEqual(apport.fileutils.get_all_system_reports(), []) def test_unwritable_report(self): '''get_all_reports() and get_new_reports() for unwritable report''' self.assertEqual(apport.fileutils.get_all_reports(), []) self.assertEqual(apport.fileutils.get_all_system_reports(), []) r = os.path.join(apport.fileutils.report_dir, 'unwritable.crash') with open(r, 'w') as fd: fd.write('unwritable') os.chmod(r, 0o444) if os.getuid() == 0: self.assertEqual(set(apport.fileutils.get_new_reports()), set([r])) self.assertEqual(set(apport.fileutils.get_all_reports()), set([r])) else: self.assertEqual(set(apport.fileutils.get_new_reports()), set()) self.assertEqual(set(apport.fileutils.get_all_reports()), set()) def test_delete_report(self): '''delete_report()''' tr = self._create_reports() while tr: self.assertEqual(set(apport.fileutils.get_all_reports()), set(tr)) apport.fileutils.delete_report(tr.pop()) def test_get_recent_crashes(self): '''get_recent_crashes()''' # incomplete fields r = BytesIO(b'''ProblemType: Crash''') self.assertEqual(apport.fileutils.get_recent_crashes(r), 0) r = BytesIO(b'''ProblemType: Crash Date: Wed Aug 01 00:00:01 1990''') self.assertEqual(apport.fileutils.get_recent_crashes(r), 0) # ancient report r = BytesIO(b'''ProblemType: Crash Date: Wed Aug 01 00:00:01 1990 CrashCounter: 3''') self.assertEqual(apport.fileutils.get_recent_crashes(r), 0) # old report (one day + one hour ago) date = time.ctime(time.mktime(time.localtime()) - 25 * 3600) r = BytesIO(b'''ProblemType: Crash Date: ''' + date.encode() + b''' CrashCounter: 3''') self.assertEqual(apport.fileutils.get_recent_crashes(r), 0) # current report (one hour ago) date = time.ctime(time.mktime(time.localtime()) - 3600) r = BytesIO(b'''ProblemType: Crash Date: ''' + date.encode() + b''' CrashCounter: 3''') self.assertEqual(apport.fileutils.get_recent_crashes(r), 3) def test_make_report_file(self): '''make_report_file()''' pr = problem_report.ProblemReport() self.assertRaises(ValueError, apport.fileutils.make_report_file, pr) pr['Package'] = 'bash 1' with apport.fileutils.make_report_file(pr) as f: if sys.version >= '3': path = f.name else: path = os.path.join(apport.fileutils.report_dir, os.listdir(apport.fileutils.report_dir)[0]) self.assertTrue(path.startswith('%s/bash' % apport.fileutils.report_dir), path) os.unlink(path) pr['ExecutablePath'] = '/bin/bash' with apport.fileutils.make_report_file(pr) as f: if sys.version >= '3': path = f.name else: path = os.path.join(apport.fileutils.report_dir, os.listdir(apport.fileutils.report_dir)[0]) self.assertTrue(path.startswith('%s/_bin_bash' % apport.fileutils.report_dir), path) # file exists already, should fail now self.assertRaises(OSError, apport.fileutils.make_report_file, pr) # should still fail if it's a dangling symlink os.unlink(path) os.symlink(os.path.join(apport.fileutils.report_dir, 'pwned'), path) self.assertRaises(OSError, apport.fileutils.make_report_file, pr) def test_check_files_md5(self): '''check_files_md5()''' f1 = os.path.join(apport.fileutils.report_dir, 'test 1.txt') f2 = os.path.join(apport.fileutils.report_dir, 'test:2.txt') sumfile = os.path.join(apport.fileutils.report_dir, 'sums.txt') with open(f1, 'w') as fd: fd.write('Some stuff') with open(f2, 'w') as fd: fd.write('More stuff') # use one relative and one absolute path in checksums file with open(sumfile, 'w') as fd: fd.write('''2e41290da2fa3f68bd3313174467e3b5 %s f6423dfbc4faf022e58b4d3f5ff71a70 %s ''' % (f1[1:], f2)) self.assertEqual(apport.fileutils.check_files_md5(sumfile), [], 'correct md5sums') with open(f1, 'w') as fd: fd.write('Some stuff!') self.assertEqual(apport.fileutils.check_files_md5(sumfile), [f1[1:]], 'file 1 wrong') with open(f2, 'w') as fd: fd.write('More stuff!') self.assertEqual(apport.fileutils.check_files_md5(sumfile), [f1[1:], f2], 'files 1 and 2 wrong') with open(f1, 'w') as fd: fd.write('Some stuff') self.assertEqual(apport.fileutils.check_files_md5(sumfile), [f2], 'file 2 wrong') def test_get_config(self): '''get_config()''' # nonexisting apport.fileutils._config_file = '/nonexisting' self.assertEqual(apport.fileutils.get_config('main', 'foo'), None) self.assertEqual(apport.fileutils.get_config('main', 'foo', 'moo'), 'moo') apport.fileutils.get_config.config = None # trash cache # empty f = tempfile.NamedTemporaryFile() apport.fileutils._config_file = f.name self.assertEqual(apport.fileutils.get_config('main', 'foo'), None) self.assertEqual(apport.fileutils.get_config('main', 'foo', 'moo'), 'moo') apport.fileutils.get_config.config = None # trash cache # nonempty f.write(b'[main]\none=1\ntwo = TWO\nb1 = 1\nb2=False\n[spethial]\none= 99\n') f.flush() self.assertEqual(apport.fileutils.get_config('main', 'foo'), None) self.assertEqual(apport.fileutils.get_config('main', 'foo', 'moo'), 'moo') self.assertEqual(apport.fileutils.get_config('main', 'one'), '1') self.assertEqual(apport.fileutils.get_config('main', 'one', default='moo'), '1') self.assertEqual(apport.fileutils.get_config('main', 'two'), 'TWO') self.assertEqual(apport.fileutils.get_config('main', 'b1', bool=True), True) self.assertEqual(apport.fileutils.get_config('main', 'b2', bool=True), False) self.assertEqual(apport.fileutils.get_config('main', 'b3', bool=True), None) self.assertEqual(apport.fileutils.get_config('main', 'b3', default=False, bool=True), False) self.assertEqual(apport.fileutils.get_config('spethial', 'one'), '99') self.assertEqual(apport.fileutils.get_config('spethial', 'two'), None) self.assertEqual(apport.fileutils.get_config('spethial', 'one', 'moo'), '99') self.assertEqual(apport.fileutils.get_config('spethial', 'nope', 'moo'), 'moo') apport.fileutils.get_config.config = None # trash cache f.close() def test_shared_libraries(self): '''shared_libraries()''' libs = apport.fileutils.shared_libraries(sys.executable) self.assertGreater(len(libs), 3) self.assertTrue('libc.so.6' in libs, libs) self.assertTrue('libc.so.6' in libs['libc.so.6'], libs['libc.so.6']) self.assertTrue(os.path.exists(libs['libc.so.6'])) for l in libs: self.assertFalse('vdso' in l, libs) self.assertTrue(os.path.exists(libs[l])) self.assertEqual(apport.fileutils.shared_libraries('/non/existing'), {}) self.assertEqual(apport.fileutils.shared_libraries('/etc'), {}) self.assertEqual(apport.fileutils.shared_libraries('/etc/passwd'), {}) def test_links_with_shared_library(self): '''links_with_shared_library()''' self.assertTrue(apport.fileutils.links_with_shared_library(sys.executable, 'libc')) self.assertTrue(apport.fileutils.links_with_shared_library(sys.executable, 'libc.so.6')) self.assertFalse(apport.fileutils.links_with_shared_library(sys.executable, 'libc.so.7')) self.assertFalse(apport.fileutils.links_with_shared_library(sys.executable, 'libd')) self.assertFalse(apport.fileutils.links_with_shared_library('/non/existing', 'libc')) self.assertFalse(apport.fileutils.links_with_shared_library('/etc', 'libc')) self.assertFalse(apport.fileutils.links_with_shared_library('/etc/passwd', 'libc')) if __name__ == '__main__': unittest.main() ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/test/test_hooks.py��������������������������������������������������������������������0000644�0000000�0000000�00000035772�12677230222�014763� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'''Test the various package hooks.''' # Copyright (C) 2007 - 2009 Canonical Ltd. # Author: Martin Pitt <martin.pitt@ubuntu.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import unittest, subprocess, tempfile, os, shutil, os.path, sys, optparse from datetime import datetime import apport, apport.fileutils # parse command line options optparser = optparse.OptionParser('%prog [options]') datadir = os.environ.get('APPORT_DATA_DIR', '/usr/share/apport') class T(unittest.TestCase): def setUp(self): self.orig_report_dir = apport.fileutils.report_dir apport.fileutils.report_dir = tempfile.mkdtemp() os.environ['APPORT_REPORT_DIR'] = apport.fileutils.report_dir self.workdir = tempfile.mkdtemp() def tearDown(self): shutil.rmtree(apport.fileutils.report_dir) apport.fileutils.report_dir = self.orig_report_dir shutil.rmtree(self.workdir) def test_package_hook_nologs(self): '''package_hook without any log files.''' ph = subprocess.Popen(['%s/package_hook' % datadir, '-p', 'bash'], stdin=subprocess.PIPE) ph.communicate(b'something is wrong') self.assertEqual(ph.returncode, 0, 'package_hook finished successfully') reps = apport.fileutils.get_new_reports() self.assertEqual(len(reps), 1, 'package_hook created a report') r = apport.Report() with open(reps[0], 'rb') as f: r.load(f) self.assertEqual(r['ProblemType'], 'Package') self.assertEqual(r['Package'], 'bash ' + apport.packaging.get_version('bash')) self.assertEqual(r['ErrorMessage'], 'something is wrong') def test_package_hook_uninstalled(self): '''package_hook on an uninstalled package (might fail to install).''' pkg = apport.packaging.get_uninstalled_package() ph = subprocess.Popen(['%s/package_hook' % datadir, '-p', pkg], stdin=subprocess.PIPE) ph.communicate(b'something is wrong') self.assertEqual(ph.returncode, 0, 'package_hook finished successfully') reps = apport.fileutils.get_new_reports() self.assertEqual(len(reps), 1, 'package_hook created a report') r = apport.Report() with open(reps[0], 'rb') as f: r.load(f) self.assertEqual(r['ProblemType'], 'Package') self.assertEqual(r['Package'], pkg + ' (not installed)') self.assertEqual(r['ErrorMessage'], 'something is wrong') def test_package_hook_logs(self): '''package_hook with a log dir and a log file.''' with open(os.path.join(self.workdir, 'log_1.log'), 'w') as f: f.write('Log 1\nbla') with open(os.path.join(self.workdir, 'log2'), 'w') as f: f.write('Yet\nanother\nlog') os.mkdir(os.path.join(self.workdir, 'logsub')) with open(os.path.join(self.workdir, 'logsub', 'notme.log'), 'w') as f: f.write('not me!') ph = subprocess.Popen(['%s/package_hook' % datadir, '-p', 'bash', '-l', os.path.realpath(sys.argv[0]), '-l', self.workdir], stdin=subprocess.PIPE) ph.communicate(b'something is wrong') self.assertEqual(ph.returncode, 0, 'package_hook finished successfully') reps = apport.fileutils.get_new_reports() self.assertEqual(len(reps), 1, 'package_hook created a report') r = apport.Report() with open(reps[0], 'rb') as f: r.load(f) filekey = None log1key = None log2key = None for k in r.keys(): if k.endswith('Testhookspy'): filekey = k elif k.endswith('Log1log'): log1key = k elif k.endswith('Log2'): log2key = k elif 'sub' in k: self.fail('logsub should not go into log files') self.assertTrue(filekey) self.assertTrue(log1key) self.assertTrue(log2key) self.assertIn('0234lkjas', r[filekey]) self.assertEqual(len(r[filekey]), os.path.getsize(sys.argv[0])) self.assertEqual(r[log1key], 'Log 1\nbla') self.assertEqual(r[log2key], 'Yet\nanother\nlog') def test_package_hook_tags(self): '''package_hook with extra tags argument.''' ph = subprocess.Popen(['%s/package_hook' % datadir, '-p', 'bash', '-t', 'dist-upgrade, verybad'], stdin=subprocess.PIPE) ph.communicate(b'something is wrong') self.assertEqual(ph.returncode, 0, 'package_hook finished successfully') reps = apport.fileutils.get_new_reports() self.assertEqual(len(reps), 1, 'package_hook created a report') r = apport.Report() with open(reps[0], 'rb') as f: r.load(f) self.assertEqual(r['Tags'], 'dist-upgrade verybad') def test_kernel_crashdump_kexec(self): '''kernel_crashdump using kexec-tools.''' f = open(os.path.join(apport.fileutils.report_dir, 'vmcore'), 'wb') f.write(b'\x01' * 100) f.close() f = open(os.path.join(apport.fileutils.report_dir, 'vmcore.log'), 'w') f.write('vmcore successfully dumped') f.close() self.assertEqual(subprocess.call('%s/kernel_crashdump' % datadir), 0, 'kernel_crashdump finished successfully') reps = apport.fileutils.get_new_reports() self.assertEqual(len(reps), 1, 'kernel_crashdump created a report') r = apport.Report() with open(reps[0], 'rb') as f: r.load(f) self.assertEqual(set(r.keys()), set(['Date', 'Package', 'ProblemType', 'VmCore', 'VmCoreLog', 'Uname', 'Architecture', 'DistroRelease'])) self.assertEqual(r['ProblemType'], 'KernelCrash') self.assertEqual(r['VmCoreLog'], 'vmcore successfully dumped') self.assertEqual(r['VmCore'], b'\x01' * 100) self.assertIn('linux', r['Package']) self.assertIn(os.uname()[2].split('-')[0], r['Package']) def test_kernel_crashdump_kdump(self): '''kernel_crashdump using kdump-tools.''' timedir = datetime.strftime(datetime.now(), '%Y%m%d%H%M') vmcore_dir = os.path.join(apport.fileutils.report_dir, timedir) os.mkdir(vmcore_dir) dmesgfile = os.path.join(vmcore_dir, 'dmesg.' + timedir) f = open(dmesgfile, 'wt') f.write('1' * 100) f.close() self.assertEqual(subprocess.call('%s/kernel_crashdump' % datadir), 0, 'kernel_crashdump finished successfully') reps = apport.fileutils.get_new_reports() self.assertEqual(len(reps), 1, 'kernel_crashdump created a report') r = apport.Report() with open(reps[0], 'rb') as f: r.load(f) self.assertEqual(set(r.keys()), set(['Date', 'Package', 'ProblemType', 'VmCoreDmesg', 'Uname', 'Architecture', 'DistroRelease'])) self.assertEqual(r['ProblemType'], 'KernelCrash') self.assertEqual(r['VmCoreDmesg'], '1' * 100) self.assertIn('linux', r['Package']) self.assertIn(os.uname()[2].split('-')[0], r['Package']) r.add_package_info(r['Package']) self.assertIn(os.uname()[2].split('-')[0], r['Package']) def test_kernel_crashdump_log_symlink(self): '''attempted DoS with vmcore.log symlink We must only accept plain files, otherwise vmcore.log might be a symlink to the .crash file, which would recursively fill itself. ''' f = open(os.path.join(apport.fileutils.report_dir, 'vmcore'), 'wb') f.write(b'\x01' * 100) f.close() os.symlink('vmcore', os.path.join(apport.fileutils.report_dir, 'vmcore.log')) self.assertNotEqual(subprocess.call('%s/kernel_crashdump' % datadir, stderr=subprocess.PIPE), 0, 'kernel_crashdump unexpectedly succeeded') self.assertEqual(apport.fileutils.get_new_reports(), []) def test_kernel_crashdump_kdump_log_symlink(self): '''attempted DoS with dmesg symlink with kdump-tools''' timedir = datetime.strftime(datetime.now(), '%Y%m%d%H%M') vmcore_dir = os.path.join(apport.fileutils.report_dir, timedir) os.mkdir(vmcore_dir) dmesgfile = os.path.join(vmcore_dir, 'dmesg.' + timedir) os.symlink('../kernel.crash', dmesgfile) self.assertNotEqual(subprocess.call('%s/kernel_crashdump' % datadir, stderr=subprocess.PIPE), 0, 'kernel_crashdump unexpectedly succeeded') self.assertEqual(apport.fileutils.get_new_reports(), []) @unittest.skipIf(os.geteuid() != 0, 'this test needs to be run as user') def test_kernel_crashdump_kdump_log_dir_symlink(self): '''attempted DoS with dmesg dir symlink with kdump-tools''' timedir = datetime.strftime(datetime.now(), '%Y%m%d%H%M') vmcore_dir = os.path.join(apport.fileutils.report_dir, timedir) os.mkdir(vmcore_dir + '.real') # pretend that a user tries information disclosure by pre-creating a # symlink to another dir os.symlink(vmcore_dir + '.real', vmcore_dir) os.lchown(vmcore_dir, 65534, 65534) dmesgfile = os.path.join(vmcore_dir, 'dmesg.' + timedir) f = open(dmesgfile, 'wt') f.write('1' * 100) f.close() self.assertNotEqual(subprocess.call('%s/kernel_crashdump' % datadir, stderr=subprocess.PIPE), 0, 'kernel_crashdump unexpectedly succeeded') self.assertEqual(apport.fileutils.get_new_reports(), []) @classmethod def _gcc_version_path(klass): '''Determine a valid version and executable path of gcc and return it as a tuple.''' gcc = subprocess.Popen(['gcc', '--version'], stdout=subprocess.PIPE) out = gcc.communicate()[0].decode() assert gcc.returncode == 0, '"gcc --version" must work for this test suite' ver_fields = out.splitlines()[0].split()[3].split('.') # try major/minor first gcc_ver = '.'.join(ver_fields[:2]) gcc_path = '/usr/bin/gcc-' + gcc_ver if not os.path.exists(gcc_path): # fall back to only major gcc_ver = ver_fields[0] gcc_path = '/usr/bin/gcc-' + gcc_ver gcc = subprocess.Popen([gcc_path, '--version'], stdout=subprocess.PIPE) gcc.communicate() assert gcc.returncode == 0, gcc_path + ' must exist and work for this test suite' return (gcc_ver, gcc_path) def test_gcc_ide_hook_file(self): '''gcc_ice_hook with a temporary file.''' (gcc_version, gcc_path) = self._gcc_version_path() test_source = tempfile.NamedTemporaryFile() test_source.write(b'int f(int x);') test_source.flush() test_source.seek(0) self.assertEqual(subprocess.call(['%s/gcc_ice_hook' % datadir, gcc_path, test_source.name]), 0, 'gcc_ice_hook finished successfully') reps = apport.fileutils.get_new_reports() self.assertEqual(len(reps), 1, 'gcc_ice_hook created a report') r = apport.Report() with open(reps[0], 'rb') as f: r.load(f) self.assertEqual(r['ProblemType'], 'Crash') self.assertEqual(r['ExecutablePath'], gcc_path) self.assertEqual(r['PreprocessedSource'], test_source.read().decode()) r.add_package_info() self.assertEqual(r['Package'].split()[0], 'gcc-' + gcc_version) self.assertNotEqual(r['Package'].split()[1], '') # has package version self.assertIn('libc', r['Dependencies']) def test_gcc_ide_hook_file_binary(self): '''gcc_ice_hook with a temporary file with binary data.''' (gcc_version, gcc_path) = self._gcc_version_path() test_source = tempfile.NamedTemporaryFile() test_source.write(b'int f(int x); \xFF\xFF') test_source.flush() test_source.seek(0) self.assertEqual(subprocess.call(['%s/gcc_ice_hook' % datadir, gcc_path, test_source.name]), 0, 'gcc_ice_hook finished successfully') reps = apport.fileutils.get_new_reports() self.assertEqual(len(reps), 1, 'gcc_ice_hook created a report') r = apport.Report() with open(reps[0], 'rb') as f: r.load(f) self.assertEqual(r['PreprocessedSource'], test_source.read()) def test_gcc_ide_hook_pipe(self): '''gcc_ice_hook with piping.''' (gcc_version, gcc_path) = self._gcc_version_path() test_source = 'int f(int x);' hook = subprocess.Popen(['%s/gcc_ice_hook' % datadir, gcc_path, '-'], stdin=subprocess.PIPE) hook.communicate(test_source.encode()) self.assertEqual(hook.returncode, 0, 'gcc_ice_hook finished successfully') reps = apport.fileutils.get_new_reports() self.assertEqual(len(reps), 1, 'gcc_ice_hook created a report') r = apport.Report() with open(reps[0], 'rb') as f: r.load(f) self.assertEqual(r['ProblemType'], 'Crash') self.assertEqual(r['ExecutablePath'], gcc_path) self.assertEqual(r['PreprocessedSource'], test_source) r.add_package_info() self.assertEqual(r['Package'].split()[0], 'gcc-' + gcc_version) def test_kernel_oops_hook(self): test_source = '''------------[ cut here ]------------ kernel BUG at /tmp/oops.c:5! invalid opcode: 0000 [#1] SMP Modules linked in: oops cpufreq_stats ext2 i915 drm nf_conntrack_ipv4 ipt_REJECT iptable_filter ip_tables nf_conntrack_ipv6 xt_state nf_conntrack xt_tcpudp ip6t_ipv6header ip6t_REJECT ip6table_filter ip6_tables x_tables ipv6 loop dm_multipath rtc_cmos iTCO_wdt iTCO_vendor_support pcspkr i2c_i801 i2c_core battery video ac output power_supply button sg joydev usb_storage dm_snapshot dm_zero dm_mirror dm_mod ahci pata_acpi ata_generic ata_piix libata sd_mod scsi_mod ext3 jbd mbcache uhci_hcd ohci_hcd ehci_hcd ''' hook = subprocess.Popen(['%s/kernel_oops' % datadir], stdin=subprocess.PIPE) hook.communicate(test_source.encode()) self.assertEqual(hook.returncode, 0, 'kernel_oops finished successfully') reps = apport.fileutils.get_new_reports() self.assertEqual(len(reps), 1, 'kernel_oops created a report') r = apport.Report() with open(reps[0], 'rb') as f: r.load(f) self.assertEqual(r['ProblemType'], 'KernelOops') self.assertEqual(r['OopsText'], test_source) self.assertIn('linux', r['Package']) self.assertIn(os.uname()[2].split('-')[0], r['Package']) unittest.main() ������apport-2.20.1/test/test_hookutils.py����������������������������������������������������������������0000644�0000000�0000000�00000042220�12677230222�015643� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# coding: UTF-8 import unittest, tempfile, locale, subprocess, re, shutil, os.path, sys import apport.hookutils class T(unittest.TestCase): def setUp(self): self.workdir = tempfile.mkdtemp() def tearDown(self): shutil.rmtree(self.workdir) def test_module_license_evaluation(self): '''module licenses can be validated correctly''' def _build_ko(license): asm = tempfile.NamedTemporaryFile(prefix='%s-' % (license), suffix='.S') asm.write(('.section .modinfo\n.string "license=%s"\n' % (license)).encode()) asm.flush() ko = tempfile.NamedTemporaryFile(prefix='%s-' % (license), suffix='.ko') subprocess.call(['/usr/bin/as', asm.name, '-o', ko.name]) return ko good_ko = _build_ko('GPL') bad_ko = _build_ko('BAD') # test: # - loaded real module # - unfindable module # - fake GPL module # - fake BAD module # direct license check self.assertTrue('GPL' in apport.hookutils._get_module_license('isofs')) self.assertEqual(apport.hookutils._get_module_license('does-not-exist'), 'invalid') self.assertTrue('GPL' in apport.hookutils._get_module_license(good_ko.name)) self.assertTrue('BAD' in apport.hookutils._get_module_license(bad_ko.name)) # check via nonfree_kernel_modules logic f = tempfile.NamedTemporaryFile() f.write(('isofs\ndoes-not-exist\n%s\n%s\n' % (good_ko.name, bad_ko.name)).encode()) f.flush() nonfree = apport.hookutils.nonfree_kernel_modules(f.name) self.assertFalse('isofs' in nonfree) self.assertTrue('does-not-exist' in nonfree) self.assertFalse(good_ko.name in nonfree) self.assertTrue(bad_ko.name in nonfree) def test_attach_dmesg(self): '''attach_dmesg()''' report = {} apport.hookutils.attach_dmesg(report) self.assertTrue(len(report['CurrentDmesg']) > 500) self.assertTrue(report['CurrentDmesg'].startswith('[')) def test_dmesg_overwrite(self): '''attach_dmesg() does not overwrite already existing data''' report = {'CurrentDmesg': 'existingcurrent'} apport.hookutils.attach_dmesg(report) self.assertEqual(report['CurrentDmesg'], 'existingcurrent') def test_attach_file(self): '''attach_file()''' with open('/etc/passwd') as f: passwd_contents = f.read().strip() with open('/etc/issue') as f: issue_contents = f.read().strip() # default key name report = {} apport.hookutils.attach_file(report, '/etc/passwd') self.assertEqual(list(report), ['.etc.passwd']) self.assertEqual(report['.etc.passwd'], passwd_contents) # custom key name report = {} apport.hookutils.attach_file(report, '/etc/passwd', 'Passwd') self.assertEqual(list(report), ['Passwd']) self.assertEqual(report['Passwd'], passwd_contents) # nonexisting file report = {} apport.hookutils.attach_file(report, '/nonexisting') self.assertEqual(list(report), ['.nonexisting']) self.assertTrue(report['.nonexisting'].startswith('Error: ')) # existing key report = {} apport.hookutils.attach_file(report, '/etc/passwd') apport.hookutils.attach_file(report, '/etc/passwd') self.assertEqual(list(report), ['.etc.passwd']) self.assertEqual(report['.etc.passwd'], passwd_contents) apport.hookutils.attach_file(report, '/etc/issue', '.etc.passwd', overwrite=False) self.assertEqual(sorted(report.keys()), ['.etc.passwd', '.etc.passwd_']) self.assertEqual(report['.etc.passwd'], passwd_contents) self.assertEqual(report['.etc.passwd_'], issue_contents) def test_attach_file_binary(self): '''attach_file() for binary files''' myfile = os.path.join(self.workdir, 'data') with open(myfile, 'wb') as f: f.write(b'a\xc3\xb6b\xffx') report = {} apport.hookutils.attach_file(report, myfile, key='data') self.assertEqual(report['data'], b'a\xc3\xb6b\xffx') apport.hookutils.attach_file(report, myfile, key='data', force_unicode=True) self.assertEqual(report['data'], b'a\xc3\xb6b\xef\xbf\xbdx'.decode('UTF-8')) def test_attach_file_if_exists(self): '''attach_file_if_exists()''' with open('/etc/passwd') as f: passwd_contents = f.read().strip() # default key name report = {} apport.hookutils.attach_file_if_exists(report, '/etc/passwd') self.assertEqual(list(report), ['.etc.passwd']) self.assertEqual(report['.etc.passwd'], passwd_contents) # custom key name report = {} apport.hookutils.attach_file_if_exists(report, '/etc/passwd', 'Passwd') self.assertEqual(list(report), ['Passwd']) self.assertEqual(report['Passwd'], passwd_contents) # nonexisting file report = {} apport.hookutils.attach_file_if_exists(report, '/nonexisting') self.assertEqual(list(report), []) def test_recent_syslog(self): '''recent_syslog''' self.assertEqual(apport.hookutils.recent_syslog(re.compile('.'), path='/nonexisting'), '') self.assertEqual(apport.hookutils.recent_syslog(re.compile('ThisCantPossiblyHitAnything')), '') self.assertNotEqual(len(apport.hookutils.recent_syslog(re.compile('.'))), 0) def test_attach_mac_events(self): '''attach_mac_events()''' denied_log = \ '[ 351.624338] type=1400 audit(1343775571.688:27): apparmor="DENIED"' + \ ' operation="capable" parent=1 profile="/usr/sbin/cupsd" pid=1361' + \ ' comm="cupsd" pid=1361 comm="cupsd" capability=36 capname="block_suspend"\n' denied_hex = \ '[ 351.624338] type=1400 audit(1343775571.688:27): apparmor="DENIED"' + \ ' operation="capable" parent=1 profile=2F7573722F7362696E2F6375707364 pid=1361' + \ ' comm="cupsd" pid=1361 comm="cupsd" capability=36 capname="block_suspend"\n' report = {} apport.hookutils.attach_mac_events(report) self.assertTrue('KernLog' in report) # No AppArmor messages report = {} report['KernLog'] = \ "[ 2.997534] i915 0000:00:02.0: power state changed by ACPI to D0\n" + \ "[ 2.997541] i915 0000:00:02.0: PCI INT A -> GSI 16 (level, low)\n" + \ "[ 2.997544] i915 0000:00:02.0: setting latency timer to 64\n" + \ "[ 3.061584] i915 0000:00:02.0: irq 42 for MSI/MSI-X\n" apport.hookutils.attach_mac_events(report) self.assertFalse('Tags' in report) # AppArmor message, but not a denial report = {} report['KernLog'] = \ '[ 32.420248] type=1400 audit(1344562672.449:2): apparmor="STATUS"' + \ ' operation="profile_load" name="/sbin/dhclient" pid=894' + \ ' comm="apparmor_parser"\n' apport.hookutils.attach_mac_events(report) self.assertFalse('Tags' in report) # AppArmor denial, empty tags, no profile specified report = {} report['KernLog'] = denied_log apport.hookutils.attach_mac_events(report) self.assertEqual(report['Tags'], 'apparmor') # AppArmor hex-encoded denial, no profile specified report = {} report['KernLog'] = denied_hex apport.hookutils.attach_mac_events(report) self.assertEqual(report['Tags'], 'apparmor') # AppArmor denial in AuditLog report = {} report['AuditLog'] = denied_log apport.hookutils.attach_mac_events(report) self.assertEqual(report['Tags'], 'apparmor') # AppArmor denial, pre-existing tags, no profile specified report = {} report['KernLog'] = denied_log report['Tags'] = 'bogustag' apport.hookutils.attach_mac_events(report) self.assertEqual(report['Tags'], 'bogustag apparmor') # AppArmor denial, single profile specified report = {} report['KernLog'] = denied_log apport.hookutils.attach_mac_events(report, '/usr/sbin/cupsd') self.assertEqual(report['Tags'], 'apparmor') # AppArmor denial, regex profile specified report = {} report['KernLog'] = denied_log apport.hookutils.attach_mac_events(report, '/usr/sbin/cups.*') self.assertEqual(report['Tags'], 'apparmor') # AppArmor denial, subset profile specified report = {} report['KernLog'] = denied_log apport.hookutils.attach_mac_events(report, '/usr/sbin/cup') self.assertFalse('Tags' in report) # AppArmor hex-encoded denial, single profile specified report = {} report['KernLog'] = denied_hex apport.hookutils.attach_mac_events(report, '/usr/sbin/cupsd') self.assertEqual(report['Tags'], 'apparmor') # AppArmor denial, single different profile specified report = {} report['KernLog'] = denied_log apport.hookutils.attach_mac_events(report, '/usr/sbin/nonexistent') self.assertFalse('Tags' in report) # AppArmor denial, multiple profiles specified report = {} report['KernLog'] = denied_log profiles = ['/usr/bin/nonexistent', '/usr/sbin/cupsd'] apport.hookutils.attach_mac_events(report, profiles) self.assertEqual(report['Tags'], 'apparmor') # AppArmor denial, multiple different profiles report = {} report['KernLog'] = denied_log profiles = ['/usr/bin/nonexistent', '/usr/sbin/anotherone'] apport.hookutils.attach_mac_events(report, profiles) self.assertFalse('Tags' in report) # Multiple AppArmor denials, second match report = {} report['KernLog'] = \ '[ 351.624338] type=1400 audit(1343775571.688:27): apparmor="DENIED"' + \ ' operation="capable" parent=1 profile="/usr/sbin/blah" pid=1361' + \ ' comm="cupsd" pid=1361 comm="cupsd" capability=36 capname="block_suspend"\n' + \ '[ 351.624338] type=1400 audit(1343775571.688:27): apparmor="DENIED"' + \ ' operation="capable" parent=1 profile="/usr/sbin/cupsd" pid=1361' + \ ' comm="cupsd" pid=1361 comm="cupsd" capability=36 capname="block_suspend"\n' apport.hookutils.attach_mac_events(report, '/usr/sbin/cupsd') self.assertEqual(report['Tags'], 'apparmor') def test_recent_syslog_overflow(self): '''recent_syslog on a huge file''' log = os.path.join(self.workdir, 'syslog') with open(log, 'w') as f: lines = 1000000 while lines >= 0: f.write('Apr 20 11:30:00 komputer kernel: bogus message\n') lines -= 1 mem_before = self._get_mem_usage() data = apport.hookutils.recent_syslog(re.compile('kernel'), path=log) mem_after = self._get_mem_usage() delta_kb = mem_after - mem_before sys.stderr.write('[Δ %i kB] ' % delta_kb) self.assertLess(delta_kb, 5000) self.assertTrue(data.startswith('Apr 20 11:30:00 komputer kernel: bogus message\n')) self.assertGreater(len(data), 100000) self.assertLess(len(data), 1000000) @unittest.skipIf(apport.hookutils.apport.hookutils.in_session_of_problem(apport.Report()) is None, 'no logind session') def test_in_session_of_problem(self): '''in_session_of_problem()''' old_ctime = locale.getlocale(locale.LC_TIME) locale.setlocale(locale.LC_TIME, 'C') report = {'Date': 'Sat Jan 1 12:00:00 2011'} self.assertFalse(apport.hookutils.in_session_of_problem(report)) report = {'Date': 'Mon Oct 10 21:06:03 2009'} self.assertFalse(apport.hookutils.in_session_of_problem(report)) report = {'Date': 'Tue Jan 1 12:00:00 2038'} self.assertTrue(apport.hookutils.in_session_of_problem(report)) locale.setlocale(locale.LC_TIME, '') report = {'Date': 'Sat Jan 1 12:00:00 2011'} self.assertFalse(apport.hookutils.in_session_of_problem(report)) report = {'Date': 'Mon Oct 10 21:06:03 2009'} self.assertFalse(apport.hookutils.in_session_of_problem(report)) report = apport.Report() self.assertTrue(apport.hookutils.in_session_of_problem(report)) self.assertEqual(apport.hookutils.in_session_of_problem({}), None) locale.setlocale(locale.LC_TIME, old_ctime) def test_xsession_errors(self): '''xsession_errors()''' with open(os.path.join(self.workdir, '.xsession-errors'), 'w', encoding='UTF-8') as f: f.write('''Loading profile from /etc/profile gnome-session[1948]: WARNING: standard glib warning EggSMClient-CRITICAL **: egg_sm_client_set_mode: standard glib assertion 24/02/2012 11:14:46 Sending credentials s3kr1t ** WARNING **: nonstandard warning WARN 2012-02-24 11:23:47 unity <unknown>:0 some unicode ♥ ♪ GNOME_KEYRING_CONTROL=/tmp/keyring-u7hrD6 (gnome-settings-daemon:5115): Gdk-WARNING **: The program 'gnome-settings-daemon' received an X Window System error. This probably reflects a bug in the program. The error was 'BadMatch (invalid parameter attributes)'. (Details: serial 723 error_code 8 request_code 143 minor_code 22) (Note to programmers: normally, X errors are reported asynchronously; that is, you will receive the error a while after causing it. To debug your program, run it with the --sync command line option to change this behavior. You can then get a meaningful backtrace from your debugger if you break on the gdk_x_error() function.)" GdkPixbuf-CRITICAL **: gdk_pixbuf_scale_simple: another standard glib assertion ''') orig_home = os.environ.get('HOME') try: os.environ['HOME'] = self.workdir # explicit pattern pattern = re.compile('notfound') self.assertEqual(apport.hookutils.xsession_errors(pattern), '') pattern = re.compile('^\w+-CRITICAL') res = apport.hookutils.xsession_errors(pattern).splitlines() self.assertEqual(len(res), 2) self.assertTrue(res[0].startswith('EggSMClient-CRITICAL')) self.assertTrue(res[1].startswith('GdkPixbuf-CRITICAL')) # default pattern includes glib assertions and X Errors res = apport.hookutils.xsession_errors() self.assertFalse('nonstandard warning' in res) self.assertFalse('keyring' in res) self.assertFalse('credentials' in res) self.assertTrue('WARNING: standard glib warning' in res, res) self.assertTrue('GdkPixbuf-CRITICAL' in res, res) self.assertTrue("'gnome-settings-daemon' received an X Window" in res, res) self.assertTrue('BadMatch' in res, res) self.assertTrue('serial 723' in res, res) finally: if orig_home is not None: os.environ['HOME'] = orig_home else: os.unsetenv('HOME') def test_no_crashes(self): '''functions do not crash (very shallow)''' report = {} apport.hookutils.attach_hardware(report) apport.hookutils.attach_alsa(report) apport.hookutils.attach_network(report) apport.hookutils.attach_wifi(report) apport.hookutils.attach_printing(report) apport.hookutils.attach_conffiles(report, 'bash') apport.hookutils.attach_conffiles(report, 'apport') apport.hookutils.attach_conffiles(report, 'nonexisting') apport.hookutils.attach_upstart_overrides(report, 'apport') apport.hookutils.attach_upstart_overrides(report, 'nonexisting') apport.hookutils.attach_upstart_logs(report, 'apport') apport.hookutils.attach_upstart_logs(report, 'nonexisting') apport.hookutils.attach_default_grub(report) def test_command_output(self): orig_lcm = os.environ.get('LC_MESSAGES') os.environ['LC_MESSAGES'] = 'en_US.UTF-8' try: # default mode: disable translations out = apport.hookutils.command_output(['env']) self.assertTrue('LC_MESSAGES=C' in out) # keep locale out = apport.hookutils.command_output(['env'], keep_locale=True) self.assertFalse('LC_MESSAGES=C' in out, out) finally: if orig_lcm is not None: os.environ['LC_MESSAGES'] = orig_lcm else: os.unsetenv('LC_MESSAGES') # nonexisting binary out = apport.hookutils.command_output(['/non existing']) self.assertTrue(out.startswith('Error: [Errno 2]')) # stdin out = apport.hookutils.command_output(['cat'], input=b'hello') self.assertEqual(out, 'hello') @classmethod def _get_mem_usage(klass): '''Get current memory usage in kB''' with open('/proc/self/status') as f: for line in f: if line.startswith('VmSize:'): return int(line.split()[1]) else: raise SystemError('did not find VmSize: in /proc/self/status') unittest.main() ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/test/test_java_crashes.py�������������������������������������������������������������0000644�0000000�0000000�00000007513�12677230222�016261� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Copyright (C) 2010 Canonical Ltd. # Author: Martin Pitt <martin.pitt@ubuntu.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import tempfile, unittest, subprocess, sys, os, os.path, shutil import apport, apport.fileutils class T(unittest.TestCase): def setUp(self): mydir = os.path.dirname(os.path.realpath(sys.argv[0])) datadir = os.environ.get('APPORT_DATA_DIR', '/usr/share/apport') self.srcdir = os.path.dirname(mydir) self.orig_report_dir = apport.fileutils.report_dir apport.fileutils.report_dir = tempfile.mkdtemp() os.environ['APPORT_REPORT_DIR'] = apport.fileutils.report_dir os.environ['APPORT_JAVA_EXCEPTION_HANDLER'] = os.path.join( datadir, 'java_uncaught_exception') if os.environ.get('APPORT_TEST_LOCAL'): self.crash_jar_path = os.path.join(self.srcdir, 'java', 'crash.jar') self.apport_jar_path = os.path.join(self.srcdir, 'java', 'apport.jar') else: self.crash_jar_path = os.path.join(mydir, 'crash.jar') self.apport_jar_path = os.path.join(datadir, 'apport.jar') def tearDown(self): shutil.rmtree(apport.fileutils.report_dir) apport.fileutils.report_dir = self.orig_report_dir def test_crash_class(self): '''Crash in a .class file''' p = subprocess.Popen(['java', '-classpath', self.apport_jar_path + ':' + os.path.dirname(self.crash_jar_path), 'crash'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) (out, err) = p.communicate() self.assertNotEqual(p.returncode, 0, 'crash must exit with nonzero code') self.assertTrue(b"Can't catch this" in err, 'crash handler must print original exception:\n' + err.decode()) self._check_crash_report(os.path.dirname(self.crash_jar_path) + '/crash.class') def test_crash_jar(self): '''Crash in a .jar file''' p = subprocess.Popen(['java', '-classpath', self.apport_jar_path + ':' + self.crash_jar_path, 'crash'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) (out, err) = p.communicate() self.assertNotEqual(p.returncode, 0, 'crash must exit with nonzero code') self.assertTrue(b"Can't catch this" in err, 'crash handler must print original exception:\n' + err.decode()) self._check_crash_report(self.crash_jar_path + '!/crash.class') def _check_crash_report(self, main_file): '''Check that we have one crash report, and verify its contents''' reports = apport.fileutils.get_new_reports() self.assertEqual(len(reports), 1, 'did not create a crash report') r = apport.Report() with open(reports[0], 'rb') as f: r.load(f) self.assertEqual(r['ProblemType'], 'Crash') self.assertTrue(r['ProcCmdline'].startswith('java -classpath'), r) self.assertTrue(r['StackTrace'].startswith( "java.lang.RuntimeException: Can't catch this")) if '.jar!' in main_file: self.assertEqual(r['MainClassUrl'], 'jar:file:' + main_file) else: self.assertEqual(r['MainClassUrl'], 'file:' + main_file) self.assertTrue('DistroRelease' in r) self.assertTrue('ProcCwd' in r) # # main # try: subprocess.check_call(['java', '-version'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) except OSError: apport.warning('Java not available, skipping') sys.exit(0) unittest.main() �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/test/test_packaging.py����������������������������������������������������������������0000644�0000000�0000000�00000001571�12677230222�015552� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������import unittest import apport class T(unittest.TestCase): def test_get_uninstalled_package(self): '''get_uninstalled_package()''' p = apport.packaging.get_uninstalled_package() self.assertNotEqual(p, None) self.assertNotEqual(apport.packaging.get_available_version(p), '') self.assertRaises(ValueError, apport.packaging.get_version, p) self.assertTrue(apport.packaging.is_distro_package(p)) def test_get_os_version(self): '''get_os_version()''' (n, v) = apport.packaging.get_os_version() self.assertEqual(type(n), str) self.assertEqual(type(v), str) self.assertGreater(len(n), 1) self.assertGreater(len(v), 0) # second one uses caching, should be identical (n2, v2) = apport.packaging.get_os_version() self.assertEqual((n, v), (n2, v2)) unittest.main() ���������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/test/test_parse_segv.py���������������������������������������������������������������0000644�0000000�0000000�00000060567�12677230222�015776� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������import unittest, tempfile, sys, os.path datadir = os.environ.get('APPORT_DATA_DIR', '/usr/share/apport') sys.path.insert(0, os.path.join(datadir, 'general-hooks')) import parse_segv # Default global registers, maps, and disassembly for testing regs = '''eax 0xffffffff -1 ecx 0xbfc6af40 -1077498048 edx 0x1 1 ebx 0x26eff4 2551796 esp 0xbfc6af24 0xbfc6af24 ebp 0xbfc6af28 0xbfc6af28 esi 0x826bb60 136756064 edi 0x8083480 134755456 eip 0x808354e 0x808354e <main+14> eflags 0x200286 [ PF SF IF ID ] cs 0x73 115 ss 0x7b 123 ds 0x7b 123 es 0x7b 123 fs 0x4 4 gs 0x33 51 ''' regs64 = '''rax 0xffffffffffffffff -1 rbx 0x26eff4 2551796 rcx 0xffffffffffffffff -1 rdx 0xffffffffff600180 -10485376 rsi 0x0 0 rdi 0x7fffffffe3b0 140737488348080 rbp 0x0 0x0 rsp 0x0000bfc6af24 0x0000bfc6af24 r8 0x0 0 r9 0x0 0 r10 0x7fffffffe140 140737488347456 r11 0x246 582 r12 0x7fffffffe400 140737488348160 r13 0x7fffffffe468 140737488348264 r14 0x1 1 r15 0x7fffffffe460 140737488348256 rip 0x7ffff790be10 0x7ffff790be10 <nanosleep+16> eflags 0x246 [ PF ZF IF ] cs 0x33 51 ss 0x2b 43 ds 0x0 0 es 0x0 0 fs 0x0 0 gs 0x0 0 fctrl 0x37f 895 fstat 0x0 0 ftag 0xffff 65535 fiseg 0x0 0 fioff 0x40303a 4206650 foseg 0x0 0 fooff 0x0 0 fop 0x5d8 1496 mxcsr 0x1f80 [ IM DM ZM OM UM PM ] ''' maps = '''00110000-0026c000 r-xp 00000000 08:06 375131 /lib/tls/i686/cmov/libc-2.9.so 0026c000-0026d000 ---p 0015c000 08:06 375131 /lib/tls/i686/cmov/libc-2.9.so 0026d000-0026f000 r--p 0015c000 08:06 375131 /lib/tls/i686/cmov/libc-2.9.so 0026f000-00270000 rw-p 0015e000 08:06 375131 /lib/tls/i686/cmov/libc-2.9.so 00270000-00273000 rw-p 00000000 00:00 0 002c1000-002e5000 r-xp 00000000 08:06 375135 /lib/tls/i686/cmov/libm-2.9.so 002e5000-002e6000 r--p 00023000 08:06 375135 /lib/tls/i686/cmov/libm-2.9.so 002e6000-002e7000 rw-p 00024000 08:06 375135 /lib/tls/i686/cmov/libm-2.9.so 00318000-00334000 r-xp 00000000 08:06 977846 /lib/ld-2.9.so 00334000-00335000 r--p 0001b000 08:06 977846 /lib/ld-2.9.so 00335000-00336000 rw-p 0001c000 08:06 977846 /lib/ld-2.9.so 0056e000-005a1000 r-xp 00000000 08:06 65575 /lib/libncurses.so.5.7 005a1000-005a3000 r--p 00033000 08:06 65575 /lib/libncurses.so.5.7 005a3000-005a4000 rw-p 00035000 08:06 65575 /lib/libncurses.so.5.7 00b67000-00b68000 r-xp 00000000 00:00 0 [vdso] 00bb6000-00bcb000 r-xp 00000000 08:06 375202 /lib/tls/i686/cmov/libpthread-2.9.so 00bcb000-00bcc000 r--p 00014000 08:06 375202 /lib/tls/i686/cmov/libpthread-2.9.so 00bcc000-00bcd000 rw-p 00015000 08:06 375202 /lib/tls/i686/cmov/libpthread-2.9.so 00bcd000-00bcf000 rw-p 00000000 00:00 0 00beb000-00bed000 r-xp 00000000 08:06 375134 /lib/tls/i686/cmov/libdl-2.9.so 00bed000-00bee000 r--p 00001000 08:06 375134 /lib/tls/i686/cmov/libdl-2.9.so 00bee000-00bef000 rw-p 00002000 08:06 375134 /lib/tls/i686/cmov/libdl-2.9.so 00c56000-00c7a000 r-xp 00000000 08:06 1140420 /usr/lib/libexpat.so.1.5.2 00c7a000-00c7c000 r--p 00023000 08:06 1140420 /usr/lib/libexpat.so.1.5.2 00c7c000-00c7d000 rw-p 00025000 08:06 1140420 /usr/lib/libexpat.so.1.5.2 00dce000-00dfa000 r-xp 00000000 08:06 65612 /lib/libreadline.so.5.2 00dfa000-00dfb000 ---p 0002c000 08:06 65612 /lib/libreadline.so.5.2 00dfb000-00dfc000 r--p 0002c000 08:06 65612 /lib/libreadline.so.5.2 00dfc000-00dff000 rw-p 0002d000 08:06 65612 /lib/libreadline.so.5.2 00dff000-00e00000 rw-p 00000000 00:00 0 08048000-0831c000 r-xp 00000000 08:06 1140349 /usr/bin/gdb 0831c000-0831d000 r--p 002d3000 08:06 1140349 /usr/bin/gdb 0831d000-08325000 rw-p 002d4000 08:06 1140349 /usr/bin/gdb 08325000-0833f000 rw-p 00000000 00:00 0 b8077000-b807a000 rw-p 00000000 00:00 0 b8096000-b8098000 rw-p 00000000 00:00 0 bfc57000-bfc6c000 rw-p 00000000 00:00 0 [stack] ''' disasm = '''0x08083540 <main+0>: lea 0x4(%esp),%ecx 0x08083544 <main+4>: and $0xfffffff0,%esp 0x08083547 <main+7>: pushl -0x4(%ecx) 0x0808354a <main+10>: push %ebp 0x0808354b <main+11>: mov %esp,%ebp 0x0808354d <main+13>: push %ecx 0x0808354e <main+14>: sub $0x14,%esp 0x08083551 <main+17>: mov (%ecx),%eax 0x08083553 <main+19>: mov 0x4(%ecx),%edx 0x08083556 <main+22>: lea -0x14(%ebp),%ecx 0x08083559 <main+25>: movl $0x0,-0xc(%ebp) 0x08083560 <main+32>: movl $0x826bc68,-0x8(%ebp) 0x08083567 <main+39>: mov %eax,-0x14(%ebp) 0x0808356a <main+42>: mov %edx,-0x10(%ebp) 0x0808356d <main+45>: mov %ecx,(%esp) 0x08083570 <main+48>: call 0x8083580 <gdb_main> 0x08083575 <main+53>: add $0x14,%esp 0x08083578 <main+56>: pop %ecx 0x08083579 <main+57>: pop %ebp 0x0808357a <main+58>: lea -0x4(%ecx),%esp 0x0808357d <main+61>: ret ''' class T(unittest.TestCase): '''Test Segfault Parser''' def test_invalid_00_registers(self): '''Require valid registers''' regs = 'a 0x10\nb !!!\n' self.assertRaises(ValueError, parse_segv.ParseSegv, regs, '', '') try: segv = parse_segv.ParseSegv(regs, '', '') except ValueError as e: self.assertTrue('invalid literal for int()' in str(e), str(e)) regs = 'a 0x10' disasm = '0x08083540 <main+0>: lea 0x4(%esp),%ecx\n' segv = parse_segv.ParseSegv(regs, disasm, '') self.assertEqual(segv.regs['a'], 0x10, segv) segv.regs = None self.assertRaises(ValueError, segv.parse_disassembly, '') def test_invalid_01_disassembly(self): '''Require valid disassembly''' regs = 'a 0x10' disasm = '' self.assertRaises(ValueError, parse_segv.ParseSegv, regs, disasm, '') disasm = 'Dump ...' self.assertRaises(ValueError, parse_segv.ParseSegv, regs, disasm, '') disasm = 'Dump ...\nmonkey' self.assertRaises(ValueError, parse_segv.ParseSegv, regs, disasm, '') disasm = 'monkey' self.assertRaises(ValueError, parse_segv.ParseSegv, regs, disasm, '') disasm = '0x1111111111: Cannot access memory at address 0x1111111111\n' segv = parse_segv.ParseSegv(regs, disasm, '') self.assertEqual(segv.pc, 0x1111111111, segv.pc) self.assertEqual(segv.insn, None, segv.insn) self.assertEqual(segv.src, None, segv.src) self.assertEqual(segv.dest, None, segv.dest) disasm = '0x2111111111: \n' segv = parse_segv.ParseSegv(regs, disasm, '') self.assertEqual(segv.pc, 0x2111111111, segv.pc) self.assertEqual(segv.insn, None, segv.insn) self.assertEqual(segv.src, None, segv.src) self.assertEqual(segv.dest, None, segv.dest) disasm = '0x8069ff0 <fopen@plt+132220>: cmpb $0x0,(%eax,%ebx,1)\n' segv = parse_segv.ParseSegv(regs, disasm, '') self.assertEqual(segv.pc, 0x8069ff0, segv.pc) self.assertEqual(segv.insn, 'cmpb', segv.insn) self.assertEqual(segv.src, '$0x0', segv.src) self.assertEqual(segv.dest, '(%eax,%ebx,1)', segv.dest) disasm = '0xb765bb48 <_XSend+440>: call *0x40(%edi)\n' segv = parse_segv.ParseSegv(regs, disasm, '') self.assertEqual(segv.pc, 0xb765bb48, segv.pc) self.assertEqual(segv.insn, 'call', segv.insn) self.assertEqual(segv.src, '*0x40(%edi)', segv.src) self.assertEqual(segv.dest, None, segv.dest) disasm = '0xb7aae5a0: call 0xb7a805af <_Unwind_Find_FDE@plt+111>\n' segv = parse_segv.ParseSegv(regs, disasm, '') self.assertEqual(segv.pc, 0xb7aae5a0, segv.pc) self.assertEqual(segv.insn, 'call', segv.insn) self.assertEqual(segv.src, '0xb7a805af', segv.src) self.assertEqual(segv.dest, None, segv.dest) disasm = '0x09083540: mov 0x4(%esp),%es:%ecx\n' segv = parse_segv.ParseSegv(regs, disasm, '') self.assertEqual(segv.pc, 0x09083540, segv.pc) self.assertEqual(segv.insn, 'mov', segv.insn) self.assertEqual(segv.src, '0x4(%esp)', segv.src) self.assertEqual(segv.dest, '%es:%ecx', segv.dest) disasm = '0x08083540 <main+0>: lea 0x4(%esp),%ecx\n' segv = parse_segv.ParseSegv(regs, disasm, '') self.assertEqual(segv.pc, 0x08083540, segv.pc) self.assertEqual(segv.insn, 'lea', segv.insn) self.assertEqual(segv.src, '0x4(%esp)', segv.src) self.assertEqual(segv.dest, '%ecx', segv.dest) disasm = '''0x404127 <exo_mount_hal_device_mount+167>: repz cmpsb %es:(%rdi),%ds:(%rsi)\n''' segv = parse_segv.ParseSegv(regs, disasm, '') self.assertEqual(segv.pc, 0x0404127, segv.pc) self.assertEqual(segv.insn, 'repz cmpsb', segv.insn) self.assertEqual(segv.src, '%es:(%rdi)', segv.src) self.assertEqual(segv.dest, '%ds:(%rsi)', segv.dest) disasm = '0xb031765a <hufftab16+570>: add 0x3430433,%eax' segv = parse_segv.ParseSegv(regs, disasm, '') self.assertEqual(segv.pc, 0xb031765a, segv.pc) self.assertEqual(segv.insn, 'add', segv.insn) self.assertEqual(segv.src, '0x3430433', segv.src) self.assertEqual(segv.dest, '%eax', segv.dest) disasm = 'Dump ...\n0x08083540 <main+0>: lea 0x4(%esp),%ecx\n' segv = parse_segv.ParseSegv(regs, disasm, '') self.assertEqual(segv.pc, 0x08083540, segv.pc) self.assertEqual(segv.insn, 'lea', segv.insn) self.assertEqual(segv.src, '0x4(%esp)', segv.src) self.assertEqual(segv.dest, '%ecx', segv.dest) disasm = '0x08083550 <main+0>: nop\n' segv = parse_segv.ParseSegv(regs, disasm, '') self.assertEqual(segv.pc, 0x08083550, segv.pc) self.assertEqual(segv.insn, 'nop', segv.insn) self.assertEqual(segv.src, None, segv.src) self.assertEqual(segv.dest, None, segv.dest) regs = 'esp 0x444' disasm = '0x08083560 <main+0>: push %ecx\n' segv = parse_segv.ParseSegv(regs, disasm, '') self.assertEqual(segv.pc, 0x08083560, segv.pc) self.assertEqual(segv.insn, 'push', segv.insn) self.assertEqual(segv.src, '%ecx', segv.src) self.assertEqual(segv.dest, '(%esp)', segv.dest) # GDB 7.1 regs = 'esp 0x444' disasm = '=> 0x08083560 <main+0>: push %ecx\n' segv = parse_segv.ParseSegv(regs, disasm, '') self.assertEqual(segv.pc, 0x08083560, segv.pc) self.assertEqual(segv.insn, 'push', segv.insn) self.assertEqual(segv.src, '%ecx', segv.src) self.assertEqual(segv.dest, '(%esp)', segv.dest) def test_ioport_operation(self): '''I/O port violations''' regs = 'rax 0x3 3' disasm = '''0x4087f1 <snd_pcm_hw_params_set_channels_near@plt+19345>: out %al,$0xb3 ''' maps = '''00400000-00412000 r-xp 00000000 08:04 10371157 /usr/sbin/pommed 00611000-00614000 rw-p 00011000 08:04 10371157 /usr/sbin/pommed 00614000-00635000 rw-p 00614000 00:00 0 [heap] ''' segv = parse_segv.ParseSegv(regs, disasm, maps) self.assertEqual(segv.pc, 0x4087f1, segv.pc) self.assertEqual(segv.insn, 'out', segv.insn) self.assertEqual(segv.src, '%al', segv.src) self.assertEqual(segv.dest, '$0xb3', segv.dest) understood, reason, details = segv.report() self.assertTrue(understood, details) self.assertTrue('disallowed I/O port operation on port 3' in reason, reason) def test_invalid_02_maps(self): '''Require valid maps''' regs = 'a 0x10' disasm = 'Dump ...\n0x08083540 <main+0>: lea 0x4(%esp),%ecx\n' maps = 'asdlkfjaadf' self.assertRaises(ValueError, parse_segv.ParseSegv, regs, disasm, maps) maps = '''005a3000-005a4000 rw-p 00035000 08:06 65575 /lib/libncurses.so.5.7 00b67000-00b68000 r-xp 00000000 00:00 0 [vdso] 00c67000-00c68000 r--p 00000000 00:00 0 ''' segv = parse_segv.ParseSegv(regs, disasm, maps) self.assertEqual(segv.maps[0]['start'], 0x005a3000, segv) self.assertEqual(segv.maps[0]['end'], 0x005a4000, segv) self.assertEqual(segv.maps[0]['perms'], 'rw-p', segv) self.assertEqual(segv.maps[0]['name'], '/lib/libncurses.so.5.7', segv) self.assertEqual(segv.maps[1]['start'], 0x00b67000, segv) self.assertEqual(segv.maps[1]['end'], 0x00b68000, segv) self.assertEqual(segv.maps[1]['perms'], 'r-xp', segv) self.assertEqual(segv.maps[1]['name'], '[vdso]', segv) self.assertEqual(segv.maps[2]['start'], 0x00c67000, segv) self.assertEqual(segv.maps[2]['end'], 0x00c68000, segv) self.assertEqual(segv.maps[2]['perms'], 'r--p', segv) self.assertEqual(segv.maps[2]['name'], None, segv) def test_debug(self): '''Debug mode works''' regs = 'a 0x10' disasm = 'Dump ...\n0x08083540 <main+0>: lea 0x4(%esp),%ecx\n' maps = '''005a3000-005a4000 rw-p 00035000 08:06 65575 /lib/libncurses.so.5.7 00b67000-00b68000 r-xp 00000000 00:00 0 [vdso] 00c67000-00c68000 r--p 00000000 00:00 0 ''' sys.stderr = tempfile.NamedTemporaryFile(prefix='parse_segv-stderr-') segv = parse_segv.ParseSegv(regs, disasm, maps, debug=True) self.assertTrue(segv is not None, segv) def test_register_values(self): '''Sub-register parsing''' disasm = '''0x08083540 <main+0>: mov $1,%ecx''' segv = parse_segv.ParseSegv(regs64, disasm, '') val = segv.register_value('%rdx') self.assertEqual(val, 0xffffffffff600180, hex(val)) val = segv.register_value('%edx') self.assertEqual(val, 0xff600180, hex(val)) val = segv.register_value('%dx') self.assertEqual(val, 0x0180, hex(val)) val = segv.register_value('%dl') self.assertEqual(val, 0x80, hex(val)) def test_segv_unknown(self): '''Handles unknown segfaults''' disasm = '''0x08083540 <main+0>: mov $1,%ecx''' segv = parse_segv.ParseSegv(regs, disasm, maps) understood, reason, details = segv.report() self.assertFalse(understood, details) # Verify calculations self.assertEqual(segv.calculate_arg('(%ecx)'), 0xbfc6af40, segv.regs['ecx']) self.assertEqual(segv.calculate_arg('0x10(%ecx)'), 0xbfc6af50, segv.regs['ecx']) self.assertEqual(segv.calculate_arg('-0x20(%ecx)'), 0xbfc6af20, segv.regs['ecx']) self.assertEqual(segv.calculate_arg('%fs:(%ecx)'), 0xbfc6af44, segv.regs['ecx']) self.assertEqual(segv.calculate_arg('0x3404403'), 0x3404403, '0x3404403') self.assertEqual(segv.calculate_arg('*0x40(%edi)'), 0x80834c0, segv.regs['edi']) self.assertEqual(segv.calculate_arg('(%edx,%ebx,1)'), 0x26eff5, segv.regs['ebx']) self.assertEqual(segv.calculate_arg('(%eax,%ebx,1)'), 0x26eff3, segv.regs['ebx']) self.assertEqual(segv.calculate_arg('0x10(,%ebx,1)'), 0x26f004, segv.regs['ebx']) # Again, but 64bit disasm = '''0x08083540 <main+0>: mov $1,%rcx''' segv = parse_segv.ParseSegv(regs64, disasm, maps) understood, reason, details = segv.report() self.assertFalse(understood, details) self.assertEqual(segv.calculate_arg('(%rax,%rbx,1)'), 0x26eff3, segv.regs['rbx']) def test_segv_pc_missing(self): '''Handles PC in missing VMA''' disasm = '''0x00083540 <main+0>: lea 0x4(%esp),%ecx''' segv = parse_segv.ParseSegv(regs, disasm, maps) understood, reason, details = segv.report() self.assertTrue(understood, details) self.assertTrue('PC (0x00083540) not located in a known VMA region' in details, details) self.assertTrue('executing unknown VMA' in reason, reason) disasm = '''0x00083544:''' segv = parse_segv.ParseSegv(regs, disasm, maps) understood, reason, details = segv.report() self.assertTrue(understood, details) self.assertTrue('PC (0x00083544) not located in a known VMA region' in details, details) self.assertTrue('executing unknown VMA' in reason, reason) def test_segv_pc_null(self): '''Handles PC in NULL VMA''' disasm = '''0x00000540 <main+0>: lea 0x4(%esp),%ecx''' segv = parse_segv.ParseSegv(regs, disasm, maps) understood, reason, details = segv.report() self.assertTrue(understood, details) self.assertTrue('PC (0x00000540) not located in a known VMA region' in details, details) self.assertTrue('executing NULL VMA' in reason, reason) def test_segv_pc_nx_writable(self): '''Handles PC in writable NX VMA''' disasm = '''0x005a3000 <main+0>: lea 0x4(%esp),%ecx''' segv = parse_segv.ParseSegv(regs, disasm, maps) understood, reason, details = segv.report() self.assertTrue(understood, details) self.assertTrue('PC (0x005a3000) in non-executable VMA region:' in details, details) self.assertTrue('executing writable VMA /lib/libncurses.so.5.7' in reason, reason) def test_segv_pc_nx_unwritable(self): '''Handles PC in non-writable NX VMA''' disasm = '''0x00dfb000 <main+0>: lea 0x4(%esp),%ecx''' segv = parse_segv.ParseSegv(regs, disasm, maps) understood, reason, details = segv.report() self.assertTrue(understood, details) self.assertTrue('PC (0x00dfb000) in non-executable VMA region:' in details, details) self.assertTrue('executing non-writable VMA /lib/libreadline.so.5.2' in reason, reason) def test_segv_src_missing(self): '''Handles source in missing VMA''' reg = regs + 'ecx 0x0006af24 0xbfc6af24' disasm = '0x08083547 <main+7>: pushl -0x4(%ecx)' # Valid crash segv = parse_segv.ParseSegv(reg, disasm, maps) understood, reason, details = segv.report() self.assertTrue(understood, details) self.assertTrue('source "-0x4(%ecx)" (0x0006af20) not located in a known VMA region' in details, details) self.assertTrue('reading unknown VMA' in reason, reason) # Valid crash disasm = '0x08083547 <main+7>: callq *%ecx' segv = parse_segv.ParseSegv(reg, disasm, maps) understood, reason, details = segv.report() self.assertTrue(understood, details) self.assertTrue('source "*%ecx" (0x0006af24) not located in a known VMA region' in details, details) self.assertTrue('reading unknown VMA' in reason, reason) def test_segv_src_null(self): '''Handles source in NULL VMA''' reg = regs + 'ecx 0x00000024 0xbfc6af24' disasm = '0x08083547 <main+7>: pushl -0x4(%ecx)' segv = parse_segv.ParseSegv(reg, disasm, maps) understood, reason, details = segv.report() self.assertTrue(understood, details) self.assertTrue('source "-0x4(%ecx)" (0x00000020) not located in a known VMA region' in details, details) self.assertTrue('reading NULL VMA' in reason, reason) def test_segv_src_not_readable(self): '''Handles source not in readable VMA''' reg = regs + 'ecx 0x0026c080 0xbfc6af24' disasm = '0x08083547 <main+7>: pushl -0x4(%ecx)' segv = parse_segv.ParseSegv(reg, disasm, maps) understood, reason, details = segv.report() self.assertTrue(understood, details) self.assertTrue('source "-0x4(%ecx)" (0x0026c07c) in non-readable VMA region:' in details, details) self.assertTrue('reading VMA /lib/tls/i686/cmov/libc-2.9.so' in reason, reason) self.assertFalse('Stack memory exhausted' in details, details) self.assertFalse('Stack pointer not within stack segment' in details, details) def test_segv_dest_missing(self): '''Handles destintation in missing VMA''' reg = regs + 'esp 0x0006af24 0xbfc6af24' disasm = '0x08083547 <main+7>: pushl -0x4(%ecx)' segv = parse_segv.ParseSegv(reg, disasm, maps) understood, reason, details = segv.report() self.assertTrue(understood, details) self.assertTrue('destination "(%esp)" (0x0006af24) not located in a known VMA region' in details, details) self.assertTrue('writing unknown VMA' in reason, reason) def test_segv_dest_null(self): '''Handles destintation in NULL VMA''' reg = regs + 'esp 0x00000024 0xbfc6af24' disasm = '0x08083547 <main+7>: pushl -0x4(%ecx)' segv = parse_segv.ParseSegv(reg, disasm, maps) understood, reason, details = segv.report() self.assertTrue(understood, details) self.assertTrue('destination "(%esp)" (0x00000024) not located in a known VMA region' in details, details) self.assertTrue('writing NULL VMA' in reason, reason) def test_segv_dest_not_writable(self): '''Handles destination not in writable VMA''' reg = regs + 'esp 0x08048080 0xbfc6af24' disasm = '0x08083547 <main+7>: pushl -0x4(%ecx)' segv = parse_segv.ParseSegv(reg, disasm, maps) understood, reason, details = segv.report() self.assertTrue(understood, details) self.assertTrue('destination "(%esp)" (0x08048080) in non-writable VMA region:' in details, details) self.assertTrue('writing VMA /usr/bin/gdb' in reason, reason) def test_segv_crackful_disasm(self): '''Rejects insane disassemblies''' disasm = '0x08083547 <main+7>: pushl -0x4(blah)' segv = parse_segv.ParseSegv(regs, disasm, maps) self.assertRaises(ValueError, segv.report) disasm = '0x08083547 <main+7>: pushl -04(%ecx)' segv = parse_segv.ParseSegv(regs, disasm, maps) self.assertRaises(ValueError, segv.report) def test_segv_stack_failure(self): '''Handles walking off the stack''' # Triggered via "push" reg = regs + 'esp 0xbfc56ff0 0xbfc56ff0' disasm = '0x08083547 <main+7>: push %eax' segv = parse_segv.ParseSegv(reg, disasm, maps) understood, reason, details = segv.report() self.assertTrue(understood, details) self.assertTrue('destination "(%esp)" (0xbfc56ff0) not located in a known VMA region (needed writable region)!' in details, details) # Triggered via "call" reg = regs + 'esp 0xbfc56fff 0xbfc56fff' disasm = '0x08083547 <main+7>: callq 0x08083540' segv = parse_segv.ParseSegv(reg, disasm, maps) understood, reason, details = segv.report() self.assertTrue(understood, details) self.assertTrue('destination "(%esp)" (0xbfc56fff) not located in a known VMA region (needed writable region)!' in details, details) self.assertTrue('Stack memory exhausted' in details, details) # Triggered via unknown reason reg = regs + 'esp 0xdfc56000 0xdfc56000' disasm = '''0x08083540 <main+0>: mov $1,%rcx''' segv = parse_segv.ParseSegv(reg, disasm, maps) understood, reason, details = segv.report() self.assertTrue(understood, details) self.assertTrue('SP (0xdfc56000) not located in a known VMA region (needed readable region)!' in details, details) self.assertTrue('Stack pointer not within stack segment' in details, details) def test_segv_stack_kernel_segfault(self): '''Handles unknown segfaults in kernel''' # Crash in valid code path disasm = '''0x0056e010: ret''' segv = parse_segv.ParseSegv(regs, disasm, maps) understood, reason, details = segv.report() self.assertFalse(understood, details) self.assertTrue('Reason could not be automatically determined.' in details, details) self.assertFalse('(Unhandled exception in kernel code?)' in details, details) # Crash from kernel code path disasm = '''0x00b67422 <__kernel_vsyscall+2>: ret''' segv = parse_segv.ParseSegv(regs, disasm, maps) understood, reason, details = segv.report() self.assertFalse(understood, details) self.assertTrue('Reason could not be automatically determined. (Unhandled exception in kernel code?)' in details, details) unittest.main() �����������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/test/test_problem_report.py�����������������������������������������������������������0000644�0000000�0000000�00000104254�12677230222�016663� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# vim: set encoding=UTF-8 fileencoding=UTF-8 : import unittest, tempfile, os, shutil, email, gzip, time, sys from io import BytesIO import problem_report bin_data = b'ABABABABAB\0\0\0Z\x01\x02' if sys.version < '3': # backwards compatibility shim email.message_from_binary_file = email.message_from_file class T(unittest.TestCase): @classmethod def setUp(self): self.workdir = tempfile.mkdtemp() @classmethod def tearDown(self): shutil.rmtree(self.workdir) def test_basic_operations(self): '''basic creation and operation.''' pr = problem_report.ProblemReport() pr['foo'] = 'bar' pr['bar'] = ' foo bar\nbaz\n blip ' pr['dash-key'] = '1' pr['dot.key'] = '1' pr['underscore_key'] = '1' self.assertEqual(pr['foo'], 'bar') self.assertEqual(pr['bar'], ' foo bar\nbaz\n blip ') self.assertEqual(pr['ProblemType'], 'Crash') self.assertTrue(time.strptime(pr['Date'])) self.assertEqual(pr['dash-key'], '1') self.assertEqual(pr['dot.key'], '1') self.assertEqual(pr['underscore_key'], '1') def test_ctor_arguments(self): '''non-default constructor arguments.''' pr = problem_report.ProblemReport('KernelCrash') self.assertEqual(pr['ProblemType'], 'KernelCrash') pr = problem_report.ProblemReport(date='19801224 12:34') self.assertEqual(pr['Date'], '19801224 12:34') def test_sanity_checks(self): '''various error conditions.''' pr = problem_report.ProblemReport() self.assertRaises(AssertionError, pr.__setitem__, 'a b', '1') self.assertRaises(AssertionError, pr.__setitem__, 'a', 1) self.assertRaises(AssertionError, pr.__setitem__, 'a', 1) self.assertRaises(AssertionError, pr.__setitem__, 'a', (1,)) self.assertRaises(AssertionError, pr.__setitem__, 'a', ('/tmp/nonexistant', '')) self.assertRaises(KeyError, pr.__getitem__, 'Nonexistant') def test_compressed_values(self): '''handling of CompressedValue values.''' large_val = b'A' * 5000000 pr = problem_report.ProblemReport() pr['Foo'] = problem_report.CompressedValue(b'FooFoo!') pr['Bin'] = problem_report.CompressedValue() pr['Bin'].set_value(bin_data) pr['Large'] = problem_report.CompressedValue(large_val) self.assertTrue(isinstance(pr['Foo'], problem_report.CompressedValue)) self.assertTrue(isinstance(pr['Bin'], problem_report.CompressedValue)) self.assertEqual(pr['Foo'].get_value(), b'FooFoo!') self.assertEqual(pr['Bin'].get_value(), bin_data) self.assertEqual(pr['Large'].get_value(), large_val) self.assertEqual(len(pr['Foo']), 7) self.assertEqual(len(pr['Bin']), len(bin_data)) self.assertEqual(len(pr['Large']), len(large_val)) io = BytesIO() pr['Bin'].write(io) self.assertEqual(io.getvalue(), bin_data) io = BytesIO() pr['Large'].write(io) self.assertEqual(io.getvalue(), large_val) pr['Multiline'] = problem_report.CompressedValue(b'\1\1\1\n\2\2\n\3\3\3') self.assertEqual(pr['Multiline'].splitlines(), [b'\1\1\1', b'\2\2', b'\3\3\3']) # test writing of reports with CompressedValues io = BytesIO() pr.write(io) io.seek(0) pr = problem_report.ProblemReport() pr.load(io) self.assertEqual(pr['Foo'], 'FooFoo!') self.assertEqual(pr['Bin'], bin_data) self.assertEqual(pr['Large'], large_val.decode('ASCII')) def test_write(self): '''write() and proper formatting.''' pr = problem_report.ProblemReport(date='now!') pr['Simple'] = 'bar' if sys.version.startswith('2'): pr['SimpleUTF8'] = '1äö2Φ3' pr['SimpleUnicode'] = '1äö2Φ3'.decode('UTF-8') pr['TwoLineUnicode'] = 'pi-π\nnu-η'.decode('UTF-8') pr['TwoLineUTF8'] = 'pi-π\nnu-η' else: pr['SimpleUTF8'] = '1äö2Φ3'.encode('UTF-8') pr['SimpleUnicode'] = '1äö2Φ3' pr['TwoLineUnicode'] = 'pi-π\nnu-η' pr['TwoLineUTF8'] = 'pi-π\nnu-η'.encode('UTF-8') pr['WhiteSpace'] = ' foo bar\nbaz\n blip \n\nafteremptyline' # Unicode with a non-space low ASCII character \x05 in it pr['UnprintableUnicode'] = b'a\xc3\xa4\x05z1\xc3\xa9'.decode('UTF-8') io = BytesIO() pr.write(io) expected = '''ProblemType: Crash Date: now! Simple: bar SimpleUTF8: 1äö2Φ3 SimpleUnicode: 1äö2Φ3 TwoLineUTF8: pi-π nu-η TwoLineUnicode: pi-π nu-η UnprintableUnicode: aä\x05z1é WhiteSpace: foo bar baz blip afteremptyline ''' if sys.version > '3': expected = expected.encode('UTF-8') self.assertEqual(io.getvalue(), expected) def test_write_append(self): '''write() with appending to an existing file.''' pr = problem_report.ProblemReport(date='now!') pr['Simple'] = 'bar' pr['WhiteSpace'] = ' foo bar\nbaz\n blip ' io = BytesIO() pr.write(io) pr.clear() pr['Extra'] = 'appended' pr.write(io) self.assertEqual(io.getvalue(), b'''ProblemType: Crash Date: now! Simple: bar WhiteSpace: foo bar baz blip Extra: appended ''') temp = tempfile.NamedTemporaryFile() temp.write(bin_data) temp.flush() pr = problem_report.ProblemReport(date='now!') pr['File'] = (temp.name,) io = BytesIO() pr.write(io) temp.close() pr.clear() pr['Extra'] = 'appended' pr.write(io) io.seek(0) pr = problem_report.ProblemReport() pr.load(io) self.assertEqual(pr['Date'], 'now!') self.assertEqual(pr['File'], bin_data) self.assertEqual(pr['Extra'], 'appended') def test_load(self): '''load() with various formatting.''' pr = problem_report.ProblemReport() pr.load(BytesIO(b'''ProblemType: Crash Date: now! Simple: bar WhiteSpace: foo bar baz blip ''')) self.assertEqual(pr['ProblemType'], 'Crash') self.assertEqual(pr['Date'], 'now!') self.assertEqual(pr['Simple'], 'bar') self.assertEqual(pr['WhiteSpace'], ' foo bar\nbaz\n blip ') # test last field a bit more pr.load(BytesIO(b'''ProblemType: Crash Date: now! Simple: bar WhiteSpace: foo bar baz blip ''')) self.assertEqual(pr['ProblemType'], 'Crash') self.assertEqual(pr['Date'], 'now!') self.assertEqual(pr['Simple'], 'bar') self.assertEqual(pr['WhiteSpace'], ' foo bar\nbaz\n blip \n') # last field might not be \n terminated pr.load(BytesIO(b'''ProblemType: Crash Date: now! Simple: bar WhiteSpace: foo bar''')) self.assertEqual(pr['ProblemType'], 'Crash') self.assertEqual(pr['Date'], 'now!') self.assertEqual(pr['Simple'], 'bar') self.assertEqual(pr['WhiteSpace'], 'foo\nbar') pr = problem_report.ProblemReport() pr.load(BytesIO(b'''ProblemType: Crash WhiteSpace: foo bar baz blip Last: foo ''')) self.assertEqual(pr['WhiteSpace'], ' foo bar\nbaz\n\n blip ') self.assertEqual(pr['Last'], 'foo') pr.load(BytesIO(b'''ProblemType: Crash WhiteSpace: foo bar baz blip Last: foo ''')) self.assertEqual(pr['WhiteSpace'], ' foo bar\nbaz\n blip ') self.assertEqual(pr['Last'], 'foo\n') # empty lines in values must have a leading space in coding invalid_spacing = BytesIO(b'''WhiteSpace: first second ''') pr = problem_report.ProblemReport() self.assertRaises(ValueError, pr.load, invalid_spacing) # test that load() cleans up properly pr.load(BytesIO(b'ProblemType: Crash')) self.assertEqual(list(pr.keys()), ['ProblemType']) def test_extract_keys(self): '''extract_keys() with various binary elements.''' # create a test report with binary elements large_val = b'A' * 5000000 pr = problem_report.ProblemReport() pr['Txt'] = 'some text' pr['MoreTxt'] = 'some more text' pr['Foo'] = problem_report.CompressedValue(b'FooFoo!') pr['Uncompressed'] = bin_data pr['Bin'] = problem_report.CompressedValue() pr['Bin'].set_value(bin_data) pr['Large'] = problem_report.CompressedValue(large_val) pr['Multiline'] = problem_report.CompressedValue(b'\1\1\1\n\2\2\n\3\3\3') report = BytesIO() pr.write(report) report.seek(0) self.assertRaises(IOError, pr.extract_keys, report, 'Bin', os.path.join(self.workdir, 'nonexistant')) # Test exception handling : Non-binary and inexistant key tests = {ValueError: 'Txt', ValueError: ['Foo', 'Txt'], KeyError: 'Bar', KeyError: ['Foo', 'Bar']} for exc, keys_arg in tests.items(): report.seek(0) self.assertRaises(exc, pr.extract_keys, report, keys_arg, self.workdir) # Check valid single elements tests = {'Foo': b'FooFoo!', 'Uncompressed': bin_data, 'Bin': bin_data, 'Large': large_val, 'Multiline': b'\1\1\1\n\2\2\n\3\3\3'} for key, expected in tests.items(): report.seek(0) pr.extract_keys(report, key, self.workdir) with open(os.path.join(self.workdir, key), 'rb') as f: self.assertEqual(f.read(), expected) # remove file for next pass os.remove(os.path.join(self.workdir, key)) # Check element list report.seek(0) tests = {'Foo': b'FooFoo!', 'Uncompressed': bin_data} pr.extract_keys(report, tests.keys(), self.workdir) for key, expected in tests.items(): with open(os.path.join(self.workdir, key), 'rb') as f: self.assertEqual(f.read(), expected) def test_write_file(self): '''writing a report with binary file data.''' temp = tempfile.NamedTemporaryFile() temp.write(bin_data) temp.flush() pr = problem_report.ProblemReport(date='now!') pr['File'] = (temp.name,) pr['Afile'] = (temp.name,) io = BytesIO() pr.write(io) temp.close() self.assertEqual(io.getvalue(), b'''ProblemType: Crash Date: now! Afile: base64 H4sICAAAAAAC/0FmaWxlAA== c3RyhEIGBoYoRiYAM5XUCxAAAAA= File: base64 H4sICAAAAAAC/0ZpbGUA c3RyhEIGBoYoRiYAM5XUCxAAAAA= ''') # force compression/encoding bool temp = tempfile.NamedTemporaryFile() temp.write(b'foo\0bar') temp.flush() pr = problem_report.ProblemReport(date='now!') pr['File'] = (temp.name, False) io = BytesIO() pr.write(io) self.assertEqual(io.getvalue(), b'''ProblemType: Crash Date: now! File: foo\0bar ''') pr['File'] = (temp.name, True) io = BytesIO() pr.write(io) self.assertEqual(io.getvalue(), b'''ProblemType: Crash Date: now! File: base64 H4sICAAAAAAC/0ZpbGUA S8vPZ0hKLAIACq50HgcAAAA= ''') temp.close() def test_write_fileobj(self): '''writing a report with a pointer to a file-like object.''' tempbin = BytesIO(bin_data) tempasc = BytesIO(b'Hello World') pr = problem_report.ProblemReport(date='now!') pr['BinFile'] = (tempbin,) pr['AscFile'] = (tempasc, False) io = BytesIO() pr.write(io) io.seek(0) pr = problem_report.ProblemReport() pr.load(io) self.assertEqual(pr['BinFile'], tempbin.getvalue()) self.assertEqual(pr['AscFile'], tempasc.getvalue().decode()) def test_write_empty_fileobj(self): '''writing a report with a pointer to a file-like object with enforcing non-emptyness.''' tempbin = BytesIO(b'') tempasc = BytesIO(b'') pr = problem_report.ProblemReport(date='now!') pr['BinFile'] = (tempbin, True, None, True) io = BytesIO() self.assertRaises(IOError, pr.write, io) pr = problem_report.ProblemReport(date='now!') pr['AscFile'] = (tempasc, False, None, True) io = BytesIO() self.assertRaises(IOError, pr.write, io) def test_write_delayed_fileobj(self): '''writing a report with file pointers and delayed data.''' (fout, fin) = os.pipe() if os.fork() == 0: os.close(fout) time.sleep(0.3) os.write(fin, b'ab' * 512 * 1024) time.sleep(0.3) os.write(fin, b'hello') time.sleep(0.3) os.write(fin, b' world') os.close(fin) os._exit(0) os.close(fin) pr = problem_report.ProblemReport(date='now!') io = BytesIO() with os.fdopen(fout, 'rb') as f: pr['BinFile'] = (f,) pr.write(io) assert os.wait()[1] == 0 io.seek(0) pr2 = problem_report.ProblemReport() pr2.load(io) self.assertEqual(pr2['BinFile'], 'ab' * 512 * 1024 + 'hello world') def test_read_file(self): '''reading a report with binary data.''' bin_report = b'''ProblemType: Crash Date: now! File: base64 H4sICAAAAAAC/0ZpbGUA c3RyhEIGBoYoRiYAM5XUCxAAAAA= Foo: Bar ''' # test with reading everything pr = problem_report.ProblemReport() pr.load(BytesIO(bin_report)) self.assertEqual(pr['File'], bin_data) self.assertEqual(pr.has_removed_fields(), False) # test with skipping binary data pr.load(BytesIO(bin_report), binary=False) self.assertEqual(pr['File'], '') self.assertEqual(pr.has_removed_fields(), True) # test with keeping compressed binary data pr.load(BytesIO(bin_report), binary='compressed') self.assertEqual(pr['Foo'], 'Bar') self.assertEqual(pr.has_removed_fields(), False) self.assertTrue(isinstance(pr['File'], problem_report.CompressedValue)) self.assertEqual(len(pr['File']), len(bin_data)) self.assertEqual(pr['File'].get_value(), bin_data) def test_read_file_legacy(self): '''reading a report with binary data in legacy format without gzip header.''' bin_report = b'''ProblemType: Crash Date: now! File: base64 eJw= c3RyxIAMcBAFAG55BXk= Foo: Bar ''' # test with reading everything pr = problem_report.ProblemReport() pr.load(BytesIO(bin_report)) self.assertEqual(pr['File'], b'AB' * 10 + b'\0' * 10 + b'Z') self.assertEqual(pr.has_removed_fields(), False) # test with skipping binary data pr.load(BytesIO(bin_report), binary=False) self.assertEqual(pr['File'], '') self.assertEqual(pr.has_removed_fields(), True) # test with keeping CompressedValues pr.load(BytesIO(bin_report), binary='compressed') self.assertEqual(pr.has_removed_fields(), False) self.assertEqual(len(pr['File']), 31) self.assertEqual(pr['File'].get_value(), b'AB' * 10 + b'\0' * 10 + b'Z') io = BytesIO() pr['File'].write(io) io.seek(0) self.assertEqual(io.read(), b'AB' * 10 + b'\0' * 10 + b'Z') def test_big_file(self): '''writing and re-decoding a big random file.''' # create 1 MB random file temp = tempfile.NamedTemporaryFile() data = os.urandom(1048576) temp.write(data) temp.flush() # write it into problem report pr = problem_report.ProblemReport() pr['File'] = (temp.name,) pr['Before'] = 'xtestx' pr['ZAfter'] = 'ytesty' io = BytesIO() pr.write(io) temp.close() # read it again io.seek(0) pr = problem_report.ProblemReport() pr.load(io) self.assertTrue(pr['File'] == data) self.assertEqual(pr['Before'], 'xtestx') self.assertEqual(pr['ZAfter'], 'ytesty') # write it again io2 = BytesIO() pr.write(io2) self.assertTrue(io.getvalue() == io2.getvalue()) # check gzip compatibility io.seek(0) pr = problem_report.ProblemReport() pr.load(io, binary='compressed') self.assertEqual(pr['File'].get_value(), data) def test_size_limit(self): '''writing and a big random file with a size limit key.''' # create 1 MB random file temp = tempfile.NamedTemporaryFile() data = os.urandom(1048576) temp.write(data) temp.flush() # write it into problem report pr = problem_report.ProblemReport() pr['FileSmallLimit'] = (temp.name, True, 100) pr['FileLimitMinus1'] = (temp.name, True, 1048575) pr['FileExactLimit'] = (temp.name, True, 1048576) pr['FileLimitPlus1'] = (temp.name, True, 1048577) pr['FileLimitNone'] = (temp.name, True, None) pr['Before'] = 'xtestx' pr['ZAfter'] = 'ytesty' io = BytesIO() pr.write(io) temp.close() # read it again io.seek(0) pr = problem_report.ProblemReport() pr.load(io) self.assertFalse('FileSmallLimit' in pr) self.assertFalse('FileLimitMinus1' in pr) self.assertTrue(pr['FileExactLimit'] == data) self.assertTrue(pr['FileLimitPlus1'] == data) self.assertTrue(pr['FileLimitNone'] == data) self.assertEqual(pr['Before'], 'xtestx') self.assertEqual(pr['ZAfter'], 'ytesty') def test_iter(self): '''problem_report.ProblemReport iteration.''' pr = problem_report.ProblemReport() pr['foo'] = 'bar' keys = [] for k in pr: keys.append(k) keys.sort() self.assertEqual(' '.join(keys), 'Date ProblemType foo') self.assertEqual(len([k for k in pr if k != 'foo']), 2) def test_modify(self): '''reading, modifying fields, and writing back.''' report = b'''ProblemType: Crash Date: now! Long: xxx . yyy Short: Bar File: base64 H4sICAAAAAAC/0ZpbGUA c3RyxIAMcBAFAK/2p9MfAAAA ''' pr = problem_report.ProblemReport() pr.load(BytesIO(report)) self.assertEqual(pr['Long'], 'xxx\n.\nyyy') # write back unmodified io = BytesIO() pr.write(io) self.assertEqual(io.getvalue(), report) pr['Short'] = 'aaa\nbbb' pr['Long'] = '123' io = BytesIO() pr.write(io) self.assertEqual(io.getvalue(), b'''ProblemType: Crash Date: now! Long: 123 Short: aaa bbb File: base64 H4sICAAAAAAC/0ZpbGUA c3RyxIAMcBAFAK/2p9MfAAAA ''') def test_add_to_existing(self): '''adding information to an existing report.''' # original report pr = problem_report.ProblemReport() pr['old1'] = '11' pr['old2'] = '22' (fd, rep) = tempfile.mkstemp() os.close(fd) with open(rep, 'wb') as f: pr.write(f) origstat = os.stat(rep) # create a new one and add it pr = problem_report.ProblemReport() pr.clear() pr['new1'] = '33' pr.add_to_existing(rep, keep_times=True) # check keep_times newstat = os.stat(rep) self.assertEqual(origstat.st_mode, newstat.st_mode) self.assertAlmostEqual(origstat.st_atime, newstat.st_atime, 1) self.assertAlmostEqual(origstat.st_mtime, newstat.st_mtime, 1) # check report contents newpr = problem_report.ProblemReport() with open(rep, 'rb') as f: newpr.load(f) self.assertEqual(newpr['old1'], '11') self.assertEqual(newpr['old2'], '22') self.assertEqual(newpr['new1'], '33') # create a another new one and add it, but make sure mtime must be # different time.sleep(1) with open(rep) as f: f.read() # bump atime time.sleep(1) pr = problem_report.ProblemReport() pr.clear() pr['new2'] = '44' pr.add_to_existing(rep) # check that timestamps have been updates newstat = os.stat(rep) self.assertEqual(origstat.st_mode, newstat.st_mode) self.assertNotEqual(origstat.st_mtime, newstat.st_mtime) # skip atime check if filesystem is mounted noatime skip_atime = False dir = rep while len(dir) > 1: dir, filename = os.path.split(dir) if os.path.ismount(dir): with open('/proc/mounts') as f: for line in f: mount, fs, options = line.split(' ')[1:4] if mount == dir and 'noatime' in options.split(','): skip_atime = True break break if not skip_atime: self.assertNotEqual(origstat.st_atime, newstat.st_atime) # check report contents newpr = problem_report.ProblemReport() with open(rep, 'rb') as f: newpr.load(f) self.assertEqual(newpr['old1'], '11') self.assertEqual(newpr['old2'], '22') self.assertEqual(newpr['new1'], '33') self.assertEqual(newpr['new2'], '44') os.unlink(rep) def test_write_mime_text(self): '''write_mime() for text values.''' pr = problem_report.ProblemReport(date='now!') pr['Simple'] = 'bar' if sys.version.startswith('2'): pr['SimpleUTF8'] = '1äö2Φ3' pr['SimpleUnicode'] = '1äö2Φ3'.decode('UTF-8') pr['TwoLineUnicode'] = 'pi-π\nnu-η\n'.decode('UTF-8') pr['TwoLineUTF8'] = 'pi-π\nnu-η\n' else: pr['SimpleUTF8'] = '1äö2Φ3'.encode('UTF-8') pr['SimpleUnicode'] = '1äö2Φ3' pr['TwoLineUnicode'] = 'pi-π\nnu-η\n' pr['TwoLineUTF8'] = 'pi-π\nnu-η\n'.encode('UTF-8') pr['SimpleLineEnd'] = 'bar\n' pr['TwoLine'] = 'first\nsecond\n' pr['InlineMargin'] = 'first\nsecond\nthird\nfourth\nfifth\n' pr['Multiline'] = ' foo bar\nbaz\n blip \nline4\nline♥5!!\nłıµ€ ⅝\n' # still small enough for inline text pr['Largeline'] = 'A' * 999 pr['LargeMultiline'] = 'A' * 120 + '\n' + 'B' * 90 # too big for inline text, these become attachments pr['Hugeline'] = 'A' * 10000 pr['HugeMultiline'] = 'A' * 900 + '\n' + 'B' * 900 + '\n' + 'C' * 900 io = BytesIO() pr.write_mime(io) io.seek(0) msg = email.message_from_binary_file(io) parts = [p for p in msg.walk()] self.assertEqual(len(parts), 5) # first part is the multipart container self.assertTrue(parts[0].is_multipart()) # second part should be an inline text/plain attachments with all short # fields self.assertTrue(not parts[1].is_multipart()) self.assertEqual(parts[1].get_content_type(), 'text/plain') self.assertEqual(parts[1].get_content_charset(), 'utf-8') self.assertEqual(parts[1].get_filename(), None) expected = '''ProblemType: Crash Date: now! InlineMargin: first second third fourth fifth LargeMultiline: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB Largeline: %s Simple: bar SimpleLineEnd: bar SimpleUTF8: 1äö2Φ3 SimpleUnicode: 1äö2Φ3 TwoLine: first second TwoLineUTF8: pi-π nu-η TwoLineUnicode: pi-π nu-η ''' % pr['Largeline'] if sys.version >= '3': expected = expected.encode('UTF-8') self.assertEqual(parts[1].get_payload(decode=True), expected) # third part should be the HugeMultiline: field as attachment self.assertTrue(not parts[2].is_multipart()) self.assertEqual(parts[2].get_content_type(), 'text/plain') self.assertEqual(parts[2].get_content_charset(), 'utf-8') self.assertEqual(parts[2].get_filename(), 'HugeMultiline.txt') self.assertEqual(parts[2].get_payload(decode=True), pr['HugeMultiline'].encode()) # fourth part should be the Hugeline: field as attachment self.assertTrue(not parts[3].is_multipart()) self.assertEqual(parts[3].get_content_type(), 'text/plain') self.assertEqual(parts[3].get_content_charset(), 'utf-8') self.assertEqual(parts[3].get_filename(), 'Hugeline.txt') self.assertEqual(parts[3].get_payload(decode=True), pr['Hugeline'].encode()) # fifth part should be the Multiline: field as attachment self.assertTrue(not parts[4].is_multipart()) self.assertEqual(parts[4].get_content_type(), 'text/plain') self.assertEqual(parts[4].get_content_charset(), 'utf-8') self.assertEqual(parts[4].get_filename(), 'Multiline.txt') expected = ''' foo bar baz blip line4 line♥5!! łıµ€ ⅝ ''' if sys.version >= '3': expected = expected.encode('UTF-8') self.assertEqual(parts[4].get_payload(decode=True), expected) def test_write_mime_binary(self): '''write_mime() for binary values and file references.''' temp = tempfile.NamedTemporaryFile() temp.write(bin_data) temp.flush() tempgz = tempfile.NamedTemporaryFile() gz = gzip.GzipFile('File1', 'w', fileobj=tempgz) gz.write(bin_data) gz.close() tempgz.flush() pr = problem_report.ProblemReport(date='now!') pr['Context'] = 'Test suite' pr['File1'] = (temp.name,) pr['File1.gz'] = (tempgz.name,) pr['Value1'] = bin_data with open(tempgz.name, 'rb') as f: pr['Value1.gz'] = f.read() pr['ZValue'] = problem_report.CompressedValue(bin_data) io = BytesIO() pr.write_mime(io) io.seek(0) msg = email.message_from_binary_file(io) parts = [p for p in msg.walk()] self.assertEqual(len(parts), 7) # first part is the multipart container self.assertTrue(parts[0].is_multipart()) # second part should be an inline text/plain attachments with all short # fields self.assertTrue(not parts[1].is_multipart()) self.assertEqual(parts[1].get_content_type(), 'text/plain') self.assertEqual(parts[1].get_content_charset(), 'utf-8') self.assertEqual(parts[1].get_filename(), None) self.assertEqual(parts[1].get_payload(decode=True), b'ProblemType: Crash\nContext: Test suite\nDate: now!\n') # third part should be the File1: file contents as gzip'ed attachment self.assertTrue(not parts[2].is_multipart()) self.assertEqual(parts[2].get_content_type(), 'application/x-gzip') self.assertEqual(parts[2].get_filename(), 'File1.gz') f = tempfile.TemporaryFile() f.write(parts[2].get_payload(decode=True)) f.seek(0) self.assertEqual(gzip.GzipFile(mode='rb', fileobj=f).read(), bin_data) f.close() # fourth part should be the File1.gz: file contents as gzip'ed # attachment; write_mime() should not compress it again self.assertTrue(not parts[3].is_multipart()) self.assertEqual(parts[3].get_content_type(), 'application/x-gzip') self.assertEqual(parts[3].get_filename(), 'File1.gz') f = tempfile.TemporaryFile() f.write(parts[3].get_payload(decode=True)) f.seek(0) self.assertEqual(gzip.GzipFile(mode='rb', fileobj=f).read(), bin_data) f.close() # fifth part should be the Value1: value as gzip'ed attachment self.assertTrue(not parts[4].is_multipart()) self.assertEqual(parts[4].get_content_type(), 'application/x-gzip') self.assertEqual(parts[4].get_filename(), 'Value1.gz') f = tempfile.TemporaryFile() f.write(parts[4].get_payload(decode=True)) f.seek(0) self.assertEqual(gzip.GzipFile(mode='rb', fileobj=f).read(), bin_data) f.close() # sixth part should be the Value1: value as gzip'ed attachment; # write_mime should not compress it again self.assertTrue(not parts[5].is_multipart()) self.assertEqual(parts[5].get_content_type(), 'application/x-gzip') self.assertEqual(parts[5].get_filename(), 'Value1.gz') f = tempfile.TemporaryFile() f.write(parts[5].get_payload(decode=True)) f.seek(0) self.assertEqual(gzip.GzipFile(mode='rb', fileobj=f).read(), bin_data) f.close() # seventh part should be the ZValue: value as gzip'ed attachment; # write_mime should not compress it again self.assertTrue(not parts[6].is_multipart()) self.assertEqual(parts[6].get_content_type(), 'application/x-gzip') self.assertEqual(parts[6].get_filename(), 'ZValue.gz') f = tempfile.TemporaryFile() f.write(parts[6].get_payload(decode=True)) f.seek(0) self.assertEqual(gzip.GzipFile(mode='rb', fileobj=f).read(), bin_data) f.close() def test_write_mime_extra_headers(self): '''write_mime() with extra headers.''' pr = problem_report.ProblemReport(date='now!') pr['Simple'] = 'bar' pr['TwoLine'] = 'first\nsecond\n' io = BytesIO() pr.write_mime(io, extra_headers={'Greeting': 'hello world', 'Foo': 'Bar'}) io.seek(0) msg = email.message_from_binary_file(io) self.assertEqual(msg['Greeting'], 'hello world') self.assertEqual(msg['Foo'], 'Bar') parts = [p for p in msg.walk()] self.assertEqual(len(parts), 2) # first part is the multipart container self.assertTrue(parts[0].is_multipart()) # second part should be an inline text/plain attachments with all short # fields self.assertTrue(not parts[1].is_multipart()) self.assertEqual(parts[1].get_content_type(), 'text/plain') self.assertTrue(b'Simple: bar' in parts[1].get_payload(decode=True)) def test_write_mime_filter(self): '''write_mime() with key filters.''' pr = problem_report.ProblemReport(date='now!') pr['GoodText'] = 'Hi' pr['BadText'] = 'YouDontSeeMe' pr['GoodBin'] = bin_data pr['BadBin'] = 'Y' + '\x05' * 10 + '-' io = BytesIO() pr.write_mime(io, skip_keys=['BadText', 'BadBin']) io.seek(0) msg = email.message_from_binary_file(io) parts = [p for p in msg.walk()] self.assertEqual(len(parts), 3) # first part is the multipart container self.assertTrue(parts[0].is_multipart()) # second part should be an inline text/plain attachments with all short # fields self.assertTrue(not parts[1].is_multipart()) self.assertEqual(parts[1].get_content_type(), 'text/plain') self.assertEqual(parts[1].get_content_charset(), 'utf-8') self.assertEqual(parts[1].get_filename(), None) self.assertEqual(parts[1].get_payload(decode=True), b'''ProblemType: Crash Date: now! GoodText: Hi ''') # third part should be the GoodBin: field as attachment self.assertTrue(not parts[2].is_multipart()) f = tempfile.TemporaryFile() f.write(parts[2].get_payload(decode=True)) f.seek(0) self.assertEqual(gzip.GzipFile(mode='rb', fileobj=f).read(), bin_data) f.close() def test_write_mime_order(self): '''write_mime() with keys ordered.''' pr = problem_report.ProblemReport(date='now!') pr['SecondText'] = 'What' pr['FirstText'] = 'Who' pr['FourthText'] = 'Today' pr['ThirdText'] = "I Don't Know" io = BytesIO() pr.write_mime(io, priority_fields=['FirstText', 'SecondText', 'ThirdText', 'Unknown', 'FourthText']) io.seek(0) msg = email.message_from_binary_file(io) parts = [p for p in msg.walk()] self.assertEqual(len(parts), 2) # first part is the multipart container self.assertTrue(parts[0].is_multipart()) # second part should be an inline text/plain attachments with all short # fields self.assertTrue(not parts[1].is_multipart()) self.assertEqual(parts[1].get_content_type(), 'text/plain') self.assertEqual(parts[1].get_content_charset(), 'utf-8') self.assertEqual(parts[1].get_filename(), None) self.assertEqual(parts[1].get_payload(decode=True), b'''FirstText: Who SecondText: What ThirdText: I Don't Know FourthText: Today ProblemType: Crash Date: now! ''') def test_updating(self): '''new_keys() and write() with only_new=True.''' pr = problem_report.ProblemReport() self.assertEqual(pr.new_keys(), set(['ProblemType', 'Date'])) pr.load(BytesIO(b'''ProblemType: Crash Date: now! Foo: bar Baz: blob ''')) self.assertEqual(pr.new_keys(), set()) pr['Foo'] = 'changed' pr['NewKey'] = 'new new' self.assertEqual(pr.new_keys(), set(['NewKey'])) out = BytesIO() pr.write(out, only_new=True) self.assertEqual(out.getvalue(), b'NewKey: new new\n') def test_import_dict(self): '''importing a dictionary with update().''' pr = problem_report.ProblemReport() pr['oldtext'] = 'Hello world' pr['oldbin'] = bin_data pr['overwrite'] = 'I am crap' d = {} d['newtext'] = 'Goodbye world' d['newbin'] = '11\000\001\002\xFFZZ' d['overwrite'] = 'I am good' pr.update(d) self.assertEqual(pr['oldtext'], 'Hello world') self.assertEqual(pr['oldbin'], bin_data) self.assertEqual(pr['newtext'], 'Goodbye world') self.assertEqual(pr['newbin'], '11\000\001\002\xFFZZ') self.assertEqual(pr['overwrite'], 'I am good') def test_load_key_filter(self): '''load a report with filtering keys.''' io = BytesIO(b'''ProblemType: Crash DataNo: nonono GoodFile: base64 H4sICAAAAAAC/0FmaWxlAA== c3RyhEIGBoYoRiYAM5XUCxAAAAA= DataYes: yesyes BadFile: base64 H4sICAAAAAAC/0ZpbGUA S8vPZ0hKLAIACq50HgcAAAA= ''') pr = problem_report.ProblemReport() pr.load(io, key_filter=['DataYes', 'GoodFile']) self.assertEqual(pr['DataYes'], 'yesyes') self.assertEqual(pr['GoodFile'], bin_data) self.assertEqual(sorted(pr.keys()), ['DataYes', 'GoodFile']) if __name__ == '__main__': unittest.main() ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/test/test_python_crashes.py�����������������������������������������������������������0000644�0000000�0000000�00000045433�12677230222�016664� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Test apport_python_hook.py # # Copyright (c) 2006 - 2011 Canonical Ltd. # Authors: Robert Collins <robert@ubuntu.com> # Martin Pitt <martin.pitt@ubuntu.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import unittest, tempfile, subprocess, os, stat, shutil, atexit import dbus temp_report_dir = tempfile.mkdtemp() os.environ['APPORT_REPORT_DIR'] = temp_report_dir atexit.register(shutil.rmtree, temp_report_dir) import apport.fileutils import apport.report class T(unittest.TestCase): def tearDown(self): for f in apport.fileutils.get_all_reports(): os.unlink(f) def _test_crash(self, extracode='', scriptname=None): '''Create a test crash.''' # put the script into /var/tmp, since that isn't ignored in the # hook if scriptname: script = scriptname fd = os.open(scriptname, os.O_CREAT | os.O_WRONLY) else: (fd, script) = tempfile.mkstemp(dir='/var/tmp') self.addCleanup(os.unlink, script) os.write(fd, ('''#!/usr/bin/env %s import apport_python_hook apport_python_hook.install() def func(x): raise Exception(b'This should happen. \\xe2\\x99\\xa5'.decode('UTF-8')) %s func(42) ''' % (os.getenv('PYTHON', 'python3'), extracode)).encode()) os.close(fd) os.chmod(script, 0o755) env = os.environ.copy() env['PYTHONPATH'] = '.:/my/bogus/path' p = subprocess.Popen([script, 'testarg1', 'testarg2'], stderr=subprocess.PIPE, env=env) err = p.communicate()[1].decode() self.assertEqual(p.returncode, 1, 'crashing test python program exits with failure code') if not extracode: self.assertIn('This should happen.', err) self.assertNotIn('IOError', err) return script def test_general(self): '''general operation of the Python crash hook.''' script = self._test_crash() # did we get a report? reports = apport.fileutils.get_new_reports() pr = None self.assertEqual(len(reports), 1, 'crashed Python program produced a report') self.assertEqual(stat.S_IMODE(os.stat(reports[0]).st_mode), 0o640, 'report has correct permissions') pr = apport.report.Report() with open(reports[0], 'rb') as f: pr.load(f) # check report contents expected_keys = ['InterpreterPath', 'PythonArgs', 'Traceback', 'ProblemType', 'ProcEnviron', 'ProcStatus', 'ProcCmdline', 'Date', 'ExecutablePath', 'ProcMaps', 'UserGroups'] self.assertTrue(set(expected_keys).issubset(set(pr.keys())), 'report has necessary fields') self.assertIn('bin/python', pr['InterpreterPath']) self.assertEqual(pr['ExecutablePath'], script) self.assertEqual(pr['ExecutableTimestamp'], str(int(os.stat(script).st_mtime))) self.assertEqual(pr['PythonArgs'], "['%s', 'testarg1', 'testarg2']" % script) self.assertTrue(pr['Traceback'].startswith('Traceback')) self.assertIn("func\n raise Exception(b'This should happen.", pr['Traceback']) def test_existing(self): '''Python crash hook overwrites seen existing files.''' script = self._test_crash() # did we get a report? reports = apport.fileutils.get_new_reports() self.assertEqual(len(reports), 1, 'crashed Python program produced a report') self.assertEqual(stat.S_IMODE(os.stat(reports[0]).st_mode), 0o640, 'report has correct permissions') # touch report -> "seen" case apport.fileutils.mark_report_seen(reports[0]) reports = apport.fileutils.get_new_reports() self.assertEqual(len(reports), 0) script = self._test_crash(scriptname=script) reports = apport.fileutils.get_new_reports() self.assertEqual(len(reports), 1) # "unseen" case script = self._test_crash(scriptname=script) reports = apport.fileutils.get_new_reports() self.assertEqual(len(reports), 1) def test_symlink(self): '''Python crash of a symlinked program resolves to target''' script = self._test_crash() # load report for this reports = apport.fileutils.get_new_reports() self.assertEqual(len(reports), 1, 'crashed Python program produced a report') pr1 = apport.Report() with open(reports[0], 'rb') as f: pr1.load(f) for f in apport.fileutils.get_all_reports(): os.unlink(f) script_link = os.path.join(os.path.dirname(script), 'script-link') os.symlink(os.path.basename(script), script_link) self.addCleanup(os.unlink, script_link) # run script through symlink name p = subprocess.Popen([script_link], stderr=subprocess.PIPE) err = p.communicate()[1].decode() self.assertEqual(p.returncode, 1, 'crashing test python program exits with failure code') self.assertIn('This should happen.', err) # get report for symlinked crash reports = apport.fileutils.get_new_reports() self.assertEqual(len(reports), 1, 'crashed Python program produced a report') pr2 = apport.Report() with open(reports[0], 'rb') as f: pr2.load(f) # check report contents self.assertIn('bin/python', pr2['InterpreterPath']) self.assertEqual(pr1['ExecutablePath'], script) self.assertEqual(pr2['ExecutablePath'], script) self.assertEqual(pr1.crash_signature(), pr2.crash_signature()) def test_no_argv(self): '''with zapped sys.argv.''' self._test_crash('import sys\nsys.argv = None') # did we get a report? reports = apport.fileutils.get_new_reports() pr = None self.assertEqual(len(reports), 1, 'crashed Python program produced a report') self.assertEqual(stat.S_IMODE(os.stat(reports[0]).st_mode), 0o640, 'report has correct permissions') pr = apport.report.Report() with open(reports[0], 'rb') as f: pr.load(f) # check report contents expected_keys = ['InterpreterPath', 'Traceback', 'ProblemType', 'ProcEnviron', 'ProcStatus', 'ProcCmdline', 'Date', 'ExecutablePath', 'ProcMaps', 'UserGroups'] self.assertTrue(set(expected_keys).issubset(set(pr.keys())), 'report has necessary fields') self.assertIn('bin/python', pr['InterpreterPath']) # we have no actual executable, so we should fall back to the # interpreter self.assertEqual(pr['ExecutablePath'], pr['InterpreterPath']) if 'ExecutableTimestamp' in pr: self.assertEqual(pr['ExecutableTimestamp'], str(int(os.stat(pr['ExecutablePath']).st_mtime))) self.assertTrue(pr['Traceback'].startswith('Traceback')) def test_python_env(self): '''Python environmental variables appear in report''' self._test_crash() # did we get a report? reports = apport.fileutils.get_new_reports() pr = None self.assertEqual(len(reports), 1, 'crashed Python program produced a report') pr = apport.report.Report() with open(reports[0], 'rb') as f: pr.load(f) # check report contents self.assertIn('PYTHONPATH', pr['ProcEnviron']) self.assertIn('/my/bogus/path', pr['ProcEnviron']) def _assert_no_reports(self): '''Assert that there are no crash reports.''' reports = apport.fileutils.get_new_reports() self.assertEqual(len(reports), 0, 'no crash reports present (cwd: %s)' % os.getcwd()) def test_interactive(self): '''interactive Python sessions never generate a report.''' orig_cwd = os.getcwd() try: for d in ('/tmp', '/usr/local', '/usr'): os.chdir(d) p = subprocess.Popen(['python'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) (out, err) = p.communicate(b'raise ValueError') out = out.decode() err = err.decode() assert p.returncode != 0 assert out == '' assert 'ValueError' in err self._assert_no_reports() finally: os.chdir(orig_cwd) def test_ignoring(self): '''the Python crash hook respects the ignore list.''' # put the script into /var/crash, since that isn't ignored in the # hook (fd, script) = tempfile.mkstemp(dir=apport.fileutils.report_dir) orig_home = os.getenv('HOME') if orig_home is not None: del os.environ['HOME'] ifpath = os.path.expanduser(apport.report._ignore_file) orig_ignore_file = None if orig_home is not None: os.environ['HOME'] = orig_home try: os.write(fd, ('''#!/usr/bin/env %s import apport_python_hook apport_python_hook.install() def func(x): raise Exception('This should happen.') func(42) ''' % os.getenv('PYTHON', 'python3')).encode('ascii')) os.close(fd) os.chmod(script, 0o755) # move aside current ignore file if os.path.exists(ifpath): orig_ignore_file = ifpath + '.apporttest' os.rename(ifpath, orig_ignore_file) # ignore r = apport.report.Report() r['ExecutablePath'] = script r.mark_ignore() r = None p = subprocess.Popen([script, 'testarg1', 'testarg2'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) err = p.communicate()[1].decode() self.assertEqual(p.returncode, 1, 'crashing test python program exits with failure code') self.assertIn('Exception: This should happen.', err) finally: os.unlink(script) # clean up our ignore file if os.path.exists(ifpath): os.unlink(ifpath) if orig_ignore_file: os.rename(orig_ignore_file, ifpath) # did we get a report? reports = apport.fileutils.get_new_reports() self.assertEqual(len(reports), 0) def test_no_flooding(self): '''limit successive reports''' count = 0 limit = 5 try: while count < limit: self._test_crash(scriptname='/var/tmp/pytestcrash') reports = apport.fileutils.get_new_reports() if not reports: break self.assertEqual(len(reports), 1, 'crashed Python program produced one report') apport.fileutils.mark_report_seen(reports[0]) count += 1 finally: os.unlink('/var/tmp/pytestcrash') self.assertGreater(count, 1) self.assertLess(count, limit) def test_dbus_service_unknown_invalid(self): '''DBus.Error.ServiceUnknown with an invalid name''' self._test_crash(extracode='''import dbus obj = dbus.SessionBus().get_object('com.example.NotExisting', '/Foo') ''') pr = self._load_report() self.assertTrue(pr['Traceback'].startswith('Traceback'), pr['Traceback']) self.assertIn('org.freedesktop.DBus.Error.ServiceUnknown', pr['Traceback']) self.assertEqual(pr['DbusErrorAnalysis'], 'no service file providing com.example.NotExisting') def test_dbus_service_unknown_wrongbus_notrunning(self): '''DBus.Error.ServiceUnknown with a valid name on a different bus (not running)''' subprocess.call(['killall', 'gvfsd-metadata']) self._test_crash(extracode='''import dbus obj = dbus.SystemBus().get_object('org.gtk.vfs.Metadata', '/org/gtk/vfs/metadata') ''') pr = self._load_report() self.assertIn('org.freedesktop.DBus.Error.ServiceUnknown', pr['Traceback']) self.assertRegex(pr['DbusErrorAnalysis'], '^provided by .*/dbus-1/services.*vfs.*[mM]etadata.service') self.assertIn('gvfsd-metadata is not running', pr['DbusErrorAnalysis']) def test_dbus_service_unknown_wrongbus_running(self): '''DBus.Error.ServiceUnknown with a valid name on a different bus (running)''' self._test_crash(extracode='''import dbus # let the service be activated, to ensure it is running obj = dbus.SessionBus().get_object('org.gtk.vfs.Metadata', '/org/gtk/vfs/metadata') assert obj obj = dbus.SystemBus().get_object('org.gtk.vfs.Metadata', '/org/gtk/vfs/metadata') ''') pr = self._load_report() self.assertIn('org.freedesktop.DBus.Error.ServiceUnknown', pr['Traceback']) self.assertRegex(pr['DbusErrorAnalysis'], '^provided by .*/dbus-1/services.*vfs.*[mM]etadata.service') self.assertIn('gvfsd-metadata is running', pr['DbusErrorAnalysis']) def test_dbus_service_timeout_running(self): '''DBus.Error.NoReply with a running service''' # ensure the service is running metadata_obj = dbus.SessionBus().get_object('org.gtk.vfs.Metadata', '/org/gtk/vfs/metadata') self.assertNotEqual(metadata_obj, None) # timeout of zero will always fail with NoReply try: subprocess.call(['killall', '-STOP', 'gvfsd-metadata']) self._test_crash(extracode='''import dbus obj = dbus.SessionBus().get_object('org.gtk.vfs.Metadata', '/org/gtk/vfs/metadata') assert obj i = dbus.Interface(obj, 'org.freedesktop.DBus.Peer') i.Ping(timeout=1) ''') finally: subprocess.call(['killall', '-CONT', 'gvfsd-metadata']) # check report contents reports = apport.fileutils.get_new_reports() self.assertEqual(len(reports), 0, 'NoReply is an useless exception and should not create a report') # This is disabled for now as we cannot get the bus name from the NoReply exception # pr = self._load_report() # self.assertTrue('org.freedesktop.DBus.Error.NoReply' in pr['Traceback'], pr['Traceback']) # self.assertTrue(pr['DbusErrorAnalysis'].startswith('provided by /usr/share/dbus-1/services/gvfs-metadata.service'), # pr['DbusErrorAnalysis']) # self.assertTrue('gvfsd-metadata is running' in pr['DbusErrorAnalysis'], pr['DbusErrorAnalysis']) # This is disabled for now as we cannot get the bus name from the NoReply exception # def test_dbus_service_timeout_notrunning(self): # '''DBus.Error.NoReply with a crashing method''' # # # run our own mock service with a crashing method # subprocess.call(['killall', 'gvfsd-metadata']) # service = subprocess.Popen([os.getenv('PYTHON', 'python3')], # stdin=subprocess.PIPE, # universal_newlines=True) # service.stdin.write('''import os # import dbus, dbus.service, dbus.mainloop.glib # from gi.repository import GLib # # class MockMetadata(dbus.service.Object): # @dbus.service.method('com.ubuntu.Test', in_signature='', out_signature='i') # def Crash(self): # os.kill(os.getpid(), 5) # # dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) # dbus_name = dbus.service.BusName('org.gtk.vfs.Metadata', dbus.SessionBus()) # svr = MockMetadata(bus_name=dbus_name, object_path='/org/gtk/vfs/metadata') # GLib.MainLoop().run() # ''') # service.stdin.close() # self.addCleanup(service.terminate) # time.sleep(0.5) # # self._test_crash(extracode='''import dbus # obj = dbus.SessionBus().get_object('org.gtk.vfs.Metadata', '/org/gtk/vfs/metadata') # assert obj # dbus.Interface(obj, 'com.ubuntu.Test').Crash() # ''') # # pr = self._load_report() # self.assertTrue('org.freedesktop.DBus.Error.NoReply' in pr['Traceback'], pr['Traceback']) # self.assertTrue(pr['DbusErrorAnalysis'].startswith('provided by /usr/share/dbus-1/services/gvfs-metadata.service'), # pr['DbusErrorAnalysis']) # self.assertTrue('gvfsd-metadata is not running' in pr['DbusErrorAnalysis'], pr['DbusErrorAnalysis']) def test_dbus_service_other_error(self): '''Other DBusExceptions get an unwrapped original exception''' self._test_crash(extracode='''import dbus obj = dbus.SessionBus().get_object('org.gtk.vfs.Daemon', '/org/gtk/vfs/Daemon') dbus.Interface(obj, 'org.gtk.vfs.Daemon').Nonexisting(1) ''') pr = self._load_report() self.assertTrue(pr['Traceback'].startswith('Traceback'), pr['Traceback']) self.assertIn('org.freedesktop.DBus.Error.UnknownMethod', pr['Traceback']) self.assertNotIn('DbusErrorAnalysis', pr) # we expect it to unwrap the actual exception from the DBusException self.assertIn('dbus.exceptions.DBusException(org.freedesktop.DBus.Error.UnknownMethod):', pr.crash_signature()) def test_generic_os_error(self): '''OSError with errno and no known subclass''' self._test_crash(extracode='''def g(): raise OSError(99, 'something bad') g()''') pr = self._load_report() # we expect it to append errno exe = pr['ExecutablePath'] self.assertEqual(pr.crash_signature(), '%s:OSError(99):%s@11:g' % (exe, exe)) def test_generic_os_error_no_errno(self): '''OSError without errno and no known subclass''' self._test_crash(extracode='''def g(): raise OSError('something bad') g()''') pr = self._load_report() # we expect it to not stumble over the missing errno exe = pr['ExecutablePath'] self.assertEqual(pr.crash_signature(), '%s:OSError:%s@11:g' % (exe, exe)) def test_subclassed_os_error(self): '''OSError with known subclass''' self._test_crash(extracode='''def g(): raise OSError(2, 'no such file /notexisting') g()''') pr = self._load_report() # we expect it to not append errno, as it's already encoded in the subclass exe = pr['ExecutablePath'] self.assertEqual(pr.crash_signature(), '%s:FileNotFoundError:%s@11:g' % (exe, exe)) def _load_report(self): '''Ensure that there is exactly one crash report and load it''' reports = apport.fileutils.get_new_reports() self.assertEqual(len(reports), 1, 'crashed Python program produced a report') pr = apport.Report() with open(reports[0], 'rb') as f: pr.load(f) return pr unittest.main() �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/test/test_recoverable_problem.py������������������������������������������������������0000644�0000000�0000000�00000006462�12677230222�017643� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'''Test recoverable_problem''' # Copyright (C) 2012 Canonical Ltd. # Author: Evan Dandrea <ev@ubuntu.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import unittest import sys import os import subprocess import tempfile import time import shutil import apport.report class T(unittest.TestCase): def setUp(self): self.report_dir = tempfile.mkdtemp() self.addCleanup(shutil.rmtree, self.report_dir) os.environ['APPORT_REPORT_DIR'] = self.report_dir self.datadir = os.environ.get('APPORT_DATA_DIR', '/usr/share/apport') def wait_for_report(self): base = os.path.abspath(sys.argv[0]).replace('/', '_') path = os.path.join(self.report_dir, '%s.%d.crash' % (base, os.getuid())) seconds = 0 while not os.path.exists(path): time.sleep(1) seconds += 1 self.assertTrue(seconds < 10, 'timeout while waiting for %s to be created.' % path) return path def call_recoverable_problem(self, data): cmd = ['%s/recoverable_problem' % self.datadir] proc = subprocess.Popen(cmd, stdin=subprocess.PIPE, stderr=subprocess.PIPE) err = proc.communicate(data.encode('UTF-8'))[1] if proc.returncode != 0: self.assertNotEqual(err, b'') # we expect some error message raise subprocess.CalledProcessError(proc.returncode, cmd[0]) self.assertEqual(err, b'') def test_recoverable_problem(self): '''recoverable_problem with valid data''' self.call_recoverable_problem('hello\0there') path = self.wait_for_report() with open(path, 'rb') as report_path: report = apport.report.Report() report.load(report_path) self.assertEqual(report['hello'], 'there') self.assertTrue('Pid:\t%d' % os.getpid() in report['ProcStatus']) def test_recoverable_problem_dupe_sig(self): '''recoverable_problem duplicate signature includes ExecutablePath''' self.call_recoverable_problem('Package\0test\0DuplicateSignature\0ds') path = self.wait_for_report() with open(path, 'rb') as report_path: report = apport.report.Report() report.load(report_path) exec_path = report.get('ExecutablePath') self.assertEqual(report['DuplicateSignature'], '%s:ds' % (exec_path)) self.assertTrue('Pid:\t%d' % os.getpid() in report['ProcStatus']) def test_invalid_data(self): '''recoverable_problem with invalid data''' self.assertRaises(subprocess.CalledProcessError, self.call_recoverable_problem, 'hello') self.assertRaises(subprocess.CalledProcessError, self.call_recoverable_problem, 'hello\0there\0extraneous') self.assertRaises(subprocess.CalledProcessError, self.call_recoverable_problem, 'hello\0\0there') unittest.main() ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/test/test_report.py�������������������������������������������������������������������0000644�0000000�0000000�00000275323�12677230222�015151� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# coding: UTF-8 import unittest, shutil, time, tempfile, os, subprocess, grp, atexit, sys try: from cStringIO import StringIO StringIO # pyflakes except ImportError: from io import StringIO import apport.report import problem_report import apport.packaging have_twistd = subprocess.call(['which', 'twistd'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) == 0 class T(unittest.TestCase): def test_add_package_info(self): '''add_package_info().''' # determine bash version bashversion = apport.packaging.get_version('bash') pr = apport.report.Report() pr.add_package_info('bash') self.assertEqual(pr['Package'], 'bash ' + bashversion.strip()) self.assertEqual(pr['SourcePackage'], 'bash') self.assertIn('libc', pr['Dependencies']) # test without specifying a package, but with ExecutablePath pr = apport.report.Report() self.assertRaises(KeyError, pr.add_package_info) pr['ExecutablePath'] = '/bin/bash' pr.add_package_info() self.assertEqual(pr['Package'], 'bash ' + bashversion.strip()) self.assertEqual(pr['SourcePackage'], 'bash') self.assertIn('libc', pr['Dependencies']) # check for stray empty lines self.assertNotIn('\n\n', pr['Dependencies']) self.assertIn('PackageArchitecture', pr) pr = apport.report.Report() pr['ExecutablePath'] = '/nonexisting' pr.add_package_info() self.assertNotIn('Package', pr) def test_add_os_info(self): '''add_os_info().''' pr = apport.report.Report() pr.add_os_info() self.assertTrue(pr['Uname'].startswith('Linux')) self.assertTrue(hasattr(pr['DistroRelease'], 'startswith')) self.assertGreater(len(pr['DistroRelease']), 5) self.assertNotEqual(pr['Architecture'], '') # does not overwrite an already existing uname pr['Uname'] = 'foonux 1.2' dr = pr['DistroRelease'] del pr['DistroRelease'] pr.add_os_info() self.assertEqual(pr['Uname'], 'foonux 1.2') self.assertEqual(pr['DistroRelease'], dr) def test_add_user_info(self): '''add_user_info().''' pr = apport.report.Report() pr.add_user_info() self.assertIn('UserGroups', pr) # double-check that user group names are removed for g in pr['UserGroups'].split(): self.assertLess(grp.getgrnam(g).gr_gid, 1000) self.assertNotIn(grp.getgrgid(os.getgid()).gr_name, pr['UserGroups']) def test_add_proc_info(self): '''add_proc_info().''' # check without additional safe environment variables pr = apport.report.Report() self.assertEqual(pr.pid, None) pr.add_proc_info() self.assertEqual(pr.pid, os.getpid()) self.assertTrue(set(['ProcEnviron', 'ProcMaps', 'ProcCmdline', 'ProcMaps']).issubset(set(pr.keys())), 'report has required fields') if 'LANG' in os.environ: self.assertIn('LANG=' + os.environ['LANG'], pr['ProcEnviron']) else: self.assertNotIn('LANG=', pr['ProcEnviron']) self.assertNotIn('USER', pr['ProcEnviron']) self.assertNotIn('PWD', pr['ProcEnviron']) self.assertIn('report.py', pr['ExecutablePath']) self.assertEqual(int(pr['ExecutableTimestamp']), int(os.stat(__file__).st_mtime)) # check with one additional safe environment variable pr = apport.report.Report() pr.add_proc_info(extraenv=['PWD']) self.assertNotIn('USER', pr['ProcEnviron']) if 'PWD' in os.environ: self.assertIn('PWD=' + os.environ['PWD'], pr['ProcEnviron']) # check process from other user restore_root = False if os.getuid() == 0: # temporarily drop to normal user "mail" os.setresuid(8, 8, -1) restore_root = True pr = apport.report.Report() self.assertRaises(OSError, pr.add_proc_info, 1) # EPERM for init process if restore_root: os.setresuid(0, 0, -1) self.assertEqual(pr.pid, 1) self.assertIn('Pid:\t1', pr['ProcStatus']) self.assertTrue(pr['ProcEnviron'].startswith('Error:'), pr['ProcEnviron']) self.assertNotIn('InterpreterPath', pr) # check escaping of ProcCmdline p = subprocess.Popen(['cat', '/foo bar', '\\h', '\\ \\', '-'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) assert p.pid # wait until /proc/pid/cmdline exists while True: with open('/proc/%i/cmdline' % p.pid) as fd: if fd.read(): break time.sleep(0.1) pr = apport.report.Report() pr.add_proc_info(pid=p.pid) self.assertEqual(pr.pid, p.pid) p.communicate(b'\n') self.assertEqual(pr['ProcCmdline'], 'cat /foo\ bar \\\\h \\\\\\ \\\\ -') self.assertEqual(pr['ExecutablePath'], '/bin/cat') self.assertNotIn('InterpreterPath', pr) self.assertIn('/bin/cat', pr['ProcMaps']) self.assertIn('[stack]', pr['ProcMaps']) # check correct handling of executable symlinks assert os.path.islink('/bin/sh'), '/bin/sh needs to be a symlink for this test' p = subprocess.Popen(['sh'], stdin=subprocess.PIPE) assert p.pid # wait until /proc/pid/cmdline exists while True: with open('/proc/%i/cmdline' % p.pid) as fd: if fd.read(): break time.sleep(0.1) pr = apport.report.Report() pr.pid = p.pid pr.add_proc_info() p.communicate(b'exit\n') self.assertFalse('InterpreterPath' in pr, pr.get('InterpreterPath')) self.assertEqual(pr['ExecutablePath'], os.path.realpath('/bin/sh')) self.assertEqual(int(pr['ExecutableTimestamp']), int(os.stat(os.path.realpath('/bin/sh')).st_mtime)) # check correct handling of interpreted executables: shell p = subprocess.Popen(['zgrep', 'foo'], stdin=subprocess.PIPE) assert p.pid # wait until /proc/pid/cmdline exists while True: with open('/proc/%i/cmdline' % p.pid) as fd: if fd.read(): break time.sleep(0.1) pr = apport.report.Report() pr.add_proc_info(pid=p.pid) p.communicate(b'\n') self.assertTrue(pr['ExecutablePath'].endswith('bin/zgrep')) with open(pr['ExecutablePath']) as fd: self.assertEqual(pr['InterpreterPath'], os.path.realpath(fd.readline().strip()[2:])) self.assertEqual(int(pr['ExecutableTimestamp']), int(os.stat(pr['ExecutablePath']).st_mtime)) self.assertIn('[stack]', pr['ProcMaps']) # check correct handling of interpreted executables: python (fd, testscript) = tempfile.mkstemp() os.write(fd, ('''#!/usr/bin/%s import sys sys.stdin.readline() ''' % os.getenv('PYTHON', 'python3')).encode('ascii')) os.close(fd) os.chmod(testscript, 0o755) p = subprocess.Popen([testscript], stdin=subprocess.PIPE, stderr=subprocess.PIPE) assert p.pid # wait until /proc/pid/cmdline exists while True: with open('/proc/%i/cmdline' % p.pid) as fd: if fd.read(): break time.sleep(0.1) pr = apport.report.Report() pr.add_proc_info(pid=p.pid) p.communicate(b'\n') self.assertEqual(pr['ExecutablePath'], testscript) self.assertEqual(int(pr['ExecutableTimestamp']), int(os.stat(testscript).st_mtime)) os.unlink(testscript) self.assertIn('python', pr['InterpreterPath']) self.assertIn('python', pr['ProcMaps']) self.assertIn('[stack]', pr['ProcMaps']) # test process is gone, should complain about nonexisting PID self.assertRaises(ValueError, pr.add_proc_info, p.pid) def test_add_proc_info_nonascii(self): '''add_proc_info() for non-ASCII values''' lang = b'n\xc3\xb6_v\xc3\xb8lid' # one variable from each category (ignored/filtered/shown) p = subprocess.Popen(['cat'], stdin=subprocess.PIPE, env={'MYNAME': b'J\xc3\xbcrgen-Ren\xc3\xa9', 'XDG_RUNTIME_DIR': b'/a\xc3\xafb', 'LANG': lang}) time.sleep(0.1) r = apport.report.Report() r.add_proc_environ(pid=p.pid) p.communicate(b'') self.assertIn(lang, r['ProcEnviron'].encode('UTF-8')) self.assertIn('XDG_RUNTIME_DIR=<set>', r['ProcEnviron']) def test_add_proc_info_current_desktop(self): '''add_proc_info() CurrentDesktop''' p = subprocess.Popen(['cat'], stdin=subprocess.PIPE, env={'LANG': 'xx_YY.UTF-8'}) time.sleep(0.1) r = apport.report.Report() r.add_proc_info(pid=p.pid) p.communicate(b'') self.assertEqual(r['ProcEnviron'], 'LANG=xx_YY.UTF-8') self.assertFalse('CurrentDesktop' in r, r) p = subprocess.Popen(['cat'], stdin=subprocess.PIPE, env={'LANG': 'xx_YY.UTF-8', 'XDG_CURRENT_DESKTOP': 'Pixel Pusher'}) time.sleep(0.1) r = apport.report.Report() r.add_proc_info(pid=p.pid) p.communicate(b'') self.assertEqual(r['ProcEnviron'], 'LANG=xx_YY.UTF-8') self.assertEqual(r['CurrentDesktop'], 'Pixel Pusher') def test_add_path_classification(self): '''classification of $PATH.''' # system default p = subprocess.Popen(['cat'], stdin=subprocess.PIPE, env={'PATH': '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games'}) time.sleep(0.1) r = apport.report.Report() r.add_proc_environ(pid=p.pid) p.communicate(b'') self.assertFalse('PATH' in r['ProcEnviron'], 'system default $PATH should be filtered out') # no user paths p = subprocess.Popen(['cat'], stdin=subprocess.PIPE, env={'PATH': '/usr/sbin:/usr/bin:/sbin:/bin'}) time.sleep(0.1) r = apport.report.Report() r.add_proc_environ(pid=p.pid) p.communicate(b'') self.assertIn('PATH=(custom, no user)', r['ProcEnviron']) # user paths p = subprocess.Popen(['cat'], stdin=subprocess.PIPE, env={'PATH': '/home/pitti:/usr/sbin:/usr/bin:/sbin:/bin'}) time.sleep(0.1) r = apport.report.Report() r.add_proc_environ(pid=p.pid) p.communicate(b'') self.assertIn('PATH=(custom, user)', r['ProcEnviron']) def test_check_interpreted(self): '''_check_interpreted().''' restore_root = False if os.getuid() == 0: # temporarily drop to normal user "mail" os.setresuid(8, 8, -1) restore_root = True try: # standard ELF binary f = tempfile.NamedTemporaryFile() pr = apport.report.Report() pr['ExecutablePath'] = '/usr/bin/gedit' pr['ProcStatus'] = 'Name:\tgedit' pr['ProcCmdline'] = 'gedit\0/' + f.name pr._check_interpreted() self.assertEqual(pr['ExecutablePath'], '/usr/bin/gedit') self.assertFalse('InterpreterPath' in pr) f.close() # bogus argv[0] pr = apport.report.Report() pr['ExecutablePath'] = '/bin/dash' pr['ProcStatus'] = 'Name:\tznonexisting' pr['ProcCmdline'] = 'nonexisting\0/foo' pr._check_interpreted() self.assertEqual(pr['ExecutablePath'], '/bin/dash') self.assertFalse('InterpreterPath' in pr) # standard sh script pr = apport.report.Report() pr['ExecutablePath'] = '/bin/dash' pr['ProcStatus'] = 'Name:\tzgrep' pr['ProcCmdline'] = '/bin/sh\0/bin/zgrep\0foo' pr._check_interpreted() self.assertEqual(pr['ExecutablePath'], '/bin/zgrep') self.assertEqual(pr['InterpreterPath'], '/bin/dash') # standard sh script when being called explicitly with interpreter pr = apport.report.Report() pr['ExecutablePath'] = '/bin/dash' pr['ProcStatus'] = 'Name:\tdash' pr['ProcCmdline'] = '/bin/sh\0/bin/zgrep\0foo' pr._check_interpreted() self.assertEqual(pr['ExecutablePath'], '/bin/zgrep') self.assertEqual(pr['InterpreterPath'], '/bin/dash') # special case mono scheme: beagled-helper (use zgrep to make the test # suite work if mono or beagle are not installed) pr = apport.report.Report() pr['ExecutablePath'] = '/usr/bin/mono' pr['ProcStatus'] = 'Name:\tzgrep' pr['ProcCmdline'] = 'zgrep\0--debug\0/bin/zgrep' pr._check_interpreted() self.assertEqual(pr['ExecutablePath'], '/bin/zgrep') self.assertEqual(pr['InterpreterPath'], '/usr/bin/mono') # special case mono scheme: banshee (use zgrep to make the test # suite work if mono or beagle are not installed) pr = apport.report.Report() pr['ExecutablePath'] = '/usr/bin/mono' pr['ProcStatus'] = 'Name:\tzgrep' pr['ProcCmdline'] = 'zgrep\0/bin/zgrep' pr._check_interpreted() self.assertEqual(pr['ExecutablePath'], '/bin/zgrep') self.assertEqual(pr['InterpreterPath'], '/usr/bin/mono') # fail on files we shouldn't have access to when name!=argv[0] pr = apport.report.Report() pr['ExecutablePath'] = '/usr/bin/python' pr['ProcStatus'] = 'Name:\tznonexisting' pr['ProcCmdline'] = 'python\0/etc/shadow' pr._check_interpreted() self.assertEqual(pr['ExecutablePath'], '/usr/bin/python') self.assertFalse('InterpreterPath' in pr) # succeed on files we should have access to when name!=argv[0] pr = apport.report.Report() pr['ExecutablePath'] = '/usr/bin/python' pr['ProcStatus'] = 'Name:\tznonexisting' pr['ProcCmdline'] = 'python\0/etc/passwd' pr._check_interpreted() self.assertEqual(pr['InterpreterPath'], '/usr/bin/python') self.assertEqual(pr['ExecutablePath'], '/etc/passwd') # fail on files we shouldn't have access to when name==argv[0] pr = apport.report.Report() pr['ExecutablePath'] = '/usr/bin/python' pr['ProcStatus'] = 'Name:\tshadow' pr['ProcCmdline'] = '../etc/shadow' pr._check_interpreted() self.assertEqual(pr['ExecutablePath'], '/usr/bin/python') self.assertFalse('InterpreterPath' in pr) # succeed on files we should have access to when name==argv[0] pr = apport.report.Report() pr['ExecutablePath'] = '/usr/bin/python' pr['ProcStatus'] = 'Name:\tpasswd' pr['ProcCmdline'] = '../etc/passwd' pr._check_interpreted() self.assertEqual(pr['InterpreterPath'], '/usr/bin/python') self.assertEqual(pr['ExecutablePath'], '/bin/../etc/passwd') # interactive python process pr = apport.report.Report() pr['ExecutablePath'] = '/usr/bin/python' pr['ProcStatus'] = 'Name:\tpython' pr['ProcCmdline'] = 'python' pr._check_interpreted() self.assertEqual(pr['ExecutablePath'], '/usr/bin/python') self.assertFalse('InterpreterPath' in pr) # python script (abuse /bin/bash since it must exist) pr = apport.report.Report() pr['ExecutablePath'] = '/usr/bin/python' pr['ProcStatus'] = 'Name:\tbash' pr['ProcCmdline'] = 'python\0/bin/bash' pr._check_interpreted() self.assertEqual(pr['InterpreterPath'], '/usr/bin/python') self.assertEqual(pr['ExecutablePath'], '/bin/bash') # python script with options (abuse /bin/bash since it must exist) pr = apport.report.Report() pr['ExecutablePath'] = '/usr/bin/python' pr['ProcStatus'] = 'Name:\tbash' pr['ProcCmdline'] = 'python\0-OO\0/bin/bash' pr._check_interpreted() self.assertEqual(pr['InterpreterPath'], '/usr/bin/python') self.assertEqual(pr['ExecutablePath'], '/bin/bash') # python script with a versioned interpreter pr = apport.report.Report() pr['ExecutablePath'] = '/usr/bin/python2.7' pr['ProcStatus'] = 'Name:\tbash' pr['ProcCmdline'] = '/usr/bin/python\0/bin/bash' pr._check_interpreted() self.assertEqual(pr['InterpreterPath'], '/usr/bin/python2.7') self.assertEqual(pr['ExecutablePath'], '/bin/bash') # python script through -m pr = apport.report.Report() pr['ExecutablePath'] = '/usr/bin/python2.7' pr['ProcStatus'] = 'Name:\tpython' pr['ProcCmdline'] = 'python\0-tt\0-m\0apport/report\0-v' pr._check_interpreted() self.assertEqual(pr['InterpreterPath'], '/usr/bin/python2.7') self.assertIn('report', pr['ExecutablePath']) # python script through -m, with dot separator; top-level module pr = apport.report.Report() pr['ExecutablePath'] = '/usr/bin/python3' pr['ProcStatus'] = 'Name:\tpython3' pr['ProcCmdline'] = 'python\0-m\0re\0install' pr._check_interpreted() self.assertEqual(pr['InterpreterPath'], '/usr/bin/python3') self.assertIn('re.py', pr['ExecutablePath']) # python script through -m, with dot separator; sub-level module pr = apport.report.Report() pr['ExecutablePath'] = '/usr/bin/python3' pr['ProcStatus'] = 'Name:\tpython3' pr['ProcCmdline'] = 'python\0-m\0distutils.cmd\0foo' pr._check_interpreted() self.assertEqual(pr['InterpreterPath'], '/usr/bin/python3') self.assertIn('distutils/cmd.py', pr['ExecutablePath']) finally: if restore_root: os.setresuid(0, 0, -1) def test_check_interpreted_no_exec(self): '''_check_interpreted() does not run module code''' # python script through -m, with dot separator; top-level module pr = apport.report.Report() pr['ExecutablePath'] = '/usr/bin/python' pr['ProcStatus'] = 'Name:\tpython' pr['ProcCmdline'] = 'python\0-m\0unittest.__main__' orig_argv = sys.argv try: sys.argv = ['/usr/bin/python', '-m', 'unittest.__main__'] pr._check_interpreted() finally: sys.argv = orig_argv self.assertTrue(pr['ExecutablePath'].endswith('unittest/__main__.py'), pr['ExecutablePath']) self.assertEqual(pr['InterpreterPath'], '/usr/bin/python') self.assertNotIn('UnreportableReason', pr) @unittest.skipUnless(have_twistd, 'twisted is not installed') def test_check_interpreted_twistd(self): '''_check_interpreted() for programs ran through twistd''' # LP#761374 pr = apport.report.Report() pr['ExecutablePath'] = '/usr/bin/python2.7' pr['ProcStatus'] = 'Name:\ttwistd' pr['ProcCmdline'] = '/usr/bin/python\0/usr/bin/twistd\0--uid\0root\0--gid\0root\0--pidfile\0/var/run/nanny.pid\0-r\0glib2\0--logfile\0/var/log/nanny.log\0-y\0/usr/share/nanny/daemon/nanny.tap' pr._check_interpreted() self.assertEqual(pr['ExecutablePath'], '/usr/share/nanny/daemon/nanny.tap') self.assertEqual(pr['InterpreterPath'], '/usr/bin/twistd') # LP#625039 pr = apport.report.Report() pr['ExecutablePath'] = '/usr/bin/python2.7' pr['ProcStatus'] = 'Name:\ttwistd' pr['ProcCmdline'] = '/usr/bin/python\0/usr/bin/twistd\0--pidfile=/var/run/apt-p2p//apt-p2p.pid\0--rundir=/var/run/apt-p2p/\0--python=/usr/sbin/apt-p2p\0--logfile=/var/log/apt-p2p.log\0--no_save' pr._check_interpreted() self.assertEqual(pr['ExecutablePath'], '/usr/sbin/apt-p2p') self.assertEqual(pr['InterpreterPath'], '/usr/bin/twistd') # somewhere from LP#755025 pr = apport.report.Report() pr['ExecutablePath'] = '/usr/bin/python2.7' pr['ProcStatus'] = 'Name:\ttwistd' pr['ProcCmdline'] = '/usr/bin/python\0/usr/bin/twistd\0-r\0gtk2\0--pidfile\0/tmp/vmc.pid\0-noy\0/usr/share/vodafone-mobile-connect/gtk-tap.py\0-l\0/dev/null' pr._check_interpreted() self.assertEqual(pr['ExecutablePath'], '/usr/share/vodafone-mobile-connect/gtk-tap.py') self.assertEqual(pr['InterpreterPath'], '/usr/bin/twistd') # LP#725383 -> not practical to determine file here pr = apport.report.Report() pr['ExecutablePath'] = '/usr/bin/python2.7' pr['ProcStatus'] = 'Name:\ttwistd' pr['ProcCmdline'] = '/usr/bin/python\0/usr/bin/twistd\0--pidfile=/var/run/poker-network-server.pid\0--logfile=/var/log/poker-network-server.log\0--no_save\0--reactor=poll\0pokerserver' pr._check_interpreted() self.assertIn('ExecutablePath', pr) self.assertIn('UnreportableReason', pr) self.assertEqual(pr['InterpreterPath'], '/usr/bin/twistd') @classmethod def _generate_sigsegv_report(klass, file=None, signal='11', code=''' int f(int x) { int* p = 0; *p = x; return x+1; } int main() { return f(42); } '''): '''Create a test executable which will die with a SIGSEGV, generate a core dump for it, create a problem report with those two arguments (ExecutablePath and CoreDump) and call add_gdb_info(). If file is given, the report is written into it. Return the apport.report.Report.''' workdir = None orig_cwd = os.getcwd() pr = apport.report.Report() try: workdir = tempfile.mkdtemp() atexit.register(shutil.rmtree, workdir) os.chdir(workdir) # create a test executable with open('crash.c', 'w') as fd: fd.write(code) assert subprocess.call(['gcc', '-g', 'crash.c', '-o', 'crash']) == 0 assert os.path.exists('crash') # call it through gdb and dump core gdb = subprocess.Popen(['gdb', '--batch', '--ex', 'run', '--ex', 'generate-core-file core', './crash'], stdout=subprocess.PIPE) gdb.communicate() klass._validate_core('core') pr['ExecutablePath'] = os.path.join(workdir, 'crash') pr['CoreDump'] = (os.path.join(workdir, 'core'),) pr['Signal'] = signal pr.add_gdb_info() if file: pr.write(file) file.flush() finally: os.chdir(orig_cwd) return pr @classmethod def _validate_core(klass, core_path): subprocess.check_call(['sync']) assert os.path.exists(core_path) readelf = subprocess.Popen(['readelf', '-n', core_path], stdout=subprocess.PIPE) readelf.communicate() assert readelf.returncode == 0 def _validate_gdb_fields(self, pr): self.assertIn('Stacktrace', pr) self.assertIn('ThreadStacktrace', pr) self.assertIn('StacktraceTop', pr) self.assertIn('Registers', pr) self.assertIn('Disassembly', pr) self.assertNotIn('(no debugging symbols found)', pr['Stacktrace']) self.assertNotIn('Core was generated by', pr['Stacktrace']) self.assertNotRegex(pr['Stacktrace'], r'(?s)(^|.*\n)#0 [^\n]+\n#0 ') self.assertIn('#0 0x', pr['Stacktrace']) self.assertIn('#1 0x', pr['Stacktrace']) self.assertIn('#0 0x', pr['ThreadStacktrace']) self.assertIn('#1 0x', pr['ThreadStacktrace']) self.assertIn('Thread 1 (', pr['ThreadStacktrace']) self.assertLessEqual(len(pr['StacktraceTop'].splitlines()), 5) def test_add_gdb_info(self): '''add_gdb_info() with core dump file reference.''' pr = apport.report.Report() # should not throw an exception for missing fields pr.add_gdb_info() # normal crash pr = self._generate_sigsegv_report() self._validate_gdb_fields(pr) self.assertEqual(pr['StacktraceTop'], 'f (x=42) at crash.c:3\nmain () at crash.c:6', pr['StacktraceTop']) self.assertFalse('AssertionMessage' in pr) # crash where gdb generates output on stderr pr = self._generate_sigsegv_report(code=''' int main() { void (*function)(void); function = 0; function(); } ''') self._validate_gdb_fields(pr) self.assertNotEqual(pr['Disassembly'], '') self.assertNotIn('AssertionMessage', pr) def test_add_gdb_info_load(self): '''add_gdb_info() with inline core dump.''' rep = tempfile.NamedTemporaryFile() self._generate_sigsegv_report(rep) rep.seek(0) pr = apport.report.Report() with open(rep.name, 'rb') as f: pr.load(f) pr.add_gdb_info() self._validate_gdb_fields(pr) def test_add_gdb_info_damaged(self): '''add_gdb_info() with damaged core dump''' pr = self._generate_sigsegv_report() del pr['Stacktrace'] del pr['StacktraceTop'] del pr['ThreadStacktrace'] del pr['Disassembly'] # truncate core file os.truncate(pr['CoreDump'][0], 10000) self.assertRaises(IOError, pr.add_gdb_info) self.assertNotIn('Stacktrace', pr) self.assertNotIn('StacktraceTop', pr) self.assertIn('core is truncated', pr['UnreportableReason']) def test_add_zz_parse_segv_details(self): '''parse-segv produces sensible results''' rep = tempfile.NamedTemporaryFile() self._generate_sigsegv_report(rep) rep.seek(0) pr = apport.report.Report() with open(rep.name, 'rb') as f: pr.load(f) pr['Signal'] = '1' pr.add_hooks_info('fake_ui') self.assertNotIn('SegvAnalysis', pr) pr = apport.report.Report() with open(rep.name, 'rb') as f: pr.load(f) pr.add_hooks_info('fake_ui') self.assertIn('Skipped: missing required field "Architecture"', pr['SegvAnalysis']) pr.add_os_info() pr.add_hooks_info('fake_ui') self.assertIn('Skipped: missing required field "ProcMaps"', pr['SegvAnalysis']) pr.add_proc_info() pr.add_hooks_info('fake_ui') self.assertIn('not located in a known VMA region', pr['SegvAnalysis']) def test_add_gdb_info_script(self): '''add_gdb_info() with a script.''' (fd, script) = tempfile.mkstemp() coredump = os.path.join(os.path.dirname(script), 'core') assert not os.path.exists(coredump) try: os.close(fd) # create a test script which produces a core dump for us with open(script, 'w') as fd: fd.write('''#!/bin/bash cd `dirname $0` ulimit -c unlimited kill -SEGV $$ ''') os.chmod(script, 0o755) # call script and verify that it gives us a proper ELF core dump assert subprocess.call([script]) != 0 self._validate_core(coredump) pr = apport.report.Report() pr['InterpreterPath'] = '/bin/bash' pr['ExecutablePath'] = script pr['CoreDump'] = (coredump,) pr.add_gdb_info() finally: os.unlink(coredump) os.unlink(script) self._validate_gdb_fields(pr) self.assertTrue('libc.so' in pr['Stacktrace'] or 'in execute_command' in pr['Stacktrace']) def test_add_gdb_info_abort(self): '''add_gdb_info() with SIGABRT/assert() If these come from an assert(), the report should have the assertion message. Otherwise it should be marked as not reportable. ''' # abort with assert (fd, script) = tempfile.mkstemp() assert not os.path.exists('core') try: os.close(fd) # create a test script which produces a core dump for us with open(script, 'w') as fd: fd.write('''#!/bin/sh gcc -o $0.bin -x c - <<EOF #include <assert.h> int main() { assert(1 < 0); } EOF ulimit -c unlimited $0.bin 2>/dev/null ''') os.chmod(script, 0o755) # call script and verify that it gives us a proper ELF core dump assert subprocess.call([script]) != 0 self._validate_core('core') pr = apport.report.Report() pr['ExecutablePath'] = script + '.bin' pr['CoreDump'] = ('core',) pr.add_gdb_info() finally: os.unlink(script) os.unlink(script + '.bin') os.unlink('core') self._validate_gdb_fields(pr) self.assertIn("<stdin>:2: main: Assertion `1 < 0' failed.", pr['AssertionMessage']) self.assertFalse(pr['AssertionMessage'].startswith('$'), pr['AssertionMessage']) self.assertNotIn('= 0x', pr['AssertionMessage']) self.assertFalse(pr['AssertionMessage'].endswith('\\n'), pr['AssertionMessage']) # abort with internal error (fd, script) = tempfile.mkstemp() assert not os.path.exists('core') try: os.close(fd) # create a test script which produces a core dump for us with open(script, 'w') as fd: fd.write('''#!/bin/sh gcc -O2 -D_FORTIFY_SOURCE=2 -o $0.bin -x c - <<EOF #include <string.h> int main(int argc, char *argv[]) { char buf[8]; strcpy(buf, argv[1]); return 0; } EOF ulimit -c unlimited LIBC_FATAL_STDERR_=1 $0.bin aaaaaaaaaaaaaaaa 2>/dev/null ''') os.chmod(script, 0o755) # call script and verify that it gives us a proper ELF core dump assert subprocess.call([script]) != 0 self._validate_core('core') pr = apport.report.Report() pr['ExecutablePath'] = script + '.bin' pr['CoreDump'] = ('core',) pr.add_gdb_info() finally: os.unlink(script) os.unlink(script + '.bin') os.unlink('core') self._validate_gdb_fields(pr) self.assertIn("** buffer overflow detected ***: %s.bin terminated" % (script), pr['AssertionMessage']) self.assertFalse(pr['AssertionMessage'].startswith('$'), pr['AssertionMessage']) self.assertNotIn('= 0x', pr['AssertionMessage']) self.assertFalse(pr['AssertionMessage'].endswith('\\n'), pr['AssertionMessage']) # abort without assertion (fd, script) = tempfile.mkstemp() assert not os.path.exists('core') try: os.close(fd) # create a test script which produces a core dump for us with open(script, 'w') as fd: fd.write('''#!/bin/sh gcc -o $0.bin -x c - <<EOF #include <stdlib.h> int main() { abort(); } EOF ulimit -c unlimited $0.bin 2>/dev/null ''') os.chmod(script, 0o755) # call script and verify that it gives us a proper ELF core dump assert subprocess.call([script]) != 0 self._validate_core('core') pr = apport.report.Report() pr['ExecutablePath'] = script + '.bin' pr['CoreDump'] = ('core',) pr.add_gdb_info() finally: os.unlink(script) os.unlink(script + '.bin') os.unlink('core') self._validate_gdb_fields(pr) self.assertFalse('AssertionMessage' in pr, pr.get('AssertionMessage')) def test_add_gdb_info_abort_glib(self): '''add_gdb_info() with glib assertion''' (fd, script) = tempfile.mkstemp() assert not os.path.exists('core') try: os.close(fd) # create a test script which produces a core dump for us with open(script, 'w') as fd: fd.write('''#!/bin/sh gcc -o $0.bin -x c - `pkg-config --cflags --libs glib-2.0` <<EOF #include <glib.h> int main() { g_assert_cmpint(1, <, 0); } EOF ulimit -c unlimited $0.bin 2>/dev/null ''') # call script and verify that it gives us a proper ELF core dump assert subprocess.call(['/bin/sh', script]) != 0 self._validate_core('core') pr = apport.report.Report() pr['ExecutablePath'] = script + '.bin' pr['CoreDump'] = ('core',) pr.add_gdb_info() finally: os.unlink(script) os.unlink(script + '.bin') os.unlink('core') self._validate_gdb_fields(pr) self.assertTrue(pr['AssertionMessage'].startswith('ERROR:<stdin>:2:main: assertion failed (1 < 0):'), pr['AssertionMessage']) def test_add_gdb_info_abort_libnih(self): '''add_gdb_info() with libnih assertion''' (fd, script) = tempfile.mkstemp() assert not os.path.exists('core') try: os.close(fd) # create a test script which produces a core dump for us with open(script, 'w') as fd: fd.write('''#!/bin/sh gcc -o $0.bin -x c - `pkg-config --cflags --libs libnih` <<EOF #include <libnih.h> int main() { nih_assert (1 < 0); } EOF ulimit -c unlimited $0.bin 2>/dev/null ''') # call script and verify that it gives us a proper ELF core dump assert subprocess.call(['/bin/sh', script]) != 0 self._validate_core('core') pr = apport.report.Report() pr['ExecutablePath'] = script + '.bin' pr['CoreDump'] = ('core',) pr.add_gdb_info() finally: os.unlink(script) os.unlink(script + '.bin') os.unlink('core') self._validate_gdb_fields(pr) self.assertIn('Assertion failed in main: 1 < 0', pr['AssertionMessage']) def test_search_bug_patterns(self): '''search_bug_patterns().''' patterns = tempfile.NamedTemporaryFile(prefix='apport-') # create some test patterns patterns.write(b'''<?xml version="1.0"?> <patterns> <pattern url="http://bugtracker.net/bugs/1"> <re key="Package">^bash </re> <re key="Foo">ba.*r</re> </pattern> <pattern url="http://bugtracker.net/bugs/2"> <re key="Package">^bash 1-2$</re> <re key="Foo">write_(hello|goodbye)</re> </pattern> <pattern url="http://bugtracker.net/bugs/3"> <re key="Package">^coreutils </re> <re key="Bar">^1$</re> </pattern> <pattern url="http://bugtracker.net/bugs/4"> <re key="Package">^coreutils </re> <re></re> <re key="Bar">*</re> <!-- invalid RE --> <re key="broken">+[1^</re> </pattern> <pattern url="http://bugtracker.net/bugs/5"> <re key="SourcePackage">^bazaar$</re> <re key="LogFile">AssertionError</re> </pattern> <pattern url="http://bugtracker.net/bugs/6"> <re key="Package">^update-notifier</re> <re key="LogFile">AssertionError \xe2\x80\xbd</re> </pattern> </patterns>''') patterns.flush() # invalid XML invalid = tempfile.NamedTemporaryFile(prefix='apport-') invalid.write(b'''<?xml version="1.0"?> </patterns>''') invalid.flush() # create some reports r_bash = apport.report.Report() r_bash['Package'] = 'bash 1-2' r_bash['Foo'] = 'bazaar' r_bazaar = apport.report.Report() r_bazaar['Package'] = 'bazaar 2-1' r_bazaar['SourcePackage'] = 'bazaar' r_bazaar['LogFile'] = 'AssertionError' r_coreutils = apport.report.Report() r_coreutils['Package'] = 'coreutils 1' r_coreutils['Bar'] = '1' r_invalid = apport.report.Report() r_invalid['Package'] = 'invalid 1' r_unicode = apport.report.Report() r_unicode['Package'] = 'update-notifier' r_unicode['LogFile'] = b'AssertionError \xe2\x80\xbd' pattern_url = 'file://' + patterns.name # positive match cases self.assertEqual(r_bash.search_bug_patterns(pattern_url), 'http://bugtracker.net/bugs/1') r_bash['Foo'] = 'write_goodbye' self.assertEqual(r_bash.search_bug_patterns(pattern_url), 'http://bugtracker.net/bugs/2') self.assertEqual(r_coreutils.search_bug_patterns(pattern_url), 'http://bugtracker.net/bugs/3') self.assertEqual(r_bazaar.search_bug_patterns(pattern_url), 'http://bugtracker.net/bugs/5') self.assertEqual(r_unicode.search_bug_patterns(pattern_url), 'http://bugtracker.net/bugs/6') # also works for CompressedValues r_bash_compressed = r_bash.copy() r_bash_compressed['Foo'] = problem_report.CompressedValue(b'bazaar') self.assertEqual(r_bash_compressed.search_bug_patterns(pattern_url), 'http://bugtracker.net/bugs/1') # also works for binary values r_bash_utf8 = r_bash.copy() r_bash_utf8['Foo'] = b'bazaar' self.assertEqual(r_bash_utf8.search_bug_patterns(pattern_url), 'http://bugtracker.net/bugs/1') # negative match cases r_bash['Package'] = 'bash-static 1-2' self.assertEqual(r_bash.search_bug_patterns(pattern_url), None) r_bash['Package'] = 'bash 1-21' self.assertEqual(r_bash.search_bug_patterns(pattern_url), None, 'does not match on wrong bash version') r_bash['Foo'] = 'zz' self.assertEqual(r_bash.search_bug_patterns(pattern_url), None, 'does not match on wrong Foo value') r_bash['Foo'] = b'zz' self.assertEqual(r_bash.search_bug_patterns(pattern_url), None, 'does not match on wrong Foo UTF-8 value') r_bash['Foo'] = b'\x01\xFF' self.assertEqual(r_bash.search_bug_patterns(pattern_url), None, 'does not match on wrong Foo binary value') r_coreutils['Bar'] = '11' self.assertEqual(r_coreutils.search_bug_patterns(pattern_url), None, 'does not match on wrong Bar value') r_bazaar['SourcePackage'] = 'launchpad' self.assertEqual(r_bazaar.search_bug_patterns(pattern_url), None, 'does not match on wrong source package') r_bazaar['LogFile'] = '' self.assertEqual(r_bazaar.search_bug_patterns(pattern_url), None, 'does not match on empty attribute') # various errors to check for robustness (no exceptions, just None # return value) del r_coreutils['Bar'] self.assertEqual(r_coreutils.search_bug_patterns(pattern_url), None, 'does not match on nonexisting key') self.assertEqual(r_invalid.search_bug_patterns('file://' + invalid.name), None, 'gracefully handles invalid XML') r_coreutils['Package'] = 'other 2' self.assertEqual(r_bash.search_bug_patterns('file:///nonexisting/directory/'), None, 'gracefully handles nonexisting base path') # existing host, but no bug patterns self.assertEqual(r_bash.search_bug_patterns('http://security.ubuntu.com/'), None, 'gracefully handles base path without bug patterns') # nonexisting host self.assertEqual(r_bash.search_bug_patterns('http://nonexisting.domain/'), None, 'gracefully handles nonexisting URL domain') def test_add_hooks_info(self): '''add_hooks_info().''' orig_hook_dir = apport.report._hook_dir apport.report._hook_dir = tempfile.mkdtemp() orig_common_hook_dir = apport.report._common_hook_dir apport.report._common_hook_dir = tempfile.mkdtemp() try: with open(os.path.join(apport.report._hook_dir, 'foo.py'), 'w') as fd: fd.write(''' import sys def add_info(report): report['Field1'] = 'Field 1' report['Field2'] = 'Field 2\\nBla' if 'Spethial' in report: raise StopIteration ''') with open(os.path.join(apport.report._common_hook_dir, 'foo1.py'), 'w') as fd: fd.write(''' def add_info(report): report['CommonField1'] = 'CommonField 1' if report['Package'] == 'commonspethial': raise StopIteration ''') with open(os.path.join(apport.report._common_hook_dir, 'foo2.py'), 'w') as fd: fd.write(''' def add_info(report): report['CommonField2'] = 'CommonField 2' ''') with open(os.path.join(apport.report._common_hook_dir, 'foo3.py'), 'w') as fd: fd.write(''' def add_info(report, ui): report['CommonField3'] = str(ui) ''') # should only catch .py files with open(os.path.join(apport.report._common_hook_dir, 'notme'), 'w') as fd: fd.write(''' def add_info(report): report['BadField'] = 'XXX' ''') r = apport.report.Report() r['Package'] = 'bar' # should not throw any exceptions self.assertEqual(r.add_hooks_info('fake_ui'), False) self.assertEqual(set(r.keys()), set(['ProblemType', 'Date', 'Package', 'CommonField1', 'CommonField2', 'CommonField3']), 'report has required fields') r = apport.report.Report() r['Package'] = 'baz 1.2-3' # should not throw any exceptions self.assertEqual(r.add_hooks_info('fake_ui'), False) self.assertEqual(set(r.keys()), set(['ProblemType', 'Date', 'Package', 'CommonField1', 'CommonField2', 'CommonField3']), 'report has required fields') r = apport.report.Report() r['Package'] = 'foo' self.assertEqual(r.add_hooks_info('fake_ui'), False) self.assertEqual(set(r.keys()), set(['ProblemType', 'Date', 'Package', 'Field1', 'Field2', 'CommonField1', 'CommonField2', 'CommonField3']), 'report has required fields') self.assertEqual(r['Field1'], 'Field 1') self.assertEqual(r['Field2'], 'Field 2\nBla') self.assertEqual(r['CommonField1'], 'CommonField 1') self.assertEqual(r['CommonField2'], 'CommonField 2') self.assertEqual(r['CommonField3'], 'fake_ui') r = apport.report.Report() r['Package'] = 'foo 4.5-6' self.assertEqual(r.add_hooks_info('fake_ui'), False) self.assertEqual(set(r.keys()), set(['ProblemType', 'Date', 'Package', 'Field1', 'Field2', 'CommonField1', 'CommonField2', 'CommonField3']), 'report has required fields') self.assertEqual(r['Field1'], 'Field 1') self.assertEqual(r['Field2'], 'Field 2\nBla') self.assertEqual(r['CommonField1'], 'CommonField 1') self.assertEqual(r['CommonField2'], 'CommonField 2') # test hook abort r['Spethial'] = '1' self.assertEqual(r.add_hooks_info('fake_ui'), True) r = apport.report.Report() r['Package'] = 'commonspethial' self.assertEqual(r.add_hooks_info('fake_ui'), True) # source package hook with open(os.path.join(apport.report._hook_dir, 'source_foo.py'), 'w') as fd: fd.write(''' def add_info(report, ui): report['Field1'] = 'Field 1' report['Field2'] = 'Field 2\\nBla' if report['Package'] == 'spethial': raise StopIteration ''') r = apport.report.Report() r['SourcePackage'] = 'foo' r['Package'] = 'libfoo 3' self.assertEqual(r.add_hooks_info('fake_ui'), False) self.assertEqual(set(r.keys()), set(['ProblemType', 'Date', 'Package', 'SourcePackage', 'Field1', 'Field2', 'CommonField1', 'CommonField2', 'CommonField3']), 'report has required fields') self.assertEqual(r['Field1'], 'Field 1') self.assertEqual(r['Field2'], 'Field 2\nBla') self.assertEqual(r['CommonField1'], 'CommonField 1') self.assertEqual(r['CommonField2'], 'CommonField 2') self.assertEqual(r['CommonField3'], 'fake_ui') # test hook abort r['Package'] = 'spethial' self.assertEqual(r.add_hooks_info('fake_ui'), True) finally: shutil.rmtree(apport.report._hook_dir) shutil.rmtree(apport.report._common_hook_dir) apport.report._hook_dir = orig_hook_dir apport.report._common_hook_dir = orig_common_hook_dir def test_add_hooks_info_opt(self): '''add_hooks_info() for a package in /opt''' orig_hook_dir = apport.report._hook_dir apport.report._hook_dir = tempfile.mkdtemp() orig_common_hook_dir = apport.report._common_hook_dir apport.report._common_hook_dir = tempfile.mkdtemp() orig_opt_dir = apport.report._opt_dir apport.report._opt_dir = tempfile.mkdtemp() try: opt_hook_dir = os.path.join(apport.report._opt_dir, 'foolabs.example.com', 'foo', 'share', 'apport', 'package-hooks') os.makedirs(opt_hook_dir) with open(os.path.join(opt_hook_dir, 'source_foo.py'), 'w') as fd: fd.write('''def add_info(report, ui): report['SourceHook'] = '1' ''') with open(os.path.join(opt_hook_dir, 'foo-bin.py'), 'w') as fd: fd.write('''def add_info(report, ui): report['BinHook'] = '1' ''') r = apport.report.Report() r['Package'] = 'foo-bin 0.2' r['SourcePackage'] = 'foo' r['ExecutablePath'] = '%s/foolabs.example.com/foo/bin/frob' % apport.report._opt_dir self.assertEqual(r.add_hooks_info('fake_ui'), False) self.assertEqual(r['SourceHook'], '1') finally: shutil.rmtree(apport.report._opt_dir) shutil.rmtree(apport.report._hook_dir) shutil.rmtree(apport.report._common_hook_dir) apport.report._hook_dir = orig_hook_dir apport.report._common_hook_dir = orig_common_hook_dir apport.report._opt_dir = orig_opt_dir def test_add_hooks_info_errors(self): '''add_hooks_info() with errors in hooks''' orig_hook_dir = apport.report._hook_dir apport.report._hook_dir = tempfile.mkdtemp() orig_common_hook_dir = apport.report._common_hook_dir apport.report._common_hook_dir = tempfile.mkdtemp() orig_stderr = sys.stderr sys.stderr = StringIO() try: with open(os.path.join(apport.report._hook_dir, 'fooprogs.py'), 'w') as fd: fd.write('''def add_info(report, ui): report['BinHookBefore'] = '1' 1/0 report['BinHookAfter'] = '1' ''') with open(os.path.join(apport.report._hook_dir, 'source_foo.py'), 'w') as fd: fd.write('''def add_info(report, ui): report['SourceHookBefore'] = '1' unknown() report['SourceHookAfter'] = '1' ''') r = apport.report.Report() r['Package'] = 'fooprogs 0.2' r['SourcePackage'] = 'foo' r['ExecutablePath'] = '/bin/foo-cli' self.assertEqual(r.add_hooks_info('fake_ui'), False) # should have the data until the crash self.assertEqual(r['BinHookBefore'], '1') self.assertEqual(r['SourceHookBefore'], '1') # should print the exceptions to stderr err = sys.stderr.getvalue() self.assertIn('ZeroDivisionError:', err) self.assertIn("name 'unknown' is not defined", err) # should also add the exceptions to the report self.assertIn('NameError:', r['HookError_source_foo']) self.assertIn('line 3, in add_info', r['HookError_source_foo']) self.assertNotIn('ZeroDivisionError', r['HookError_source_foo']) self.assertIn('ZeroDivisionError:', r['HookError_fooprogs']) self.assertIn('line 3, in add_info', r['HookError_source_foo']) self.assertNotIn('NameError:', r['HookError_fooprogs']) finally: sys.stderr = orig_stderr shutil.rmtree(apport.report._hook_dir) shutil.rmtree(apport.report._common_hook_dir) apport.report._hook_dir = orig_hook_dir apport.report._common_hook_dir = orig_common_hook_dir def test_ignoring(self): '''mark_ignore() and check_ignored().''' orig_ignore_file = apport.report.apport.report._ignore_file workdir = tempfile.mkdtemp() apport.report.apport.report._ignore_file = os.path.join(workdir, 'ignore.xml') try: with open(os.path.join(workdir, 'bash'), 'w') as fd: fd.write('bash') with open(os.path.join(workdir, 'crap'), 'w') as fd: fd.write('crap') bash_rep = apport.report.Report() bash_rep['ExecutablePath'] = os.path.join(workdir, 'bash') crap_rep = apport.report.Report() crap_rep['ExecutablePath'] = os.path.join(workdir, 'crap') # must be able to deal with executables that do not exist any more cp_rep = apport.report.Report() cp_rep['ExecutablePath'] = os.path.join(workdir, 'cp') # no ignores initially self.assertEqual(bash_rep.check_ignored(), False) self.assertEqual(crap_rep.check_ignored(), False) self.assertEqual(cp_rep.check_ignored(), False) # ignore crap now crap_rep.mark_ignore() self.assertEqual(bash_rep.check_ignored(), False) self.assertEqual(crap_rep.check_ignored(), True) self.assertEqual(cp_rep.check_ignored(), False) # ignore bash now bash_rep.mark_ignore() self.assertEqual(bash_rep.check_ignored(), True) self.assertEqual(crap_rep.check_ignored(), True) self.assertEqual(cp_rep.check_ignored(), False) # poke crap so that it has a newer timestamp time.sleep(1) with open(os.path.join(workdir, 'crap'), 'w') as fd: fd.write('crapnew') self.assertEqual(bash_rep.check_ignored(), True) self.assertEqual(crap_rep.check_ignored(), False) self.assertEqual(cp_rep.check_ignored(), False) # do not complain about an empty ignore file with open(apport.report.apport.report._ignore_file, 'w') as fd: fd.write('') self.assertEqual(bash_rep.check_ignored(), False) self.assertEqual(crap_rep.check_ignored(), False) self.assertEqual(cp_rep.check_ignored(), False) # does not crash if the executable went away under our feet crap_rep['ExecutablePath'] = '/non existing' crap_rep.mark_ignore() self.assertEqual(os.path.getsize(apport.report.apport.report._ignore_file), 0) finally: shutil.rmtree(workdir) apport.report.apport.report._ignore_file = orig_ignore_file def test_blacklisting(self): '''check_ignored() for system-wise blacklist.''' orig_blacklist_dir = apport.report._blacklist_dir apport.report._blacklist_dir = tempfile.mkdtemp() orig_ignore_file = apport.report._ignore_file apport.report._ignore_file = '/nonexistant' try: bash_rep = apport.report.Report() bash_rep['ExecutablePath'] = '/bin/bash' crap_rep = apport.report.Report() crap_rep['ExecutablePath'] = '/bin/crap' # no ignores initially self.assertEqual(bash_rep.check_ignored(), False) self.assertEqual(crap_rep.check_ignored(), False) # should not stumble over comments with open(os.path.join(apport.report._blacklist_dir, 'README'), 'w') as fd: fd.write('# Ignore file\n#/bin/bash\n') # no ignores on nonmatching paths with open(os.path.join(apport.report._blacklist_dir, 'bl1'), 'w') as fd: fd.write('/bin/bas\n/bin/bashh\nbash\nbin/bash\n') self.assertEqual(bash_rep.check_ignored(), False) self.assertEqual(crap_rep.check_ignored(), False) # ignore crap now with open(os.path.join(apport.report._blacklist_dir, 'bl_2'), 'w') as fd: fd.write('/bin/crap\n') self.assertEqual(bash_rep.check_ignored(), False) self.assertEqual(crap_rep.check_ignored(), True) # ignore bash now with open(os.path.join(apport.report._blacklist_dir, 'bl1'), 'a') as fd: fd.write('/bin/bash\n') self.assertEqual(bash_rep.check_ignored(), True) self.assertEqual(crap_rep.check_ignored(), True) finally: shutil.rmtree(apport.report._blacklist_dir) apport.report._blacklist_dir = orig_blacklist_dir apport.report._ignore_file = orig_ignore_file def test_whitelisting(self): '''check_ignored() for system-wise whitelist.''' orig_whitelist_dir = apport.report._whitelist_dir apport.report._whitelist_dir = tempfile.mkdtemp() orig_ignore_file = apport.report.apport.report._ignore_file apport.report.apport.report._ignore_file = '/nonexistant' try: bash_rep = apport.report.Report() bash_rep['ExecutablePath'] = '/bin/bash' crap_rep = apport.report.Report() crap_rep['ExecutablePath'] = '/bin/crap' # no ignores without any whitelist self.assertEqual(bash_rep.check_ignored(), False) self.assertEqual(crap_rep.check_ignored(), False) # should not stumble over comments with open(os.path.join(apport.report._whitelist_dir, 'README'), 'w') as fd: fd.write('# Ignore file\n#/bin/bash\n') # accepts matching paths with open(os.path.join(apport.report._whitelist_dir, 'wl1'), 'w') as fd: fd.write('/bin/bash\n') self.assertEqual(bash_rep.check_ignored(), False) self.assertEqual(crap_rep.check_ignored(), True) # also accept crap now with open(os.path.join(apport.report._whitelist_dir, 'wl_2'), 'w') as fd: fd.write('/bin/crap\n') self.assertEqual(bash_rep.check_ignored(), False) self.assertEqual(crap_rep.check_ignored(), False) # only complete matches accepted with open(os.path.join(apport.report._whitelist_dir, 'wl1'), 'w') as fd: fd.write('/bin/bas\n/bin/bashh\nbash\n') self.assertEqual(bash_rep.check_ignored(), True) self.assertEqual(crap_rep.check_ignored(), False) finally: shutil.rmtree(apport.report._whitelist_dir) apport.report._whitelist_dir = orig_whitelist_dir apport.report.apport.report._ignore_file = orig_ignore_file def test_has_useful_stacktrace(self): '''has_useful_stacktrace().''' r = apport.report.Report() self.assertFalse(r.has_useful_stacktrace()) r['StacktraceTop'] = '' self.assertFalse(r.has_useful_stacktrace()) r['StacktraceTop'] = '?? ()' self.assertFalse(r.has_useful_stacktrace()) r['StacktraceTop'] = '?? ()\n?? ()' self.assertFalse(r.has_useful_stacktrace()) r['StacktraceTop'] = 'read () from /lib/libc.6.so\n?? ()' self.assertFalse(r.has_useful_stacktrace()) r['StacktraceTop'] = 'read () from /lib/libc.6.so\n?? ()\n?? ()\n?? ()' self.assertFalse(r.has_useful_stacktrace()) r['StacktraceTop'] = 'read () from /lib/libc.6.so\nfoo (i=1) from /usr/lib/libfoo.so' self.assertTrue(r.has_useful_stacktrace()) r['StacktraceTop'] = 'read () from /lib/libc.6.so\nfoo (i=1) from /usr/lib/libfoo.so\n?? ()' self.assertTrue(r.has_useful_stacktrace()) r['StacktraceTop'] = 'read () from /lib/libc.6.so\nfoo (i=1) from /usr/lib/libfoo.so\n?? ()\n?? ()' self.assertTrue(r.has_useful_stacktrace()) r['StacktraceTop'] = 'read () from /lib/libc.6.so\n?? ()\nfoo (i=1) from /usr/lib/libfoo.so\n?? ()\n?? ()' self.assertFalse(r.has_useful_stacktrace()) def test_standard_title(self): '''standard_title().''' report = apport.report.Report() self.assertEqual(report.standard_title(), None) # named signal crash report['Signal'] = '11' report['ExecutablePath'] = '/bin/bash' report['StacktraceTop'] = '''foo() bar(x=3) baz() ''' self.assertEqual(report.standard_title(), 'bash crashed with SIGSEGV in foo()') # unnamed signal crash report['Signal'] = '42' self.assertEqual(report.standard_title(), 'bash crashed with signal 42 in foo()') # do not crash on empty StacktraceTop report['StacktraceTop'] = '' self.assertEqual(report.standard_title(), 'bash crashed with signal 42') # do not create bug title with unknown function name report['StacktraceTop'] = '??()\nfoo()' self.assertEqual(report.standard_title(), 'bash crashed with signal 42 in foo()') # if we do not know any function name, don't mention ?? report['StacktraceTop'] = '??()\n??()' self.assertEqual(report.standard_title(), 'bash crashed with signal 42') # assertion message report['Signal'] = '6' report['ExecutablePath'] = '/bin/bash' report['AssertionMessage'] = 'foo.c:42 main: i > 0' self.assertEqual(report.standard_title(), 'bash assert failure: foo.c:42 main: i > 0') # Python crash report = apport.report.Report() report['ExecutablePath'] = '/usr/share/apport/apport-gtk' report['Traceback'] = '''Traceback (most recent call last): File "/usr/share/apport/apport-gtk", line 202, in <module> app.run_argv() File "/var/lib/python-support/python2.5/apport/ui.py", line 161, in run_argv self.run_crashes() File "/var/lib/python-support/python2.5/apport/ui.py", line 104, in run_crashes self.run_crash(f) File "/var/lib/python-support/python2.5/apport/ui.py", line 115, in run_crash response = self.ui_present_crash(desktop_entry) File "/usr/share/apport/apport-gtk", line 67, in ui_present_crash subprocess.call(['pgrep', '-x', NameError: global name 'subprocess' is not defined''' self.assertEqual(report.standard_title(), "apport-gtk crashed with NameError in ui_present_crash(): global name 'subprocess' is not defined") # slightly weird Python crash report = apport.report.Report() report['ExecutablePath'] = '/usr/share/apport/apport-gtk' report['Traceback'] = '''TypeError: Cannot create a consistent method resolution order (MRO) for bases GObject, CanvasGroupableIface, CanvasGroupable''' self.assertEqual(report.standard_title(), 'apport-gtk crashed with TypeError: Cannot create a consistent method resolution') # Python crash with custom message report = apport.report.Report() report['ExecutablePath'] = '/usr/share/apport/apport-gtk' report['Traceback'] = '''Traceback (most recent call last): File "/x/foo.py", line 242, in setup_chooser raise "Moo" Mo?o[a-1]''' self.assertEqual(report.standard_title(), 'apport-gtk crashed with Mo?o[a-1] in setup_chooser()') # Python crash with custom message with newlines (LP #190947) report = apport.report.Report() report['ExecutablePath'] = '/usr/share/apport/apport-gtk' report['Traceback'] = '''Traceback (most recent call last): File "/x/foo.py", line 242, in setup_chooser raise "\nKey: "+key+" isn't set.\nRestarting AWN usually solves this issue\n" Key: /apps/avant-window-navigator/app/active_png isn't set. Restarting AWN usually solves this issue''' t = report.standard_title() self.assertTrue(t.startswith('apport-gtk crashed with')) self.assertTrue(t.endswith('setup_chooser()')) # Python crash at top level in module report = apport.report.Report() report['ExecutablePath'] = '/usr/bin/gnome-about' report['Traceback'] = '''Traceback (most recent call last): File "/usr/bin/gnome-about", line 30, in <module> import pygtk File "/usr/lib/pymodules/python2.6/pygtk.py", line 28, in <module> import nonexistent ImportError: No module named nonexistent ''' self.assertEqual(report.standard_title(), "gnome-about crashed with ImportError in /usr/lib/pymodules/python2.6/pygtk.py: No module named nonexistent") # Python crash at top level in main program report = apport.report.Report() report['ExecutablePath'] = '/usr/bin/dcut' report['Traceback'] = '''Traceback (most recent call last): File "/usr/bin/dcut", line 28, in <module> import nonexistent ImportError: No module named nonexistent ''' self.assertEqual(report.standard_title(), "dcut crashed with ImportError in __main__: No module named nonexistent") # package install problem report = apport.report.Report('Package') report['Package'] = 'bash' # no ErrorMessage self.assertEqual(report.standard_title(), 'package bash failed to install/upgrade') # empty ErrorMessage report['ErrorMessage'] = '' self.assertEqual(report.standard_title(), 'package bash failed to install/upgrade') # nonempty ErrorMessage report['ErrorMessage'] = 'botched\nnot found\n' self.assertEqual(report.standard_title(), 'package bash failed to install/upgrade: not found') # matching package/system architectures report['Signal'] = '11' report['ExecutablePath'] = '/bin/bash' report['StacktraceTop'] = '''foo() bar(x=3) baz() ''' report['PackageArchitecture'] = 'amd64' report['Architecture'] = 'amd64' self.assertEqual(report.standard_title(), 'bash crashed with SIGSEGV in foo()') # non-native package (on multiarch) report['PackageArchitecture'] = 'i386' self.assertEqual(report.standard_title(), 'bash crashed with SIGSEGV in foo() [non-native i386 package]') # Arch: all package (matches every system architecture) report['PackageArchitecture'] = 'all' self.assertEqual(report.standard_title(), 'bash crashed with SIGSEGV in foo()') report = apport.report.Report('KernelOops') report['OopsText'] = '------------[ cut here ]------------\nkernel BUG at /tmp/oops.c:5!\ninvalid opcode: 0000 [#1] SMP' self.assertEqual(report.standard_title(), 'kernel BUG at /tmp/oops.c:5!') def test_obsolete_packages(self): '''obsolete_packages().''' report = apport.report.Report() self.assertEqual(report.obsolete_packages(), []) # should work without Dependencies report['Package'] = 'bash 0' self.assertEqual(report.obsolete_packages(), ['bash']) report['Package'] = 'bash 0 [modified: /bin/bash]' self.assertEqual(report.obsolete_packages(), ['bash']) report['Package'] = 'bash ' + apport.packaging.get_available_version('bash') self.assertEqual(report.obsolete_packages(), []) report['Dependencies'] = 'coreutils 0\ncron 0\n' self.assertEqual(report.obsolete_packages(), ['coreutils', 'cron']) report['Dependencies'] = 'coreutils %s [modified: /bin/mount]\ncron 0\n' % \ apport.packaging.get_available_version('coreutils') self.assertEqual(report.obsolete_packages(), ['cron']) report['Dependencies'] = 'coreutils %s\ncron %s\n' % ( apport.packaging.get_available_version('coreutils'), apport.packaging.get_available_version('cron')) self.assertEqual(report.obsolete_packages(), []) def test_gen_stacktrace_top(self): '''_gen_stacktrace_top().''' # nothing to chop off r = apport.report.Report() r['Stacktrace'] = '''#0 0x10000488 in h (p=0x0) at crash.c:25 #1 0x100004c8 in g (x=1, y=42) at crash.c:26 #2 0x10000514 in f (x=1) at crash.c:27 #3 0x10000530 in e (x=1) at crash.c:28 #4 0x10000530 in d (x=1) at crash.c:29 #5 0x10000530 in c (x=1) at crash.c:30 #6 0x10000550 in main () at crash.c:31 ''' r._gen_stacktrace_top() self.assertEqual(r['StacktraceTop'], '''h (p=0x0) at crash.c:25 g (x=1, y=42) at crash.c:26 f (x=1) at crash.c:27 e (x=1) at crash.c:28 d (x=1) at crash.c:29''') # nothing to chop off: some addresses missing (LP #269133) r = apport.report.Report() r['Stacktrace'] = '''#0 h (p=0x0) at crash.c:25 #1 0x100004c8 in g (x=1, y=42) at crash.c:26 #2 f (x=1) at crash.c:27 #3 0x10000530 in e (x=1) at crash.c:28 #4 0x10000530 in d (x=1) at crash.c:29 #5 0x10000530 in c (x=1) at crash.c:30 #6 0x10000550 in main () at crash.c:31 ''' r._gen_stacktrace_top() self.assertEqual(r['StacktraceTop'], '''h (p=0x0) at crash.c:25 g (x=1, y=42) at crash.c:26 f (x=1) at crash.c:27 e (x=1) at crash.c:28 d (x=1) at crash.c:29''') # single signal handler invocation r = apport.report.Report() r['Stacktrace'] = '''#0 0x10000488 in raise () from /lib/libpthread.so.0 #1 0x100004c8 in ?? #2 <signal handler called> #3 0x10000530 in e (x=1) at crash.c:28 #4 0x10000530 in d (x=1) at crash.c:29 #5 0x10000530 in c (x=1) at crash.c:30 #6 0x10000550 in main () at crash.c:31 ''' r._gen_stacktrace_top() self.assertEqual(r['StacktraceTop'], '''e (x=1) at crash.c:28 d (x=1) at crash.c:29 c (x=1) at crash.c:30 main () at crash.c:31''') # single signal handler invocation: some addresses missing r = apport.report.Report() r['Stacktrace'] = '''#0 0x10000488 in raise () from /lib/libpthread.so.0 #1 ?? #2 <signal handler called> #3 0x10000530 in e (x=1) at crash.c:28 #4 d (x=1) at crash.c:29 #5 0x10000530 in c (x=1) at crash.c:30 #6 0x10000550 in main () at crash.c:31 ''' r._gen_stacktrace_top() self.assertEqual(r['StacktraceTop'], '''e (x=1) at crash.c:28 d (x=1) at crash.c:29 c (x=1) at crash.c:30 main () at crash.c:31''') # stacked signal handler; should only cut the first one r = apport.report.Report() r['Stacktrace'] = '''#0 0x10000488 in raise () from /lib/libpthread.so.0 #1 0x100004c8 in ?? #2 <signal handler called> #3 0x10000530 in e (x=1) at crash.c:28 #4 0x10000530 in d (x=1) at crash.c:29 #5 0x10000123 in raise () from /lib/libpthread.so.0 #6 <signal handler called> #7 0x10000530 in c (x=1) at crash.c:30 #8 0x10000550 in main () at crash.c:31 ''' r._gen_stacktrace_top() self.assertEqual(r['StacktraceTop'], '''e (x=1) at crash.c:28 d (x=1) at crash.c:29 raise () from /lib/libpthread.so.0 <signal handler called> c (x=1) at crash.c:30''') # Gnome assertion; should unwind the logs and assert call r = apport.report.Report() r['Stacktrace'] = '''#0 0xb7d39cab in IA__g_logv (log_domain=<value optimized out>, log_level=G_LOG_LEVEL_ERROR, format=0xb7d825f0 "file %s: line %d (%s): assertion failed: (%s)", args1=0xbfee8e3c "xxx") at /build/buildd/glib2.0-2.13.5/glib/gmessages.c:493 #1 0xb7d39f29 in IA__g_log (log_domain=0xb7edbfd0 "libgnomevfs", log_level=G_LOG_LEVEL_ERROR, format=0xb7d825f0 "file %s: line %d (%s): assertion failed: (%s)") at /build/buildd/glib2.0-2.13.5/glib/gmessages.c:517 #2 0xb7d39fa6 in IA__g_assert_warning (log_domain=0xb7edbfd0 "libgnomevfs", file=0xb7ee1a26 "gnome-vfs-volume.c", line=254, pretty_function=0xb7ee1920 "gnome_vfs_volume_unset_drive_private", expression=0xb7ee1a39 "volume->priv->drive == drive") at /build/buildd/glib2.0-2.13.5/glib/gmessages.c:552 No locals. #3 0xb7ec6c11 in gnome_vfs_volume_unset_drive_private (volume=0x8081a30, drive=0x8078f00) at gnome-vfs-volume.c:254 __PRETTY_FUNCTION__ = "gnome_vfs_volume_unset_drive_private" #4 0x08054db8 in _gnome_vfs_volume_monitor_disconnected (volume_monitor=0x8070400, drive=0x8078f00) at gnome-vfs-volume-monitor.c:963 vol_list = (GList *) 0x8096d30 current_vol = (GList *) 0x8097470 #5 0x0805951e in _hal_device_removed (hal_ctx=0x8074da8, udi=0x8093be4 "/org/freedesktop/Hal/devices/volume_uuid_92FC9DFBFC9DDA35") at gnome-vfs-hal-mounts.c:1316 backing_udi = <value optimized out> #6 0xb7ef1ead in filter_func (connection=0x8075288, message=0x80768d8, user_data=0x8074da8) at libhal.c:820 udi = <value optimized out> object_path = 0x8076d40 "/org/freedesktop/Hal/Manager" error = {name = 0x0, message = 0x0, dummy1 = 1, dummy2 = 0, dummy3 = 0, dummy4 = 1, dummy5 = 0, padding1 = 0xb7e50c00} #7 0xb7e071d2 in dbus_connection_dispatch (connection=0x8075288) at dbus-connection.c:4267 #8 0xb7e33dfd in ?? () from /usr/lib/libdbus-glib-1.so.2''' r._gen_stacktrace_top() self.assertEqual(r['StacktraceTop'], '''gnome_vfs_volume_unset_drive_private (volume=0x8081a30, drive=0x8078f00) at gnome-vfs-volume.c:254 _gnome_vfs_volume_monitor_disconnected (volume_monitor=0x8070400, drive=0x8078f00) at gnome-vfs-volume-monitor.c:963 _hal_device_removed (hal_ctx=0x8074da8, udi=0x8093be4 "/org/freedesktop/Hal/devices/volume_uuid_92FC9DFBFC9DDA35") filter_func (connection=0x8075288, message=0x80768d8, user_data=0x8074da8) at libhal.c:820 dbus_connection_dispatch (connection=0x8075288) at dbus-connection.c:4267''') # XError (taken from LP#848808) r = apport.report.Report() r['Stacktrace'] = '''#0 0x007cf416 in __kernel_vsyscall () No symbol table info available. #1 0x01017c8f in __GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64 #2 0x0101b2b5 in __GI_abort () at abort.c:92 #3 0x0807daab in meta_bug (format=0x80b0c60 "Unexpected X error: %s serial %ld error_code %d request_code %d minor_code %d)\n") at core/util.c:398 #4 0x0806989c in x_error_handler (error=0xbf924acc, xdisplay=0x9104b88) at core/errors.c:247 #5 x_error_handler (xdisplay=0x9104b88, error=0xbf924acc) at core/errors.c:203 #6 0x00e97d3b in _XError (dpy=0x9104b88, rep=0x9131840) at ../../src/XlibInt.c:1583 #7 0x00e9490d in handle_error (dpy=0x9104b88, err=0x9131840, in_XReply=0) at ../../src/xcb_io.c:212 #8 0x00e94967 in handle_response (dpy=0x9104b88, response=0x9131840, in_XReply=0) at ../../src/xcb_io.c:324 #9 0x00e952fe in _XReadEvents (dpy=0x9104b88) at ../../src/xcb_io.c:425 #10 0x00e93663 in XWindowEvent (dpy=0x9104b88, w=16777220, mask=4194304, event=0xbf924c6c) at ../../src/WinEvent.c:79 #11 0x0806071c in meta_display_get_current_time_roundtrip (display=0x916d7d0) at core/display.c:1217 #12 0x08089f64 in meta_window_show (window=0x91ccfc8) at core/window.c:2165 #13 implement_showing (window=0x91ccfc8, showing=1) at core/window.c:1583 #14 0x080879cc in meta_window_flush_calc_showing (window=0x91ccfc8) at core/window.c:1806''' r._gen_stacktrace_top() self.assertEqual(r['StacktraceTop'], '''meta_display_get_current_time_roundtrip (display=0x916d7d0) at core/display.c:1217 meta_window_show (window=0x91ccfc8) at core/window.c:2165 implement_showing (window=0x91ccfc8, showing=1) at core/window.c:1583 meta_window_flush_calc_showing (window=0x91ccfc8) at core/window.c:1806''') # another XError (taken from LP#834403) r = apport.report.Report() r['Stacktrace'] = '''#0 g_logv (log_domain=0x7fd41db08a46 "Gdk", log_level=<optimized out>, format=0x7fd41db12e87 "%s", args1=0x7fff50bf0c18) at /build/buildd/glib2.0-2.29.16/./glib/gmessages.c:577 #1 0x00007fd42006bb92 in g_log (log_domain=<optimized out>, log_level=<optimized out>, format=<optimized out>) at /build/buildd/glib2.0-2.29.16/./glib/gmessages.c:591 #2 0x00007fd41dae86f3 in _gdk_x11_display_error_event (display=<optimized out>, error=<optimized out>) at /build/buildd/gtk+3.0-3.1.12/./gdk/x11/gdkdisplay-x11.c:2374 #3 0x00007fd41daf5647 in gdk_x_error (error=0x7fff50bf0dc0, xdisplay=<optimized out>) at /build/buildd/gtk+3.0-3.1.12/./gdk/x11/gdkmain-x11.c:312 #4 gdk_x_error (xdisplay=<optimized out>, error=0x7fff50bf0dc0) at /build/buildd/gtk+3.0-3.1.12/./gdk/x11/gdkmain-x11.c:275 #5 0x00007fd41d5a301f in _XError (dpy=0x2425370, rep=<optimized out>) at ../../src/XlibInt.c:1583 #6 0x00007fd41d59fdd1 in handle_error (dpy=0x2425370, err=0x7fd408707980, in_XReply=<optimized out>) at ../../src/xcb_io.c:212 #7 0x00007fd41d5a0d27 in _XReply (dpy=0x2425370, rep=0x7fff50bf0f60, extra=0, discard=0) at ../../src/xcb_io.c:698 #8 0x00007fd41d5852fb in XGetWindowProperty (dpy=0x2425370, w=0, property=348, offset=0, length=2, delete=<optimized out>, req_type=348, actual_type=0x7fff50bf1038, actual_format=0x7fff50bf105c, nitems=0x7fff50bf1040, bytesafter=0x7fff50bf1048, prop=0x7fff50bf1050) at ../../src/GetProp.c:61 #9 0x00007fd41938269e in window_is_xembed (w=<optimized out>, d=<optimized out>) at canberra-gtk-module.c:373 #10 dispatch_sound_event (d=0x32f6a30) at canberra-gtk-module.c:454 #11 dispatch_queue () at canberra-gtk-module.c:815''' r._gen_stacktrace_top() self.assertEqual(r['StacktraceTop'], '''XGetWindowProperty (dpy=0x2425370, w=0, property=348, offset=0, length=2, delete=<optimized out>, req_type=348, actual_type=0x7fff50bf1038, actual_format=0x7fff50bf105c, nitems=0x7fff50bf1040, bytesafter=0x7fff50bf1048, prop=0x7fff50bf1050) at ../../src/GetProp.c:61 window_is_xembed (w=<optimized out>, d=<optimized out>) at canberra-gtk-module.c:373 dispatch_sound_event (d=0x32f6a30) at canberra-gtk-module.c:454 dispatch_queue () at canberra-gtk-module.c:815''') # problem with too old gdb, only assertion, nothing else r = apport.report.Report() r['Stacktrace'] = '''#0 0x00987416 in __kernel_vsyscall () No symbol table info available. #1 0x00ebecb1 in *__GI_raise (sig=6) selftid = 945 #2 0x00ec218e in *__GI_abort () at abort.c:59 save_stage = Unhandled dwarf expression opcode 0x9f ''' r._gen_stacktrace_top() self.assertEqual(r['StacktraceTop'], '') # ignore uninteresting frames r = apport.report.Report() r['Stacktrace'] = '''#0 0x00987416 in __kernel_vsyscall () #1 __strchr_sse42 () at strchr.S:97 #2 h (p=0x0) at crash.c:25 #3 0x100004c8 in g (x=1, y=42) at crash.c:26 #4 0x10000999 in __memmove_ssse3 () #5 f (x=1) at crash.c:27 #6 0x10000530 in e (x=1) at crash.c:28 #7 0x10000999 in __strlen_sse2_back () at strchr.S:42 #8 0x10000530 in d (x=1) at crash.c:29 #9 0x10000530 in c (x=1) at crash.c:30 #10 0x10000550 in main () at crash.c:31 ''' r._gen_stacktrace_top() self.assertEqual(r['StacktraceTop'], '''h (p=0x0) at crash.c:25 g (x=1, y=42) at crash.c:26 f (x=1) at crash.c:27 e (x=1) at crash.c:28 d (x=1) at crash.c:29''') def test_crash_signature(self): '''crash_signature().''' r = apport.report.Report() self.assertEqual(r.crash_signature(), None) # signal crashes r['Signal'] = '42' r['ExecutablePath'] = '/bin/crash' r['StacktraceTop'] = '''foo_bar (x=1) at crash.c:28 d01 (x=1) at crash.c:29 raise () from /lib/libpthread.so.0 <signal handler called> __frob::~frob (x=1) at crash.c:30''' self.assertEqual(r.crash_signature(), '/bin/crash:42:foo_bar:d01:raise:<signal handler called>:__frob::~frob') r['StacktraceTop'] = '''foo_bar (x=1) at crash.c:28 ?? raise () from /lib/libpthread.so.0 <signal handler called> __frob (x=1) at crash.c:30''' self.assertEqual(r.crash_signature(), None) r['StacktraceTop'] = '' self.assertEqual(r.crash_signature(), None) # Python crashes del r['Signal'] r['Traceback'] = '''Traceback (most recent call last): File "test.py", line 7, in <module> print(_f(5)) File "test.py", line 5, in _f return g_foo00(x+1) File "test.py", line 2, in g_foo00 return x/0 ZeroDivisionError: integer division or modulo by zero''' self.assertEqual(r.crash_signature(), '/bin/crash:ZeroDivisionError:test.py@7:_f:g_foo00') # sometimes Python traces do not have file references r['Traceback'] = 'TypeError: function takes exactly 0 arguments (1 given)' self.assertEqual(r.crash_signature(), '/bin/crash:TypeError') r['Traceback'] = 'FooBar' self.assertEqual(r.crash_signature(), None) # kernel r['ProblemType'] = 'KernelCrash' r['Stacktrace'] = ''' crash 4.0-8.9 GNU gdb 6.1 GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i686-pc-linux-gnu"... KERNEL: /usr/lib/debug/boot/vmlinux-2.6.31-2-generic DUMPFILE: /tmp/tmpRJZy_O CPUS: 1 DATE: Thu Jul 9 12:58:08 2009 UPTIME: 00:00:57 LOAD AVERAGE: 0.15, 0.05, 0.02 TASKS: 173 NODENAME: egon-desktop RELEASE: 2.6.31-2-generic VERSION: #16-Ubuntu SMP Mon Jul 6 20:38:51 UTC 2009 MACHINE: i686 (2137 Mhz) MEMORY: 2 GB PANIC: "[ 57.879776] Oops: 0002 [#1] SMP " (check log for details) PID: 0 COMMAND: "swapper" TASK: c073c180 [THREAD_INFO: c0784000] CPU: 0 STATE: TASK_RUNNING (PANIC) PID: 0 TASK: c073c180 CPU: 0 COMMAND: "swapper" #0 [c0785ba0] sysrq_handle_crash at c03917a3 [RA: c03919c6 SP: c0785ba0 FP: c0785ba0 SIZE: 4] c0785ba0: c03919c6 #1 [c0785ba0] __handle_sysrq at c03919c4 [RA: c0391a91 SP: c0785ba4 FP: c0785bc8 SIZE: 40] c0785ba4: c06d4bab c06d42d2 f6534000 00000004 c0785bb4: 00000086 0000002e 00000001 f6534000 c0785bc4: c0785bcc c0391a91 #2 [c0785bc8] handle_sysrq at c0391a8c [RA: c0389961 SP: c0785bcc FP: c0785bd0 SIZE: 8] c0785bcc: c0785c0c c0389961 #3 [c0785bd0] kbd_keycode at c038995c [RA: c0389b8b SP: c0785bd4 FP: c0785c10 SIZE: 64] c0785bd4: c056f96a c0785be4 00000096 c07578c0 c0785be4: 00000001 f6ac6e00 f6ac6e00 00000001 c0785bf4: 00000000 00000000 0000002e 0000002e c0785c04: 00000001 f70d6850 c0785c1c c0389b8b #4 [c0785c10] kbd_event at c0389b86 [RA: c043140c SP: c0785c14 FP: c0785c20 SIZE: 16] c0785c14: c0758040 f6910900 c0785c3c c043140c #5 [c0785c20] input_pass_event at c0431409 [RA: c04332ce SP: c0785c24 FP: c0785c40 SIZE: 32] c0785c24: 00000001 0000002e 00000001 f70d6000 c0785c34: 00000001 0000002e c0785c64 c04332ce #6 [c0785c40] input_handle_event at c04332c9 [RA: c0433ac6 SP: c0785c44 FP: c0785c68 SIZE: 40] c0785c44: 00000001 ffff138d 0000003d 00000001 c0785c54: f70d6000 00000001 f70d6000 0000002e c0785c64: c0785c84 c0433ac6 #7 [c0785c68] input_event at c0433ac1 [RA: c0479806 SP: c0785c6c FP: c0785c88 SIZE: 32] c0785c6c: 00000001 00000092 f70d677c f70d70b4 c0785c7c: 0000002e f70d7000 c0785ca8 c0479806 #8 [c0785c88] hidinput_hid_event at c0479801 [RA: c0475b31 SP: c0785c8c FP: c0785cac SIZE: 36] c0785c8c: 00000001 00000007 c0785c00 f70d6000 c0785c9c: f70d70b4 f70d5000 f70d7000 c0785cc4 c0785cac: c0475b31 [RA: 0 SP: c0785ffc FP: c0785ffc SIZE: 0] PID PPID CPU TASK ST %MEM VSZ RSS COMM > 0 0 0 c073c180 RU 0.0 0 0 [swapper] 1 0 1 f7038000 IN 0.1 3096 1960 init 2 0 0 f7038c90 IN 0.0 0 0 [kthreadd] 271 2 1 f72bf110 IN 0.0 0 0 [bluetooth] 325 2 1 f71c25b0 IN 0.0 0 0 [khungtaskd] 1404 2 0 f6b5bed0 IN 0.0 0 0 [kpsmoused] 1504 2 1 f649cb60 IN 0.0 0 0 [hd-audio0] 2055 1 0 f6a18000 IN 0.0 1824 536 getty 2056 1 0 f6a1d7f0 IN 0.0 1824 536 getty 2061 1 0 f6a1f110 IN 0.1 3132 1604 login 2062 1 1 f6a18c90 IN 0.0 1824 540 getty 2063 1 1 f6b58c90 IN 0.0 1824 540 getty 2130 1 0 f6b5f110 IN 0.0 2200 1032 acpid 2169 1 0 f69ebed0 IN 0.0 2040 664 syslogd 2192 1 1 f65b3ed0 IN 0.0 1976 532 dd 2194 1 1 f6b5a5b0 IN 0.1 3996 2712 klogd 2217 1 0 f6b74b60 IN 0.1 3008 1120 dbus-daemon 2248 1 0 f65b7110 IN 0.2 6896 4304 hald 2251 1 1 f65b3240 IN 0.1 19688 2604 console-kit-dae RUNQUEUES[0]: c6002320 RT PRIO_ARRAY: c60023c0 CFS RB_ROOT: c600237c PID: 9 TASK: f703f110 CPU: 0 COMMAND: "events/0" ''' self.assertEqual(r.crash_signature(), 'kernel:sysrq_handle_crash:__handle_sysrq:handle_sysrq:kbd_keycode:kbd_event:input_pass_event:input_handle_event:input_event:hidinput_hid_event') # assertion failures r = apport.report.Report() r['Signal'] = '6' r['ExecutablePath'] = '/bin/bash' r['AssertionMessage'] = 'foo.c:42 main: i > 0' self.assertEqual(r.crash_signature(), '/bin/bash:foo.c:42 main: i > 0') # kernel oops report = apport.report.Report('KernelOops') report['OopsText'] = ''' BUG: unable to handle kernel paging request at ffffb4ff IP: [<c11e4690>] ext4_get_acl+0x80/0x210 *pde = 01874067 *pte = 00000000 Oops: 0000 [#1] SMP Modules linked in: bnep rfcomm bluetooth dm_crypt olpc_xo1 scx200_acb snd_cs5535audio snd_ac97_codec ac97_bus snd_pcm snd_seq_midi snd_rawmidi snd_seq_midi_event snd_seq snd_timer snd_seq_device snd cs5535_gpio soundcore snd_page_alloc binfmt_misc geode_aes cs5535_mfd geode_rng msr vesafb usbhid hid 8139too pata_cs5536 8139cp Pid: 1798, comm: gnome-session-c Not tainted 3.0.0-11-generic #17-Ubuntu First International Computer, Inc. ION603/ION603 EIP: 0060:[<c11e4690>] EFLAGS: 00010286 CPU: 0 EIP is at ext4_get_acl+0x80/0x210 EAX: f5d3009c EBX: f5d30088 ECX: 00000000 EDX: f5d301d8 ESI: ffffb4ff EDI: 00008000 EBP: f29b3dc8 ESP: f29b3da4 DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 Process gnome-session-c (pid: 1798, ti=f29b2000 task=f2bd72c0 task.ti=f29b2000) Stack: f29b3db0 c113bb90 f5d301d8 f29b3de4 c11b9016 f5d3009c f5d30088 f5d30088 00000001 f29b3ddc c11e4cca 00000001 f5d30088 000081ed f29b3df0 c11313b7 00000021 00000021 f5d30088 f29b3e08 c1131b45 c11e4c80 f5d30088 00000021 Call Trace: [<c113bb90>] ? d_splice_alias+0x40/0x50 [<c11b9016>] ? ext4_lookup.part.30+0x56/0x120 [<c11e4cca>] ext4_check_acl+0x4a/0x90 [<c11313b7>] acl_permission_check+0x97/0xa0 [<c1131b45>] generic_permission+0x25/0xc0 [<c11e4c80>] ? ext4_xattr_set_acl+0x160/0x160 [<c1131c79>] inode_permission+0x99/0xd0 [<c11e4c80>] ? ext4_xattr_set_acl+0x160/0x160 [<c1131d1b>] may_open+0x6b/0x110 [<c1134566>] do_last+0x1a6/0x640 [<c113595d>] path_openat+0x9d/0x350 [<c10de692>] ? unlock_page+0x42/0x50 [<c10fb960>] ? __do_fault+0x3b0/0x4b0 [<c1135c41>] do_filp_open+0x31/0x80 [<c124c743>] ? aa_dup_task_context+0x33/0x60 [<c1250eed>] ? apparmor_cred_prepare+0x2d/0x50 [<c112e9ef>] open_exec+0x2f/0x110 [<c112eef7>] ? check_unsafe_exec+0xb7/0xf0 [<c112efba>] do_execve_common+0x8a/0x270 [<c112f1b7>] do_execve+0x17/0x20 [<c100a0a7>] sys_execve+0x37/0x70 [<c15336ae>] ptregs_execve+0x12/0x18 [<c152c8d4>] ? syscall_call+0x7/0xb Code: 8d 76 00 8d 93 54 01 00 00 8b 32 85 f6 74 e2 8d 43 14 89 55 e4 89 45 f0 e8 2e 7e 34 00 8b 55 e4 8b 32 83 fe ff 74 07 85 f6 74 03 <3e> ff 06 8b 45 f0 e8 25 19 e4 ff 90 83 fe ff 75 b5 81 ff 00 40 EIP: [<c11e4690>] ext4_get_acl+0x80/0x210 SS:ESP 0068:f29b3da4 CR2: 00000000ffffb4ff ---[ end trace b567e6a3070ffb42 ]--- ''' self.assertEqual(report.crash_signature(), 'kernel paging request:ext4_get_acl+0x80/0x210:ext4_check_acl+0x4a/0x90:acl_permission_check+0x97/0xa0:generic_permission+0x25/0xc0:inode_permission+0x99/0xd0:may_open+0x6b/0x110:do_last+0x1a6/0x640:path_openat+0x9d/0x350:do_filp_open+0x31/0x80:open_exec+0x2f/0x110:do_execve_common+0x8a/0x270:do_execve+0x17/0x20:sys_execve+0x37/0x70:ptregs_execve+0x12/0x18') def test_nonascii_data(self): '''methods get along with non-ASCII data''' # fake os.uname() into reporting a non-ASCII name uname = os.uname() uname = (uname[0], b't\xe2\x99\xaax'.decode('UTF-8'), uname[2], uname[3], uname[4]) orig_uname = os.uname os.uname = lambda: uname try: pr = apport.report.Report() utf8_val = b'\xc3\xa4 ' + uname[1].encode('UTF-8') + b' \xe2\x99\xa5 ' pr['ProcUnicodeValue'] = utf8_val.decode('UTF-8') pr['ProcByteArrayValue'] = utf8_val pr.anonymize() exp_utf8 = b'\xc3\xa4 hostname \xe2\x99\xa5 ' self.assertEqual(pr['ProcUnicodeValue'], exp_utf8.decode('UTF-8')) self.assertEqual(pr['ProcByteArrayValue'], exp_utf8) finally: os.uname = orig_uname def test_address_to_offset(self): '''_address_to_offset()''' pr = apport.report.Report() self.assertRaises(AssertionError, pr._address_to_offset, 0) pr['ProcMaps'] = ''' 00400000-004df000 r-xp 00000000 08:02 1044485 /bin/bash 006de000-006df000 r--p 000de000 08:02 1044485 /bin/bash 01596000-01597000 rw-p 00000000 00:00 0 01597000-015a4000 rw-p 00000000 00:00 0 [heap] 7f491f868000-7f491f88a000 r-xp 00000000 08:02 526219 /lib/x86_64-linux-gnu/libtinfo.so.5.9 7f491fa8f000-7f491fc24000 r-xp 00000000 08:02 522605 /lib/x86_64-linux-gnu/libc-2.13.so 7f491fc24000-7f491fe23000 ---p 00195000 08:02 522605 /lib/with spaces !/libfoo.so 7fff6e57b000-7fff6e59c000 rw-p 00000000 00:00 0 [stack] 7fff6e5ff000-7fff6e600000 r-xp 00000000 00:00 0 [vdso] ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall] ''' self.assertEqual(pr._address_to_offset(0x41d703), '/bin/bash+1d703') self.assertEqual(pr._address_to_offset(0x00007f491fac5687), '/lib/x86_64-linux-gnu/libc-2.13.so+36687') self.assertEqual(pr._address_to_offset(0x006ddfff), None) self.assertEqual(pr._address_to_offset(0x006de000), '/bin/bash+0') self.assertEqual(pr._address_to_offset(0x006df000), '/bin/bash+1000') self.assertEqual(pr._address_to_offset(0x006df001), None) self.assertEqual(pr._address_to_offset(0), None) self.assertEqual(pr._address_to_offset(0x10), None) self.assertEqual(pr._address_to_offset(0x7f491fc24010), '/lib/with spaces !/libfoo.so+10') def test_address_to_offset_arm(self): '''_address_to_offset() for ARM /proc/pid/maps''' pr = apport.report.Report() pr['ProcMaps'] = ''' 00008000-0000e000 r-xp 00000000 08:01 13243326 /usr/lib/dconf/dconf-service 00017000-00038000 rw-p 00000000 00:00 0 [heap] 40017000-4001d000 rw-p 00000000 00:00 0 40026000-400f2000 r-xp 00000000 08:01 13110792 /usr/lib/arm-linux-gnueabihf/libgio-2.0.so.0.3400.0 400f2000-400f9000 ---p 000cc000 08:01 13110792 /usr/lib/arm-linux-gnueabihf/libgio-2.0.so.0.3400.0 4020d000-4020f000 rw-p 00000000 00:00 0 4020f000-402e5000 r-xp 00000000 08:01 13108294 /lib/arm-linux-gnueabihf/libc-2.15.so 402e5000-402ed000 ---p 000d6000 08:01 13108294 /lib/arm-linux-gnueabihf/libc-2.15.so 40d21000-40e00000 ---p 00000000 00:00 0 befdf000-bf000000 rw-p 00000000 00:00 0 [stack] ffff0000-ffff1000 r-xp 00000000 00:00 0 [vectors] ''' self.assertEqual(pr._address_to_offset(0x402261e6), '/lib/arm-linux-gnueabihf/libc-2.15.so+171e6') self.assertEqual(pr._address_to_offset(0x4002601F), '/usr/lib/arm-linux-gnueabihf/libgio-2.0.so.0.3400.0+1f') def test_address_to_offset_live(self): '''_address_to_offset() for current /proc/pid/maps''' # this primarily checks that the parser actually gets along with the # real /proc/pid/maps and not just with our static test case above pr = apport.report.Report() pr.add_proc_info() self.assertEqual(pr._address_to_offset(0), None) res = pr._address_to_offset(int(pr['ProcMaps'].split('-', 1)[0], 16) + 5) self.assertEqual(res.split('+', 1)[1], '5') self.assertIn('python', res.split('+', 1)[0]) def test_crash_signature_addresses(self): '''crash_signature_addresses()''' pr = apport.report.Report() self.assertEqual(pr.crash_signature_addresses(), None) pr['ExecutablePath'] = '/bin/bash' pr['Signal'] = '42' pr['ProcMaps'] = ''' 00400000-004df000 r-xp 00000000 08:02 1044485 /bin/bash 006de000-006df000 r--p 000de000 08:02 1044485 /bin/bash 01596000-01597000 rw-p 00000000 00:00 0 01597000-015a4000 rw-p 00000000 00:00 0 [heap] 7f491f868000-7f491f88a000 r-xp 00000000 08:02 526219 /lib/x86_64-linux-gnu/libtinfo.so.5.9 7f491fa8f000-7f491fc24000 r-xp 00000000 08:02 522605 /lib/x86_64-linux-gnu/libc-2.13.so 7f491fc24000-7f491fe23000 ---p 00195000 08:02 522605 /lib/with spaces !/libfoo.so 7fff6e57b000-7fff6e59c000 rw-p 00000000 00:00 0 [stack] 7fff6e5ff000-7fff6e600000 r-xp 00000000 00:00 0 [vdso] ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall] ''' # no Stacktrace field self.assertEqual(pr.crash_signature_addresses(), None) # good stack trace pr['Stacktrace'] = ''' #0 0x00007f491fac5687 in kill () at ../sysdeps/unix/syscall-template.S:82 No locals. #1 0x000000000043fd51 in kill_pid () #2 g_main_context_iterate (context=0x1731680) at gmain.c:3068 #3 0x000000000042eb76 in ?? () #4 0x00000000004324d8 in ?? No symbol table info available. #5 0x00000000004707e3 in parse_and_execute () #6 0x000000000041d703 in _start () ''' self.assertEqual(pr.crash_signature_addresses(), '/bin/bash:42:/lib/x86_64-linux-gnu/libc-2.13.so+36687:/bin/bash+3fd51:/bin/bash+2eb76:/bin/bash+324d8:/bin/bash+707e3:/bin/bash+1d703') # all resolvable, but too short pr['Stacktrace'] = '#0 0x00007f491fac5687 in kill () at ../sysdeps/unix/syscall-template.S:82' self.assertEqual(pr.crash_signature_addresses(), None) # one unresolvable, but long enough pr['Stacktrace'] = ''' #0 0x00007f491fac5687 in kill () at ../sysdeps/unix/syscall-template.S:82 No locals. #1 0x000001000043fd51 in kill_pid () #2 g_main_context_iterate (context=0x1731680) at gmain.c:3068 #3 0x000000000042eb76 in ?? () #4 0x00000000004324d8 in ?? No symbol table info available. #5 0x00000000004707e3 in parse_and_execute () #6 0x000000000041d715 in main () #7 0x000000000041d703 in _start () ''' sig = pr.crash_signature_addresses() self.assertNotEqual(sig, None) # one true unresolvable, and some "low address" artifacts; should be # identical to the one above pr['Stacktrace'] = ''' #0 0x00007f491fac5687 in kill () at ../sysdeps/unix/syscall-template.S:82 No locals. #1 0x000001000043fd51 in kill_pid () #2 0x0000000000000010 in ?? #3 g_main_context_iterate (context=0x1731680) at gmain.c:3068 #4 0x000000000042eb76 in ?? () #5 0x0000000000000000 in ?? () #6 0x0000000000000421 in ?? () #7 0x00000000004324d8 in ?? No symbol table info available. #8 0x00000000004707e3 in parse_and_execute () #9 0x000000000041d715 in main () #10 0x000000000041d703 in _start () ''' self.assertEqual(pr.crash_signature_addresses(), sig) # two unresolvables, 2/7 is too much pr['Stacktrace'] = ''' #0 0x00007f491fac5687 in kill () at ../sysdeps/unix/syscall-template.S:82 No locals. #1 0x000001000043fd51 in kill_pid () #2 g_main_context_iterate (context=0x1731680) at gmain.c:3068 #3 0x000001000042eb76 in ?? () #4 0x00000000004324d8 in ?? No symbol table info available. #5 0x00000000004707e3 in parse_and_execute () #6 0x000000000041d715 in main () #7 0x000000000041d703 in _start () ''' self.assertEqual(pr.crash_signature_addresses(), None) def test_missing_uid(self): '''check_ignored() works for removed user''' orig_getuid = os.getuid os.getuid = lambda: 123456789 try: pr = apport.report.Report() pr['ExecutablePath'] = '/bin/bash' pr.check_ignored() finally: os.getuid = orig_getuid def test_suspend_resume(self): pr = apport.report.Report() pr['ProblemType'] = 'KernelOops' pr['Failure'] = 'suspend/resume' pr['MachineType'] = 'Cray XT5' pr['dmi.bios.version'] = 'ABC123 (1.0)' expected = 'suspend/resume:Cray XT5:ABC123 (1.0)' self.assertEqual(expected, pr.crash_signature()) # There will not always be a BIOS version del pr['dmi.bios.version'] expected = 'suspend/resume:Cray XT5' self.assertEqual(expected, pr.crash_signature()) def test_get_logind_session(self): ret = apport.Report.get_logind_session(os.getpid()) if ret is None: # ensure that we don't run under logind, and thus the None is # justified with open('/proc/self/cgroup') as f: contents = f.read() sys.stdout.write('[not running under logind] ') sys.stdout.flush() self.assertNotIn('name=systemd:/user', contents) return (session, timestamp) = ret self.assertNotEqual(session, '') # session start must be >= 2014-01-01 and "now" self.assertLess(timestamp, time.time()) self.assertGreater(timestamp, time.mktime(time.strptime('2014-01-01', '%Y-%m-%d'))) def test_get_timestamp(self): r = apport.Report() self.assertAlmostEqual(r.get_timestamp(), time.time(), delta=2) r['Date'] = 'Thu Jan 9 12:00:00 2014' # delta is ±12 hours, as this depends on the timezone that the test is # run in self.assertAlmostEqual(r.get_timestamp(), 1389265200.0, delta=43200) del r['Date'] self.assertEqual(r.get_timestamp(), None) if __name__ == '__main__': unittest.main() �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/test/test_rethread.py�����������������������������������������������������������������0000644�0000000�0000000�00000005616�12677230222�015430� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������import unittest, time, traceback, sys import apport.REThread def idle(seconds): '''Test thread to just wait a bit.''' time.sleep(seconds) def div(x, y): '''Test thread to divide two numbers.''' return x / y class T(unittest.TestCase): def test_return_value(self): '''return value works properly.''' t = apport.REThread.REThread(target=div, args=(42, 2)) t.start() t.join() # exc_raise() should be a no-op on successful functions t.exc_raise() self.assertEqual(t.return_value(), 21) self.assertEqual(t.exc_info(), None) def test_no_return_value(self): '''apport.REThread.REThread works if run() does not return anything.''' t = apport.REThread.REThread(target=idle, args=(0.5,)) t.start() # thread must be joined first self.assertRaises(AssertionError, t.return_value) t.join() self.assertEqual(t.return_value(), None) self.assertEqual(t.exc_info(), None) def test_exception(self): '''exception in thread is caught and passed.''' t = apport.REThread.REThread(target=div, args=(1, 0)) t.start() t.join() # thread did not terminate normally, no return value self.assertRaises(AssertionError, t.return_value) self.assertTrue(t.exc_info()[0] == ZeroDivisionError) exc = traceback.format_exception(t.exc_info()[0], t.exc_info()[1], t.exc_info()[2]) self.assertTrue(exc[-1].startswith('ZeroDivisionError'), 'not a ZeroDivisionError:' + str(exc)) self.assertTrue(exc[-2].endswith('return x / y\n')) def test_exc_raise(self): '''exc_raise() raises caught thread exception.''' t = apport.REThread.REThread(target=div, args=(1, 0)) t.start() t.join() # thread did not terminate normally, no return value self.assertRaises(AssertionError, t.return_value) raised = False try: t.exc_raise() except: raised = True e = sys.exc_info() exc = traceback.format_exception(e[0], e[1], e[2]) self.assertTrue(exc[-1].startswith('ZeroDivisionError'), 'not a ZeroDivisionError:' + str(e)) self.assertTrue(exc[-2].endswith('return x / y\n')) self.assertTrue(raised) def test_exc_raise_complex(self): '''exceptions that can't be simply created are reraised correctly A unicode error takes several arguments on construction, so trying to recreate it by just passing an instance to the class, as the Python 3 reraise expression did, will fail. See lp:1024836 for details. ''' t = apport.REThread.REThread(target=str.encode, args=('\xff', 'ascii')) t.start() t.join() self.assertRaises(UnicodeError, t.exc_raise) if __name__ == "__main__": unittest.main() ������������������������������������������������������������������������������������������������������������������apport-2.20.1/test/test_signal_crashes.py�����������������������������������������������������������0000644�0000000�0000000�00000112143�12677230222�016611� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Copyright (C) 2007 - 2009 Canonical Ltd. # Author: Martin Pitt <martin.pitt@ubuntu.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import tempfile, shutil, os, subprocess, signal, time, stat, sys import resource, errno, grp, unittest, socket, array import apport.fileutils test_executable = '/usr/bin/yes' test_package = 'coreutils' test_source = 'coreutils' # (core ulimit (bytes), expect core signal, expect core file, expect report) core_ulimit_table = [(1, False, False, False), (1000, True, False, True), (1000000, True, True, True), (-1, True, True, True)] required_fields = ['ProblemType', 'CoreDump', 'Date', 'ExecutablePath', 'ProcCmdline', 'ProcEnviron', 'ProcMaps', 'Signal', 'UserGroups'] orig_home = os.getenv('HOME') if orig_home is not None: del os.environ['HOME'] ifpath = os.path.expanduser(apport.report._ignore_file) if orig_home is not None: os.environ['HOME'] = orig_home # did we enable suid_dumpable? suid_dumpable = False try: with open('/proc/sys/fs/suid_dumpable') as f: if f.read().strip() != '0': suid_dumpable = True except IOError: pass class T(unittest.TestCase): def setUp(self): # use local report dir self.report_dir = tempfile.mkdtemp() os.environ['APPORT_REPORT_DIR'] = self.report_dir self.workdir = tempfile.mkdtemp() # move aside current ignore file if os.path.exists(ifpath): os.rename(ifpath, ifpath + '.apporttest') # do not write core files by default resource.setrlimit(resource.RLIMIT_CORE, (0, -1)) # that's the place where to put core dumps, etc. os.chdir('/tmp') # expected report name for test executable report self.test_report = os.path.join( apport.fileutils.report_dir, '%s.%i.crash' % (test_executable.replace('/', '_'), os.getuid())) def tearDown(self): shutil.rmtree(self.report_dir) shutil.rmtree(self.workdir) # clean up our ignore file if os.path.exists(ifpath): os.unlink(ifpath) orig_ignore_file = ifpath + '.apporttest' if os.path.exists(orig_ignore_file): os.rename(orig_ignore_file, ifpath) # permit tests to leave behind test_report, but nothing else if os.path.exists(self.test_report): apport.fileutils.delete_report(self.test_report) unexpected_reports = apport.fileutils.get_all_reports() for r in unexpected_reports: apport.fileutils.delete_report(r) self.assertEqual(unexpected_reports, []) def test_empty_core_dump(self): '''empty core dumps do not generate a report''' test_proc = self.create_test_process() try: app = subprocess.Popen([apport_path, str(test_proc), '42', '0'], stdin=subprocess.PIPE, stderr=subprocess.PIPE) app.stdin.close() assert app.wait() == 0, app.stderr.read() app.stderr.close() finally: os.kill(test_proc, 9) os.waitpid(test_proc, 0) self.assertEqual(self.get_temp_all_reports(), []) def test_crash_apport(self): '''report generation with apport''' self.do_crash() # check crash report self.assertEqual(apport.fileutils.get_all_reports(), [self.test_report]) st = os.stat(self.test_report) self.assertEqual(stat.S_IMODE(st.st_mode), 0o640, 'report has correct permissions') self.assertEqual(st.st_uid, os.geteuid(), 'report has correct owner') # a subsequent crash does not alter unseen report self.do_crash() st2 = os.stat(self.test_report) self.assertEqual(st, st2, 'original unseen report did not get overwritten') # a subsequent crash alters seen report apport.fileutils.mark_report_seen(self.test_report) self.do_crash() st2 = os.stat(self.test_report) self.assertNotEqual(st, st2, 'original seen report gets overwritten') pr = apport.Report() with open(self.test_report, 'rb') as f: pr.load(f) self.assertTrue(set(required_fields).issubset(set(pr.keys())), 'report has required fields') self.assertEqual(pr['ExecutablePath'], test_executable) self.assertEqual(pr['ProcCmdline'], test_executable) self.assertEqual(pr['Signal'], '%i' % signal.SIGSEGV) # check safe environment subset allowed_vars = ['SHELL', 'PATH', 'LANGUAGE', 'LANG', 'LC_CTYPE', 'LC_COLLATE', 'LC_TIME', 'LC_NUMERIC', 'LC_MONETARY', 'LC_MESSAGES', 'LC_PAPER', 'LC_NAME', 'LC_ADDRESS', 'LC_TELEPHONE', 'LC_MEASUREMENT', 'LC_IDENTIFICATION', 'LOCPATH', 'TERM', 'XDG_RUNTIME_DIR', 'LD_PRELOAD'] for l in pr['ProcEnviron'].splitlines(): (k, v) = l.split('=', 1) self.assertTrue(k in allowed_vars, 'report contains sensitive environment variable %s' % k) # UserGroups only has system groups for g in pr['UserGroups'].split(): self.assertLess(grp.getgrnam(g).gr_gid, 500) self.assertFalse('root' in pr['UserGroups'], 'collected system groups are not those from root') def test_parallel_crash(self): '''only one apport instance is ran at a time''' test_proc = self.create_test_process() test_proc2 = self.create_test_process(False, '/bin/dd') try: app = subprocess.Popen([apport_path, str(test_proc), '42', '0'], stdin=subprocess.PIPE, stderr=subprocess.PIPE) time.sleep(0.5) # give it some time to grab the lock app2 = subprocess.Popen([apport_path, str(test_proc2), '42', '0'], stdin=subprocess.PIPE, stderr=subprocess.PIPE) # app should wait indefinitely for stdin, while app2 should terminate # immediately (give it 5 seconds) timeout = 50 while timeout >= 0: if app2.poll(): break time.sleep(0.1) timeout -= 1 self.assertGreater(timeout, 0, 'second apport instance terminates immediately') self.assertFalse(app.poll(), 'first apport instance is still running') # properly terminate app and app2 app2.stdin.close() app2.stderr.close() app.stdin.write(b'boo') app.stdin.close() self.assertEqual(app.wait(), 0, app.stderr.read()) app.stderr.close() finally: os.kill(test_proc, 9) os.waitpid(test_proc, 0) os.kill(test_proc2, 9) os.waitpid(test_proc2, 0) def test_lock_symlink(self): '''existing .lock file as dangling symlink does not create the file This would be a vulnerability, as users could overwrite system files. ''' # prepare a symlink trap lockpath = os.path.join(self.report_dir, '.lock') trappath = os.path.join(self.report_dir, '0wned') os.symlink(trappath, lockpath) # now call apport test_proc = self.create_test_process() try: app = subprocess.Popen([apport_path, str(test_proc), '42', '0'], stdin=subprocess.PIPE, stderr=subprocess.PIPE) app.stdin.write(b'boo') app.stdin.close() self.assertNotEqual(app.wait(), 0, app.stderr.read()) app.stderr.close() finally: os.kill(test_proc, 9) os.waitpid(test_proc, 0) self.assertEqual(self.get_temp_all_reports(), []) self.assertFalse(os.path.exists(trappath)) def test_unpackaged_binary(self): '''unpackaged binaries do not create a report''' local_exe = os.path.join(self.workdir, 'mybin') with open(local_exe, 'wb') as dest: with open(test_executable, 'rb') as src: dest.write(src.read()) os.chmod(local_exe, 0o755) self.do_crash(command=local_exe) self.assertEqual(apport.fileutils.get_all_reports(), []) def test_unpackaged_script(self): '''unpackaged scripts do not create a report''' local_exe = os.path.join(self.workdir, 'myscript') with open(local_exe, 'w') as f: f.write('#!/bin/sh\nkill -SEGV $$') os.chmod(local_exe, 0o755) self.do_crash(command=local_exe) # absolute path self.assertEqual(apport.fileutils.get_all_reports(), []) # relative path os.chdir(self.workdir) self.do_crash(command='./myscript') self.assertEqual(apport.fileutils.get_all_reports(), []) def test_ignore_sigquit(self): '''apport ignores SIGQUIT''' self.do_crash(sig=signal.SIGQUIT) self.assertEqual(apport.fileutils.get_all_reports(), []) def test_leak_inaccessible_files(self): '''existence of user-inaccessible files does not leak''' local_exe = os.path.join(self.workdir, 'myscript') with open(local_exe, 'w') as f: f.write('#!/usr/bin/perl\nsystem("mv $0 $0.exe");\nsystem("ln -sf /etc/shadow $0");\n$0="..$0";\nsleep(10);\n') os.chmod(local_exe, 0o755) self.do_crash(check_running=False, command=local_exe, sleep=2) leak = os.path.join(apport.fileutils.report_dir, '_usr_bin_perl.%i.crash' % (os.getuid())) pr = apport.Report() with open(leak, 'rb') as f: pr.load(f) # On a leak, no report is created since the executable path will be replaced # by the symlink path, and it doesn't belong to any package. self.assertEqual(pr['ExecutablePath'], '/usr/bin/perl') self.assertFalse('InterpreterPath' in pr) apport.fileutils.delete_report(leak) def test_flood_limit(self): '''limitation of crash report flood''' count = 0 while count < 7: sys.stderr.write('%i ' % count) sys.stderr.flush() self.do_crash() reports = apport.fileutils.get_new_reports() if not reports: break apport.fileutils.mark_report_seen(self.test_report) count += 1 self.assertGreater(count, 1, 'gets at least 2 repeated crashes') self.assertLess(count, 7, 'stops flooding after less than 7 repeated crashes') @unittest.skipIf(os.access('/run', os.W_OK), 'this test needs to be run as user') def test_nonwritable_cwd(self): '''core dump works for non-writable cwd''' os.chdir('/run') resource.setrlimit(resource.RLIMIT_CORE, (-1, -1)) self.do_crash() pr = apport.Report() self.assertTrue(os.path.exists(self.test_report)) self.assertFalse(os.path.exists('/run/core')) with open(self.test_report, 'rb') as f: pr.load(f) assert set(required_fields).issubset(set(pr.keys())) @unittest.skipIf(os.access('/run', os.W_OK), 'this test needs to be run as user') def test_nonwritable_cwd_nonreadable_exe(self): '''no core file for non-readable exe in non-writable cwd''' # CVE-2015-1324: if a user cannot read an executable, it behaves much # like a suid root binary in terms of writing a core dump # create a non-readable executable in a path we can modify which apport # regards as likely packaged (fd, myexe) = tempfile.mkstemp(dir='/var/tmp') self.addCleanup(os.unlink, myexe) with open(test_executable, 'rb') as f: os.write(fd, f.read()) os.close(fd) os.chmod(myexe, 0o111) os.chdir('/run') resource.setrlimit(resource.RLIMIT_CORE, (-1, -1)) if suid_dumpable: self.do_crash(True, command=myexe, expect_corefile=False) # check crash report reports = apport.fileutils.get_new_system_reports() self.assertEqual(len(reports), 1) report = reports[0] st = os.stat(report) # FIXME: we would like to clean up this, but don't have privileges for that # os.unlink(report) self.assertEqual(stat.S_IMODE(st.st_mode), 0o640, 'report has correct permissions') # this must be owned by root as it is an unreadable binary self.assertEqual(st.st_uid, 0, 'report has correct owner') # no user reports self.assertEqual(apport.fileutils.get_all_reports(), []) else: # no cores/dump if suid_dumpable == 0 self.do_crash(False, command=myexe, expect_corefile=False) self.assertEqual(apport.fileutils.get_all_reports(), []) def test_core_dump_packaged(self): '''packaged executables create core dumps on proper ulimits''' # for SEGV and ABRT we expect reports and core files for sig in (signal.SIGSEGV, signal.SIGABRT): for (kb, exp_sig, exp_file, exp_report) in core_ulimit_table: resource.setrlimit(resource.RLIMIT_CORE, (kb, -1)) self.do_crash(expect_coredump=exp_sig, expect_corefile=exp_file, expect_corefile_owner=os.geteuid(), sig=sig) if exp_report: self.assertEqual(apport.fileutils.get_all_reports(), [self.test_report]) self.check_report_coredump(self.test_report) apport.fileutils.delete_report(self.test_report) else: self.assertEqual(apport.fileutils.get_all_reports(), []) # creates core file with existing crash report, too self.do_crash(expect_corefile=True) apport.fileutils.delete_report(self.test_report) # for SIGQUIT we only expect core files, no report resource.setrlimit(resource.RLIMIT_CORE, (1000000, -1)) self.do_crash(expect_corefile=True, sig=signal.SIGQUIT) self.assertEqual(apport.fileutils.get_all_reports(), []) def test_core_dump_unpackaged(self): '''unpackaged executables create core dumps on proper ulimits''' local_exe = os.path.join(self.workdir, 'mybin') with open(local_exe, 'wb') as dest: with open(test_executable, 'rb') as src: dest.write(src.read()) os.chmod(local_exe, 0o755) for sig in (signal.SIGSEGV, signal.SIGABRT, signal.SIGQUIT): for (kb, exp_sig, exp_file, exp_report) in core_ulimit_table: resource.setrlimit(resource.RLIMIT_CORE, (kb, -1)) self.do_crash(expect_coredump=exp_sig, expect_corefile=exp_file, expect_corefile_owner=os.geteuid(), command=local_exe, sig=sig) self.assertEqual(apport.fileutils.get_all_reports(), []) def test_core_file_injection(self): '''cannot inject core file''' # CVE-2015-1325: ensure that apport does not re-open its .crash report, # as that allows us to intercept and replace the report and tinker with # the core dump with open(self.test_report + '.inject', 'w') as f: # \x01pwned f.write('''ProblemType: Crash CoreDump: base64 H4sICAAAAAAC/0NvcmVEdW1wAA== Yywoz0tNAQBl1rhlBgAAAA== ''') # crash our test process and let it write a core file resource.setrlimit(resource.RLIMIT_CORE, (-1, -1)) pid = self.create_test_process() os.kill(pid, signal.SIGSEGV) # replace report with the crafted one above as soon as it exists and # becomes deletable for us; this is a busy loop, we need to be really # fast to intercept while True: try: os.unlink(self.test_report) break except OSError: pass os.rename(self.test_report + '.inject', self.test_report) os.waitpid(pid, 0) time.sleep(0.5) os.sync() # verify that we get the original core, not the injected one with open('core', 'rb') as f: core = f.read() self.assertNotIn(b'pwned', core) self.assertGreater(len(core), 10000) os.unlink('core') def test_limit_size(self): '''core dumps are capped on available memory size''' # determine how much data we have to pump into apport in order to make sure # that it will refuse the core dump r = apport.Report() with open('/proc/meminfo', 'rb') as f: r.load(f) totalmb = int(r['MemFree'].split()[0]) + int(r['Cached'].split()[0]) totalmb = int(totalmb / 1024) r = None test_proc = self.create_test_process() try: app = subprocess.Popen([apport_path, str(test_proc), '42', '0'], stdin=subprocess.PIPE, stderr=subprocess.PIPE) # pipe an entire total memory size worth of spaces into it, which must be # bigger than the 'usable' memory size. apport should digest that and the # report should not have a core dump; NB that this should error out # with a SIGPIPE when apport aborts reading from stdin onemb = b' ' * 1048576 while totalmb > 0: if totalmb & 31 == 0: sys.stderr.write('.') sys.stderr.flush() try: app.stdin.write(onemb) except IOError as e: if e.errno == errno.EPIPE: break else: raise totalmb -= 1 (out, err) = app.communicate() self.assertEqual(app.returncode, 0, err) onemb = None finally: os.kill(test_proc, 9) os.waitpid(test_proc, 0) reports = self.get_temp_all_reports() self.assertEqual(len(reports), 1) pr = apport.Report() with open(reports[0], 'rb') as f: pr.load(f) os.unlink(reports[0]) self.assertEqual(pr['Signal'], '42') self.assertEqual(pr['ExecutablePath'], test_executable) self.assertFalse('CoreDump' in pr) # FIXME: sometimes this is empty!? if err: self.assertRegex(err, b'core dump exceeded.*dropped from .*yes\..*\.crash') def test_ignore(self): '''ignoring executables''' self.do_crash() reports = apport.fileutils.get_all_reports() self.assertEqual(len(reports), 1) pr = apport.Report() with open(reports[0], 'rb') as f: pr.load(f) os.unlink(reports[0]) pr.mark_ignore() self.do_crash() self.assertEqual(apport.fileutils.get_all_reports(), []) def test_modify_after_start(self): '''ignores executables which got modified after process started''' # create executable in a path we can modify which apport regards as # likely packaged (fd, myexe) = tempfile.mkstemp(dir='/var/tmp') self.addCleanup(os.unlink, myexe) with open(test_executable, 'rb') as f: os.write(fd, f.read()) os.close(fd) os.chmod(myexe, 0o755) time.sleep(1) try: test_proc = self.create_test_process(command=myexe) # bump mtime of myexe to make it more recent than process start # time; ensure this works with file systems with only second # resolution time.sleep(1.1) os.utime(myexe, None) app = subprocess.Popen([apport_path, str(test_proc), '42', '0'], stdin=subprocess.PIPE, stderr=subprocess.PIPE) err = app.communicate(b'foo')[1] self.assertEqual(app.returncode, 0, err) if os.getuid() > 0: self.assertIn(b'executable was modified after program start', err) else: with open('/var/log/apport.log') as f: lines = f.readlines() self.assertIn('executable was modified after program start', lines[-1]) finally: os.kill(test_proc, 9) os.waitpid(test_proc, 0) self.assertEqual(self.get_temp_all_reports(), []) def test_logging_file(self): '''outputs to log file, if available''' test_proc = self.create_test_process() log = os.path.join(self.workdir, 'apport.log') try: env = os.environ.copy() env['APPORT_LOG_FILE'] = log app = subprocess.Popen([apport_path, str(test_proc), '42', '0'], stdin=subprocess.PIPE, env=env, stdout=subprocess.PIPE, stderr=subprocess.PIPE) (out, err) = app.communicate(b'hel\x01lo') finally: os.kill(test_proc, 9) os.waitpid(test_proc, 0) self.assertEqual(out, b'') self.assertEqual(err, b'') self.assertEqual(app.returncode, 0, err) with open(log) as f: logged = f.read() self.assertTrue('called for pid' in logged, logged) self.assertTrue('wrote report' in logged, logged) self.assertFalse('Traceback' in logged, logged) reports = self.get_temp_all_reports() self.assertEqual(len(reports), 1) pr = apport.Report() with open(reports[0], 'rb') as f: pr.load(f) os.unlink(reports[0]) self.assertEqual(pr['Signal'], '42') self.assertEqual(pr['ExecutablePath'], test_executable) self.assertEqual(pr['CoreDump'], b'hel\x01lo') def test_logging_stderr(self): '''outputs to stderr if log is not available''' test_proc = self.create_test_process() try: env = os.environ.copy() env['APPORT_LOG_FILE'] = '/not/existing/apport.log' app = subprocess.Popen([apport_path, str(test_proc), '42', '0'], stdin=subprocess.PIPE, env=env, stdout=subprocess.PIPE, stderr=subprocess.PIPE) (out, err) = app.communicate(b'hel\x01lo') err = err.decode('UTF-8') finally: os.kill(test_proc, 9) os.waitpid(test_proc, 0) self.assertEqual(out, b'') self.assertEqual(app.returncode, 0, err) self.assertTrue('called for pid' in err, err) self.assertTrue('wrote report' in err, err) self.assertFalse('Traceback' in err, err) reports = self.get_temp_all_reports() self.assertEqual(len(reports), 1) pr = apport.Report() with open(reports[0], 'rb') as f: pr.load(f) os.unlink(reports[0]) self.assertEqual(pr['Signal'], '42') self.assertEqual(pr['ExecutablePath'], test_executable) self.assertEqual(pr['CoreDump'], b'hel\x01lo') @unittest.skipIf(os.geteuid() != 0, 'this test needs to be run as root') def test_crash_setuid_keep(self): '''report generation for setuid program which stays root''' # create suid root executable in a path we can modify which apport # regards as likely packaged (fd, myexe) = tempfile.mkstemp(dir='/var/tmp') self.addCleanup(os.unlink, myexe) with open(test_executable, 'rb') as f: os.write(fd, f.read()) os.close(fd) os.chmod(myexe, 0o4755) # run test program as user "mail" resource.setrlimit(resource.RLIMIT_CORE, (-1, -1)) if suid_dumpable: # if a user can crash a suid root binary, it should not create core files self.do_crash(command=myexe, uid=8) # check crash report reports = apport.fileutils.get_all_reports() self.assertEqual(len(reports), 1) report = reports[0] st = os.stat(report) os.unlink(report) self.assertEqual(stat.S_IMODE(st.st_mode), 0o640, 'report has correct permissions') # this must be owned by root as it is a setuid binary self.assertEqual(st.st_uid, 0, 'report has correct owner') else: # no cores/dump if suid_dumpable == 0 self.do_crash(False, command=myexe, expect_corefile=False, uid=8) self.assertEqual(apport.fileutils.get_all_reports(), []) @unittest.skipUnless(os.path.exists('/bin/ping'), 'this test needs /bin/ping') @unittest.skipIf(os.geteuid() != 0, 'this test needs to be run as root') def test_crash_setuid_drop(self): '''report generation for setuid program which drops root''' # run ping as user "mail" resource.setrlimit(resource.RLIMIT_CORE, (-1, -1)) if suid_dumpable: # if a user can crash a suid root binary, it should not create core files self.do_crash(command='/bin/ping', args=['127.0.0.1'], uid=8) # check crash report reports = apport.fileutils.get_all_reports() self.assertEqual(len(reports), 1) report = reports[0] st = os.stat(report) os.unlink(report) self.assertEqual(stat.S_IMODE(st.st_mode), 0o640, 'report has correct permissions') # this must be owned by root as it is a setuid binary self.assertEqual(st.st_uid, 0, 'report has correct owner') else: # no cores/dump if suid_dumpable == 0 self.do_crash(False, command='/bin/ping', args=['127.0.0.1'], uid=8) self.assertEqual(apport.fileutils.get_all_reports(), []) @unittest.skipIf(os.geteuid() != 0, 'this test needs to be run as root') def test_crash_setuid_unpackaged(self): '''report generation for unpackaged setuid program''' # create suid root executable in a path we can modify which apport # regards as not packaged (fd, myexe) = tempfile.mkstemp(dir='/tmp') self.addCleanup(os.unlink, myexe) with open(test_executable, 'rb') as f: os.write(fd, f.read()) os.close(fd) os.chmod(myexe, 0o4755) # run test program as user "mail" resource.setrlimit(resource.RLIMIT_CORE, (-1, -1)) if suid_dumpable: # if a user can crash a suid root binary, it should not create core files self.do_crash(command=myexe, expect_corefile=False, uid=8) else: # no cores/dump if suid_dumpable == 0 self.do_crash(False, command=myexe, expect_corefile=False, uid=8) # there should not be a crash report self.assertEqual(apport.fileutils.get_all_reports(), []) @unittest.skipIf(os.geteuid() != 0, 'this test needs to be run as root') def test_crash_setuid_nonwritable_cwd(self): '''report generation and core dump for setuid program, non-writable cwd''' # create suid root executable in a path we can modify which apport # regards as likely packaged (fd, myexe) = tempfile.mkstemp(dir='/var/tmp') self.addCleanup(os.unlink, myexe) with open(test_executable, 'rb') as f: os.write(fd, f.read()) os.close(fd) os.chmod(myexe, 0o4755) # run test program as user "mail" in /run (which should only be # writable to root) os.chdir('/run') resource.setrlimit(resource.RLIMIT_CORE, (-1, -1)) if suid_dumpable: # we expect a report, but no core file self.do_crash(command=myexe, expect_corefile=False, uid=8) # check crash report reports = apport.fileutils.get_all_reports() self.assertEqual(len(reports), 1) report = reports[0] st = os.stat(report) os.unlink(report) self.assertEqual(stat.S_IMODE(st.st_mode), 0o640, 'report has correct permissions') # this must be owned by root as it is a setuid binary self.assertEqual(st.st_uid, 0, 'report has correct owner') else: # no core/report if suid_dumpable == 0 self.do_crash(False, command=myexe, expect_corefile=False, uid=8) self.assertEqual(apport.fileutils.get_all_reports(), []) def test_coredump_from_socket(self): '''forwarding of a core dump through socket This is being used in a container via systemd activation, where the core dump gets read from /run/apport.socket. ''' socket_path = os.path.join(self.workdir, 'apport.socket') test_proc = self.create_test_process() try: # emulate apport on the host which forwards the crash to the apport # socket in the container server = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) server.bind(socket_path) server.listen(1) if os.fork() == 0: client = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) client.connect(socket_path) with tempfile.TemporaryFile() as fd: fd.write(b'hel\x01lo') fd.flush() fd.seek(0) args = '%s 11 0' % test_proc fd_msg = (socket.SOL_SOCKET, socket.SCM_RIGHTS, array.array('i', [fd.fileno()])) client.sendmsg([args.encode()], [fd_msg]) os._exit(0) # call apport like systemd does via socket activation def child_setup(): os.environ['LISTEN_FDNAMES'] = 'connection' os.environ['LISTEN_FDS'] = '1' os.environ['LISTEN_PID'] = str(os.getpid()) # socket from server becomes fd 3 (SD_LISTEN_FDS_START) conn = server.accept()[0] os.dup2(conn.fileno(), 3) app = subprocess.Popen([apport_path], preexec_fn=child_setup, pass_fds=[3], stderr=subprocess.PIPE) log = app.communicate()[1] self.assertEqual(app.returncode, 0, log) server.close() finally: os.kill(test_proc, 9) os.waitpid(test_proc, 0) reports = self.get_temp_all_reports() self.assertEqual(len(reports), 1) pr = apport.Report() with open(reports[0], 'rb') as f: pr.load(f) os.unlink(reports[0]) self.assertEqual(pr['Signal'], '11') self.assertEqual(pr['ExecutablePath'], test_executable) self.assertEqual(pr['CoreDump'], b'hel\x01lo') # should not create report on the host self.assertEqual(apport.fileutils.get_all_system_reports(), []) # # Helper methods # @classmethod def create_test_process(klass, check_running=True, command=test_executable, uid=None, args=[]): '''Spawn test_executable. Wait until it is fully running, and return its PID. ''' assert os.access(command, os.X_OK), command + ' is not executable' if check_running: assert subprocess.call(['pidof', command]) == 1, 'no running test executable processes' pid = os.fork() if pid == 0: if uid is not None: os.setuid(uid) # set UTF-8 environment variable, to check proper parsing in apport os.putenv('utf8trap', b'\xc3\xa0\xc3\xa4') os.dup2(os.open('/dev/null', os.O_WRONLY), sys.stdout.fileno()) sys.stdin.close() os.setsid() os.execv(command, [command] + args) assert False, 'Could not execute ' + command # wait until child process has execv()ed properly while True: with open('/proc/%i/cmdline' % pid) as f: cmdline = f.read() if 'test_signal' in cmdline: time.sleep(0.1) else: break time.sleep(0.3) # needs some more setup time return pid def do_crash(self, expect_coredump=True, expect_corefile=False, sig=signal.SIGSEGV, check_running=True, sleep=0, command=test_executable, uid=None, expect_corefile_owner=None, args=[]): '''Generate a test crash. This runs command (by default test_executable) in cwd, lets it crash, and checks that it exits with the expected return code, leaving a core file behind if expect_corefile is set, and generating a crash report if expect_coredump is set. If check_running is set (default), this will abort if test_process is already running. ''' self.assertFalse(os.path.exists('core'), '%s/core already exists, please clean up first' % os.getcwd()) pid = self.create_test_process(check_running, command, uid=uid, args=args) if sleep > 0: time.sleep(sleep) os.kill(pid, sig) # wait max 5 seconds for the process to die timeout = 50 while timeout >= 0: (p, result) = os.waitpid(pid, os.WNOHANG) if p != 0: break time.sleep(0.1) timeout -= 1 else: os.kill(pid, signal.SIGKILL) os.waitpid(pid, 0) self.fail('test process does not die on signal %i' % sig) self.assertFalse(os.WIFEXITED(result), 'test process did not exit normally') self.assertTrue(os.WIFSIGNALED(result), 'test process died due to signal') self.assertEqual(os.WCOREDUMP(result), expect_coredump) self.assertEqual(os.WSTOPSIG(result), 0, 'test process was not signaled to stop') self.assertEqual(os.WTERMSIG(result), sig, 'test process died due to proper signal') # wait max 10 seconds for apport to finish timeout = 50 while timeout >= 0: pidof = subprocess.Popen(['pidof', '-x', 'apport'], stdout=subprocess.PIPE) pidof.communicate() if pidof.returncode != 0: break time.sleep(0.2) timeout -= 1 self.assertGreater(timeout, 0) if check_running: self.assertEqual(subprocess.call(['pidof', command]), 1, 'no running test executable processes') if expect_corefile: self.assertTrue(os.path.exists('core'), 'leaves wanted core file') try: # check core file permissions st = os.stat('core') self.assertEqual(stat.S_IMODE(st.st_mode), 0o600, 'core file has correct permissions') if expect_corefile_owner is not None: self.assertEqual(st.st_uid, expect_corefile_owner, 'core file has correct owner') # check that core file is valid gdb = subprocess.Popen(['gdb', '--batch', '--ex', 'bt', command, 'core'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) (out, err) = gdb.communicate() self.assertEqual(gdb.returncode, 0) out = out.decode() err = err.decode().strip() finally: os.unlink('core') else: if os.path.exists('core'): try: os.unlink('core') except OSError as e: sys.stderr.write( 'WARNING: cannot clean up core file %s/core: %s\n' % (os.getcwd(), str(e))) self.fail('leaves unexpected core file behind') def get_temp_all_reports(self): '''Call apport.fileutils.get_all_reports() for our temp dir''' old_dir = apport.fileutils.report_dir apport.fileutils.report_dir = self.report_dir reports = apport.fileutils.get_all_reports() apport.fileutils.report_dir = old_dir return reports def check_report_coredump(self, report_path): '''Check that given report file has a valid core dump''' r = apport.Report() with open(report_path, 'rb') as f: r.load(f) self.assertTrue('CoreDump' in r) self.assertGreater(len(r['CoreDump']), 5000) r.add_gdb_info() self.assertTrue('\n#2' in r.get('Stacktrace', ''), r.get('Stacktrace', 'no Stacktrace field')) # # main # # ensure we don't inherit an ignored SIGQUIT signal.signal(signal.SIGQUIT, signal.SIG_DFL) with open('/proc/sys/kernel/core_pattern') as f: core_pattern = f.read().strip() if core_pattern[0] != '|': sys.stderr.write('kernel crash dump helper is not active; please enable before running this test.\n') sys.exit(0) apport_path = core_pattern[1:].split()[0] if apport.fileutils.get_all_reports(): sys.stderr.write('Please remove all crash reports from /var/crash/ for this test suite:\n %s\n' % '\n '.join(os.listdir('/var/crash'))) sys.exit(1) unittest.main() �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/test/test_ui.py�����������������������������������������������������������������������0000644�0000000�0000000�00000262224�12677230222�014247� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# coding: UTF-8 import unittest, shutil, signal, tempfile, resource, pwd, time, os, sys import subprocess, errno, glob try: from cStringIO import StringIO StringIO # pyflakes except ImportError: from io import StringIO from io import BytesIO import apport.ui from apport.ui import _ import apport.report import problem_report import apport.crashdb_impl.memory import stat logind_session = apport.Report.get_logind_session(os.getpid()) class TestSuiteUserInterface(apport.ui.UserInterface): '''Concrete apport.ui.UserInterface suitable for automatic testing''' def __init__(self): # use our dummy crashdb self.crashdb_conf = tempfile.NamedTemporaryFile() self.crashdb_conf.write(b'''default = 'testsuite' databases = { 'testsuite': { 'impl': 'memory', 'bug_pattern_url': None, }, 'debug': { 'impl': 'memory', 'distro': 'debug', }, } ''') self.crashdb_conf.flush() os.environ['APPORT_CRASHDB_CONF'] = self.crashdb_conf.name apport.ui.UserInterface.__init__(self) self.crashdb = apport.crashdb_impl.memory.CrashDatabase( None, {'dummy_data': 1, 'dupdb_url': ''}) # state of progress dialogs self.ic_progress_active = False self.ic_progress_pulses = 0 # count the pulses self.upload_progress_active = False self.upload_progress_pulses = 0 # these store the choices the ui_present_* calls do self.present_package_error_response = None self.present_kernel_error_response = None self.present_details_response = None self.question_yesno_response = None self.question_choice_response = None self.question_file_response = None self.opened_url = None self.present_details_shown = False self.clear_msg() def clear_msg(self): # last message box self.msg_title = None self.msg_text = None self.msg_severity = None # 'warning' or 'error' self.msg_choices = None def ui_present_report_details(self, allowed_to_report=True, modal_for=None): self.present_details_shown = True return self.present_details_response def ui_info_message(self, title, text): self.msg_title = title self.msg_text = text self.msg_severity = 'info' def ui_error_message(self, title, text): self.msg_title = title self.msg_text = text self.msg_severity = 'error' def ui_start_info_collection_progress(self): self.ic_progress_pulses = 0 self.ic_progress_active = True def ui_pulse_info_collection_progress(self): assert self.ic_progress_active self.ic_progress_pulses += 1 def ui_stop_info_collection_progress(self): self.ic_progress_active = False def ui_start_upload_progress(self): self.upload_progress_pulses = 0 self.upload_progress_active = True def ui_set_upload_progress(self, progress): assert self.upload_progress_active self.upload_progress_pulses += 1 def ui_stop_upload_progress(self): self.upload_progress_active = False def open_url(self, url): self.opened_url = url def ui_question_yesno(self, text): self.msg_text = text return self.question_yesno_response def ui_question_choice(self, text, options, multiple): self.msg_text = text self.msg_choices = options return self.question_choice_response def ui_question_file(self, text): self.msg_text = text return self.question_file_response class T(unittest.TestCase): def setUp(self): # we test a few strings, don't get confused by translations for v in ['LANG', 'LANGUAGE', 'LC_MESSAGES', 'LC_ALL']: try: del os.environ[v] except KeyError: pass self.orig_report_dir = apport.fileutils.report_dir apport.fileutils.report_dir = tempfile.mkdtemp() self.orig_symptom_script_dir = apport.ui.symptom_script_dir apport.ui.symptom_script_dir = tempfile.mkdtemp() self.orig_ignore_file = apport.report._ignore_file (fd, apport.report._ignore_file) = tempfile.mkstemp() os.close(fd) # need to do this to not break ui's ctor self.orig_argv = sys.argv sys.argv = ['ui-test'] self.ui = TestSuiteUserInterface() # demo report self.report = apport.Report() self.report['ExecutablePath'] = '/bin/bash' self.report['Package'] = 'libfoo1 1-1' self.report['SourcePackage'] = 'foo' self.report['Foo'] = 'A' * 1000 self.report['CoreDump'] = problem_report.CompressedValue(b'\x01' * 100000) # write demo report into temporary file self.report_file = tempfile.NamedTemporaryFile() self.update_report_file() # set up our local hook directory self.hookdir = tempfile.mkdtemp() self.orig_hook_dir = apport.report._hook_dir apport.report._hook_dir = self.hookdir # test suite should not stumble over local packages os.environ['APPORT_IGNORE_OBSOLETE_PACKAGES'] = '1' os.environ['APPORT_DISABLE_DISTRO_CHECK'] = '1' def update_report_file(self): self.report_file.seek(0) self.report_file.truncate() self.report.write(self.report_file) self.report_file.flush() def tearDown(self): sys.argv = self.orig_argv shutil.rmtree(apport.fileutils.report_dir) apport.fileutils.report_dir = self.orig_report_dir self.orig_report_dir = None shutil.rmtree(apport.ui.symptom_script_dir) apport.ui.symptom_script_dir = self.orig_symptom_script_dir self.orig_symptom_script_dir = None os.unlink(apport.report._ignore_file) apport.report._ignore_file = self.orig_ignore_file self.ui = None self.report_file.close() self.assertEqual(subprocess.call(['pidof', '/usr/bin/yes']), 1, 'no stray test processes') # clean up apport report from _gen_test_crash() for f in glob.glob('/var/crash/_usr_bin_yes.*.crash'): try: os.unlink(f) except OSError: pass shutil.rmtree(self.hookdir) apport.report._hook_dir = self.orig_hook_dir def test_format_filesize(self): '''format_filesize()''' self.assertEqual(self.ui.format_filesize(0), '0.0 KB') self.assertEqual(self.ui.format_filesize(2048), '2.0 KB') self.assertEqual(self.ui.format_filesize(2560), '2.6 KB') self.assertEqual(self.ui.format_filesize(999999), '1000.0 KB') self.assertEqual(self.ui.format_filesize(1000000), '1.0 MB') self.assertEqual(self.ui.format_filesize(2.7 * 1000000), '2.7 MB') self.assertEqual(self.ui.format_filesize(1024 * 1000000), '1.0 GB') self.assertEqual(self.ui.format_filesize(2560 * 1000000), '2.6 GB') def test_get_size_loaded(self): '''get_complete_size() and get_reduced_size() for loaded Reports''' self.ui.load_report(self.report_file.name) fsize = os.path.getsize(self.report_file.name) complete_ratio = float(self.ui.get_complete_size()) / fsize self.assertTrue(complete_ratio >= 0.9 and complete_ratio <= 1.1) rs = self.ui.get_reduced_size() self.assertTrue(rs > 1000) self.assertTrue(rs < 10000) # now add some information (e. g. from package hooks) self.ui.report['ExtraInfo'] = 'A' * 50000 s = self.ui.get_complete_size() self.assertTrue(s >= fsize + 49900) self.assertTrue(s < fsize + 60000) rs = self.ui.get_reduced_size() self.assertTrue(rs > 51000) self.assertTrue(rs < 60000) def test_get_size_constructed(self): '''get_complete_size() and get_reduced_size() for on-the-fly Reports''' self.ui.report = apport.Report('Bug') self.ui.report['Hello'] = 'World' s = self.ui.get_complete_size() self.assertTrue(s > 5) self.assertTrue(s < 100) self.assertEqual(s, self.ui.get_reduced_size()) def test_load_report(self): '''load_report()''' # valid report self.ui.load_report(self.report_file.name) self.assertEqual(set(self.ui.report.keys()), set(self.report.keys())) self.assertEqual(self.ui.report['Package'], self.report['Package']) self.assertEqual(self.ui.report['CoreDump'].get_value(), self.report['CoreDump'].get_value()) self.assertEqual(self.ui.msg_title, None) self.ui.clear_msg() # invalid base64 encoding self.report_file.seek(0) self.report_file.truncate() self.report_file.write(b'''Type: test Package: foo 1-1 CoreDump: base64 bOgUs= ''') self.report_file.flush() self.ui.load_report(self.report_file.name) self.assertTrue(self.ui.report is None) self.assertEqual(self.ui.msg_title, _('Invalid problem report')) self.assertEqual(self.ui.msg_severity, 'error') def test_restart(self): '''restart()''' # test with only ProcCmdline p = os.path.join(apport.fileutils.report_dir, 'ProcCmdline') r = os.path.join(apport.fileutils.report_dir, 'Custom') self.report['ProcCmdline'] = 'touch ' + p self.update_report_file() self.ui.load_report(self.report_file.name) self.ui.restart() time.sleep(1) # FIXME: race condition self.assertTrue(os.path.exists(p)) self.assertTrue(not os.path.exists(r)) os.unlink(p) # test with RespawnCommand self.report['RespawnCommand'] = 'touch ' + r self.update_report_file() self.ui.load_report(self.report_file.name) self.ui.restart() time.sleep(1) # FIXME: race condition self.assertTrue(not os.path.exists(p)) self.assertTrue(os.path.exists(r)) os.unlink(r) # test that invalid command does not make us fall apart del self.report['RespawnCommand'] self.report['ProcCmdline'] = '/nonexisting' self.update_report_file() self.ui.load_report(self.report_file.name) def test_collect_info_distro(self): '''collect_info() on report without information (distro bug)''' # report without any information (distro bug) self.ui.report = apport.Report('Bug') self.ui.collect_info() self.assertTrue(set(['Date', 'Uname', 'DistroRelease', 'ProblemType']).issubset( set(self.ui.report.keys()))) self.assertEqual(self.ui.ic_progress_pulses, 0, 'no progress dialog for distro bug info collection') def test_collect_info_exepath(self): '''collect_info() on report with only ExecutablePath''' # report with only package information self.report = apport.Report('Bug') self.report['ExecutablePath'] = '/bin/bash' self.update_report_file() self.ui.load_report(self.report_file.name) # add some tuple values, for robustness testing (might be added by # apport hooks) self.ui.report['Fstab'] = ('/etc/fstab', True) self.ui.report['CompressedValue'] = problem_report.CompressedValue(b'Test') self.ui.collect_info() self.assertTrue(set(['SourcePackage', 'Package', 'ProblemType', 'Uname', 'Dependencies', 'DistroRelease', 'Date', 'ExecutablePath']).issubset(set(self.ui.report.keys()))) self.assertTrue(self.ui.ic_progress_pulses > 0, 'progress dialog for package bug info collection') self.assertEqual(self.ui.ic_progress_active, False, 'progress dialog for package bug info collection finished') def test_collect_info_package(self): '''collect_info() on report with a package''' # report with only package information self.ui.report = apport.Report('Bug') self.ui.cur_package = 'bash' self.ui.collect_info() self.assertTrue(set(['SourcePackage', 'Package', 'ProblemType', 'Uname', 'Dependencies', 'DistroRelease', 'Date']).issubset(set(self.ui.report.keys()))) self.assertTrue(self.ui.ic_progress_pulses > 0, 'progress dialog for package bug info collection') self.assertEqual(self.ui.ic_progress_active, False, 'progress dialog for package bug info collection finished') def test_collect_info_permissions(self): '''collect_info() leaves the report accessible to the group''' self.ui.report = apport.Report('Bug') self.ui.cur_package = 'bash' self.ui.report_file = self.report_file.name self.ui.collect_info() self.assertTrue(os.stat(self.report_file.name).st_mode & stat.S_IRGRP) def test_collect_info_crashdb_spec(self): '''collect_info() with package hook that defines a CrashDB''' # set up hook with open(os.path.join(self.hookdir, 'source_bash.py'), 'w') as f: f.write('''def add_info(report, ui): report['CrashDB'] = "{ 'impl': 'memory', 'local_opt': '1' }" report['BashHook'] = 'Moo' ''') self.ui.report = apport.Report('Bug') self.ui.cur_package = 'bash' self.ui.collect_info() self.assertTrue('CrashDB' in self.ui.report) self.assertFalse('UnreportableReason' in self.ui.report, self.ui.report.get('UnreportableReason')) self.assertEqual(self.ui.report['BashHook'], 'Moo') self.assertEqual(self.ui.crashdb.options['local_opt'], '1') def test_collect_info_crashdb_name(self): '''collect_info() with package hook that chooses a different CrashDB''' # set up hook with open(os.path.join(self.hookdir, 'source_bash.py'), 'w') as f: f.write('''def add_info(report, ui): report['CrashDB'] = 'debug' report['BashHook'] = 'Moo' ''') self.ui.report = apport.Report('Bug') self.ui.cur_package = 'bash' self.ui.collect_info() self.assertFalse('UnreportableReason' in self.ui.report, self.ui.report.get('UnreportableReason')) self.assertEqual(self.ui.report['BashHook'], 'Moo') self.assertEqual(self.ui.crashdb.options['distro'], 'debug') def test_collect_info_crashdb_errors(self): '''collect_info() with package hook setting a broken CrashDB field''' # nonexisting implementation with open(os.path.join(self.hookdir, 'source_bash.py'), 'w') as f: f.write('''def add_info(report, ui): report['CrashDB'] = "{ 'impl': 'nonexisting', 'local_opt': '1' }" ''') self.ui.report = apport.Report('Bug') self.ui.cur_package = 'bash' self.ui.collect_info() self.assertTrue('nonexisting' in self.ui.report['UnreportableReason'], self.ui.report.get('UnreportableReason', '<not set>')) # invalid syntax with open(os.path.join(self.hookdir, 'source_bash.py'), 'w') as f: f.write('''def add_info(report, ui): report['CrashDB'] = "{ 'impl': 'memory', 'local_opt'" ''') self.ui.report = apport.Report('Bug') self.ui.cur_package = 'bash' self.ui.collect_info() self.assertTrue('package hook' in self.ui.report['UnreportableReason'], self.ui.report.get('UnreportableReason', '<not set>')) # nonexisting name with open(os.path.join(self.hookdir, 'source_bash.py'), 'w') as f: f.write('''def add_info(report, ui): report['CrashDB'] = 'nonexisting' ''') self.ui.report = apport.Report('Bug') self.ui.cur_package = 'bash' self.ui.collect_info() self.assertTrue('nonexisting' in self.ui.report['UnreportableReason'], self.ui.report.get('UnreportableReason', '<not set>')) def test_handle_duplicate(self): '''handle_duplicate()''' self.ui.load_report(self.report_file.name) self.assertEqual(self.ui.handle_duplicate(), False) self.assertEqual(self.ui.msg_title, None) self.assertEqual(self.ui.opened_url, None) demo_url = 'http://example.com/1' self.report['_KnownReport'] = demo_url self.update_report_file() self.ui.load_report(self.report_file.name) self.assertEqual(self.ui.handle_duplicate(), True) self.assertEqual(self.ui.msg_severity, 'info') self.assertEqual(self.ui.opened_url, demo_url) self.ui.opened_url = None demo_url = 'http://example.com/1' self.report['_KnownReport'] = '1' self.update_report_file() self.ui.load_report(self.report_file.name) self.assertEqual(self.ui.handle_duplicate(), True) self.assertEqual(self.ui.msg_severity, 'info') self.assertEqual(self.ui.opened_url, None) def test_run_nopending(self): '''running the frontend without any pending reports''' sys.argv = [] self.ui = TestSuiteUserInterface() self.assertEqual(self.ui.run_argv(), False) def test_run_report_bug_noargs(self): '''run_report_bug() without specifying arguments''' sys.argv = ['ui-test', '-f'] self.ui = TestSuiteUserInterface() self.assertEqual(self.ui.run_argv(), False) self.assertEqual(self.ui.msg_severity, 'error') def test_run_version(self): '''run_report_bug() as "ubuntu-bug" with version argument''' sys.argv = ['ubuntu-bug', '-v'] self.ui = TestSuiteUserInterface() orig_stdout = sys.stdout sys.stdout = StringIO() self.assertEqual(self.ui.run_argv(), True) output = sys.stdout.getvalue() sys.stdout = orig_stdout self.assertEqual(output, apport.ui.__version__ + '\n') def test_run_report_bug_package(self): '''run_report_bug() for a package''' sys.argv = ['ui-test', '-f', '-p', 'bash'] self.ui = TestSuiteUserInterface() self.ui.present_details_response = {'report': True, 'blacklist': False, 'examine': False, 'restart': False} self.assertEqual(self.ui.run_argv(), True) self.assertEqual(self.ui.msg_severity, None) self.assertEqual(self.ui.msg_title, None) self.assertTrue(self.ui.present_details_shown) self.assertEqual(self.ui.opened_url, 'http://bash.bugs.example.com/%i' % self.ui.crashdb.latest_id()) self.assertTrue(self.ui.ic_progress_pulses > 0) self.assertEqual(self.ui.report['SourcePackage'], 'bash') self.assertTrue('Dependencies' in self.ui.report.keys()) self.assertTrue('ProcEnviron' in self.ui.report.keys()) self.assertEqual(self.ui.report['ProblemType'], 'Bug') # should not crash on nonexisting package sys.argv = ['ui-test', '-f', '-p', 'nonexisting_gibberish'] self.ui = TestSuiteUserInterface() try: self.ui.run_argv() except SystemExit: pass self.assertEqual(self.ui.msg_severity, 'error') def test_run_report_bug_pid_tags(self): '''run_report_bug() for a pid with extra tags''' # fork a test process pid = os.fork() if pid == 0: os.dup2(os.open('/dev/null', os.O_WRONLY), sys.stdout.fileno()) os.execv('/usr/bin/yes', ['yes']) assert False, 'Could not execute /usr/bin/yes' time.sleep(0.5) try: # report a bug on yes process sys.argv = ['ui-test', '-f', '--tag', 'foo', '-P', str(pid)] self.ui = TestSuiteUserInterface() self.ui.present_details_response = {'report': True, 'blacklist': False, 'examine': False, 'restart': False} self.assertEqual(self.ui.run_argv(), True) finally: # kill test process os.kill(pid, signal.SIGKILL) os.waitpid(pid, 0) self.assertTrue('SourcePackage' in self.ui.report.keys()) self.assertTrue('Dependencies' in self.ui.report.keys()) self.assertTrue('ProcMaps' in self.ui.report.keys()) self.assertEqual(self.ui.report['ExecutablePath'], '/usr/bin/yes') self.assertFalse('ProcCmdline' in self.ui.report) # privacy! self.assertTrue('ProcEnviron' in self.ui.report.keys()) self.assertEqual(self.ui.report['ProblemType'], 'Bug') self.assertTrue('Tags' in self.ui.report.keys()) self.assertTrue('foo' in self.ui.report['Tags']) self.assertEqual(self.ui.msg_severity, None) self.assertEqual(self.ui.msg_title, None) self.assertEqual(self.ui.opened_url, 'http://coreutils.bugs.example.com/%i' % self.ui.crashdb.latest_id()) self.assertTrue(self.ui.present_details_shown) self.assertTrue(self.ui.ic_progress_pulses > 0) @classmethod def _find_unused_pid(klass): '''Find and return an unused PID''' pid = 1 while True: pid += 1 try: os.kill(pid, 0) except OSError as e: if e.errno == errno.ESRCH: break return pid def test_run_report_bug_wrong_pid(self): '''run_report_bug() for a nonexisting pid''' # silently ignore missing PID; this happens when the user closes # the application prematurely pid = self._find_unused_pid() sys.argv = ['ui-test', '-f', '-P', str(pid)] self.ui = TestSuiteUserInterface() self.ui.run_argv() def test_run_report_bug_noperm_pid(self): '''run_report_bug() for a pid which runs as a different user''' restore_root = False if os.getuid() == 0: # temporarily drop to normal user "mail" os.setresuid(8, 8, -1) restore_root = True try: sys.argv = ['ui-test', '-f', '-P', '1'] self.ui = TestSuiteUserInterface() self.ui.run_argv() self.assertEqual(self.ui.msg_severity, 'error') finally: if restore_root: os.setresuid(0, 0, -1) def test_run_report_bug_unpackaged_pid(self): '''run_report_bug() for a pid of an unpackaged program''' # create unpackaged test program (fd, exename) = tempfile.mkstemp() with open('/usr/bin/yes', 'rb') as f: os.write(fd, f.read()) os.close(fd) os.chmod(exename, 0o755) # unpackaged test process pid = os.fork() if pid == 0: os.dup2(os.open('/dev/null', os.O_WRONLY), sys.stdout.fileno()) os.execv(exename, [exename]) # give the execv() some time to finish time.sleep(0.2) try: sys.argv = ['ui-test', '-f', '-P', str(pid)] self.ui = TestSuiteUserInterface() self.assertRaises(SystemExit, self.ui.run_argv) finally: os.kill(pid, signal.SIGKILL) os.wait() os.unlink(exename) self.assertEqual(self.ui.msg_severity, 'error') def test_run_report_bug_kernel_thread(self): '''run_report_bug() for a pid of a kernel thread''' pid = None for path in glob.glob('/proc/[0-9]*/stat'): with open(path) as f: stat = f.read().split() flags = int(stat[8]) if flags & apport.ui.PF_KTHREAD: pid = int(stat[0]) break self.assertFalse(pid is None) sys.argv = ['ui-test', '-f', '-P', str(pid)] self.ui = TestSuiteUserInterface() self.ui.present_details_response = {'report': True, 'blacklist': False, 'examine': False, 'restart': False} self.ui.run_argv() self.assertTrue(self.ui.report['Package'].startswith(apport.packaging.get_kernel_package())) def test_run_report_bug_file(self): '''run_report_bug() with saving report into a file''' d = os.path.join(apport.fileutils.report_dir, 'home') os.mkdir(d) reportfile = os.path.join(d, 'bashisbad.apport') sys.argv = ['ui-test', '-f', '-p', 'bash', '--save', reportfile] self.ui = TestSuiteUserInterface() self.assertEqual(self.ui.run_argv(), True) self.assertEqual(self.ui.msg_severity, None) self.assertEqual(self.ui.msg_title, None) self.assertEqual(self.ui.opened_url, None) self.assertFalse(self.ui.present_details_shown) self.assertTrue(self.ui.ic_progress_pulses > 0) r = apport.Report() with open(reportfile, 'rb') as f: r.load(f) self.assertEqual(r['SourcePackage'], 'bash') self.assertTrue('Dependencies' in r.keys()) self.assertTrue('ProcEnviron' in r.keys()) self.assertEqual(r['ProblemType'], 'Bug') # report it sys.argv = ['ui-test', '-c', reportfile] self.ui = TestSuiteUserInterface() self.ui.present_details_response = {'report': True, 'blacklist': False, 'examine': False, 'restart': False} self.assertEqual(self.ui.run_argv(), True) self.assertEqual(self.ui.msg_text, None) self.assertEqual(self.ui.msg_severity, None) self.assertTrue(self.ui.present_details_shown) def _gen_test_crash(self): '''Generate a Report with real crash data''' # create a test executable test_executable = '/usr/bin/yes' assert os.access(test_executable, os.X_OK), test_executable + ' is not executable' pid = os.fork() if pid == 0: os.dup2(os.open('/dev/null', os.O_WRONLY), sys.stdout.fileno()) sys.stdin.close() os.setsid() resource.setrlimit(resource.RLIMIT_CORE, (-1, -1)) os.chdir(apport.fileutils.report_dir) os.execv(test_executable, [test_executable]) assert False, 'Could not execute ' + test_executable time.sleep(0.5) # generate crash report r = apport.Report() r['ExecutablePath'] = test_executable r['Signal'] = '11' r.add_proc_info(pid) r.add_user_info() r.add_os_info() # generate a core dump coredump = os.path.join(apport.fileutils.report_dir, 'core') os.kill(pid, signal.SIGSEGV) os.waitpid(pid, 0) # Otherwise the core dump is empty. time.sleep(0.5) assert os.path.exists(coredump) r['CoreDump'] = (coredump,) return r def test_run_crash(self): '''run_crash()''' r = self._gen_test_crash() # write crash report report_file = os.path.join(apport.fileutils.report_dir, 'test.crash') # cancel crash notification dialog with open(report_file, 'wb') as f: r.write(f) self.ui = TestSuiteUserInterface() self.ui.present_details_response = {'report': False, 'blacklist': False, 'examine': False, 'restart': False} self.ui.run_crash(report_file) self.assertEqual(self.ui.msg_severity, None) self.assertEqual(self.ui.msg_title, None) self.assertEqual(self.ui.opened_url, None) self.assertEqual(self.ui.ic_progress_pulses, 0) # report in crash notification dialog, send full report with open(report_file, 'wb') as f: r.write(f) self.ui = TestSuiteUserInterface() self.ui.present_details_response = {'report': True, 'blacklist': False, 'examine': False, 'restart': False} self.ui.run_crash(report_file) self.assertEqual(self.ui.msg_severity, None, self.ui.msg_text) self.assertEqual(self.ui.msg_title, None) self.assertEqual(self.ui.opened_url, 'http://coreutils.bugs.example.com/%i' % self.ui.crashdb.latest_id()) self.assertFalse(self.ui.ic_progress_active) self.assertNotEqual(self.ui.ic_progress_pulses, 0) self.assertTrue(self.ui.present_details_shown) self.assertTrue('SourcePackage' in self.ui.report.keys()) self.assertTrue('Dependencies' in self.ui.report.keys()) self.assertTrue('Stacktrace' in self.ui.report.keys()) self.assertTrue('ProcEnviron' in self.ui.report.keys()) self.assertFalse('ExecutableTimestamp' in self.ui.report.keys()) self.assertFalse('StacktraceAddressSignature' in self.ui.report.keys()) self.assertEqual(self.ui.report['ProblemType'], 'Crash') self.assertTrue(len(self.ui.report['CoreDump']) > 10000) self.assertTrue(self.ui.report['Title'].startswith('yes crashed with SIGSEGV')) # so far we did not blacklist, verify that self.assertTrue(not self.ui.report.check_ignored()) # cancel crash notification dialog and blacklist with open(report_file, 'wb') as f: r.write(f) self.ui = TestSuiteUserInterface() self.ui.present_details_response = {'report': False, 'blacklist': True, 'examine': False, 'restart': False} self.ui.run_crash(report_file) self.assertEqual(self.ui.msg_severity, None) self.assertEqual(self.ui.msg_title, None) self.assertEqual(self.ui.opened_url, None) self.assertEqual(self.ui.ic_progress_pulses, 0) self.assertTrue(self.ui.report.check_ignored()) def test_run_crash_abort(self): '''run_crash() for an abort() without assertion message''' r = self._gen_test_crash() r['Signal'] = '6' report_file = os.path.join(apport.fileutils.report_dir, 'test.crash') with open(report_file, 'wb') as f: r.write(f) self.ui.present_details_response = {'report': True, 'blacklist': False, 'examine': False, 'restart': False} self.ui.run_crash(report_file) self.assertEqual(self.ui.msg_severity, None, self.ui.msg_text) self.assertTrue('SourcePackage' in self.ui.report.keys()) self.assertTrue('Dependencies' in self.ui.report.keys()) self.assertTrue('Stacktrace' in self.ui.report.keys()) self.assertTrue('ProcEnviron' in self.ui.report.keys()) self.assertFalse('ExecutableTimestamp' in self.ui.report.keys()) self.assertEqual(self.ui.report['Signal'], '6') # we disable the ABRT filtering, we want these crashes after all # self.assertTrue('assert' in self.ui.msg_text, '%s: %s' % # (self.ui.msg_title, self.ui.msg_text)) # self.assertEqual(self.ui.msg_severity, 'info') self.assertEqual(self.ui.msg_severity, None) self.assertTrue(self.ui.present_details_shown) def test_run_crash_broken(self): '''run_crash() for an invalid core dump''' # generate broken crash report r = apport.Report() r['ExecutablePath'] = '/usr/bin/yes' r['Signal'] = '11' r['CoreDump'] = problem_report.CompressedValue() r['CoreDump'].gzipvalue = b'AAAAAAAA' r.add_user_info() report_file = os.path.join(apport.fileutils.report_dir, 'test.crash') with open(report_file, 'wb') as f: r.write(f) self.ui.present_details_response = {'report': True, 'blacklist': False, 'examine': False, 'restart': False} self.ui.run_crash(report_file) self.assertEqual(self.ui.msg_severity, 'info', self.ui.msg_text) self.assertTrue('decompress' in self.ui.msg_text) self.assertTrue(self.ui.present_details_shown) def test_run_crash_argv_file(self): '''run_crash() through a file specified on the command line''' # valid self.report['Package'] = 'bash' self.update_report_file() sys.argv = ['ui-test', '-c', self.report_file.name] self.ui = TestSuiteUserInterface() self.ui.present_details_response = {'report': True, 'blacklist': False, 'examine': False, 'restart': False} self.assertEqual(self.ui.run_argv(), True) self.assertEqual(self.ui.msg_text, None) self.assertEqual(self.ui.msg_severity, None) self.assertTrue(self.ui.present_details_shown) # unreportable self.report['Package'] = 'bash' self.report['UnreportableReason'] = b'It stinks. \xe2\x99\xa5'.decode('UTF-8') self.update_report_file() sys.argv = ['ui-test', '-c', self.report_file.name] self.ui = TestSuiteUserInterface() self.ui.present_details_response = {'report': True, 'blacklist': False, 'examine': False, 'restart': False} self.assertEqual(self.ui.run_argv(), True) self.assertTrue('It stinks.' in self.ui.msg_text, '%s: %s' % (self.ui.msg_title, self.ui.msg_text)) self.assertEqual(self.ui.msg_severity, 'info') # should not die with an exception on an invalid name sys.argv = ['ui-test', '-c', '/nonexisting.crash'] self.ui = TestSuiteUserInterface() self.assertEqual(self.ui.run_argv(), True) self.assertEqual(self.ui.msg_severity, 'error') def test_run_crash_unreportable(self): '''run_crash() on a crash with the UnreportableReason field''' self.report['UnreportableReason'] = 'It stinks.' self.report['ExecutablePath'] = '/bin/bash' self.report['Package'] = 'bash 1' self.update_report_file() self.ui.present_details_response = {'report': True, 'blacklist': False, 'examine': False, 'restart': False} self.ui.run_crash(self.report_file.name) self.assertTrue('It stinks.' in self.ui.msg_text, '%s: %s' % (self.ui.msg_title, self.ui.msg_text)) self.assertEqual(self.ui.msg_severity, 'info') def test_run_crash_ignore(self): '''run_crash() on a crash with the Ignore field''' self.report['Ignore'] = 'True' self.report['ExecutablePath'] = '/bin/bash' self.report['Package'] = 'bash 1' self.update_report_file() self.ui.run_crash(self.report_file.name) self.assertEqual(self.ui.msg_severity, None) def test_run_crash_nocore(self): '''run_crash() for a crash dump without CoreDump''' # create a test executable test_executable = '/usr/bin/yes' assert os.access(test_executable, os.X_OK), test_executable + ' is not executable' pid = os.fork() if pid == 0: os.setsid() os.dup2(os.open('/dev/null', os.O_WRONLY), sys.stdout.fileno()) os.execv(test_executable, [test_executable]) assert False, 'Could not execute ' + test_executable try: time.sleep(0.5) # generate crash report r = apport.Report() r['ExecutablePath'] = test_executable r['Signal'] = '42' r.add_proc_info(pid) r.add_user_info() finally: # kill test executable os.kill(pid, signal.SIGKILL) os.waitpid(pid, 0) # write crash report report_file = os.path.join(apport.fileutils.report_dir, 'test.crash') with open(report_file, 'wb') as f: r.write(f) # run self.ui = TestSuiteUserInterface() self.ui.run_crash(report_file) self.assertEqual(self.ui.msg_severity, 'error') self.assertTrue('memory' in self.ui.msg_text, '%s: %s' % (self.ui.msg_title, self.ui.msg_text)) def test_run_crash_preretraced(self): '''run_crash() pre-retraced reports. This happens with crashes which are pre-processed by apport-retrace. ''' r = self._gen_test_crash() # effect of apport-retrace -c r.add_gdb_info() del r['CoreDump'] # write crash report report_file = os.path.join(apport.fileutils.report_dir, 'test.crash') # report in crash notification dialog, cancel details report with open(report_file, 'wb') as f: r.write(f) self.ui = TestSuiteUserInterface() self.ui.present_details_response = {'report': False, 'blacklist': False, 'examine': False, 'restart': False} self.ui.run_crash(report_file) self.assertEqual(self.ui.msg_severity, None, 'has %s message: %s: %s' % ( self.ui.msg_severity, str(self.ui.msg_title), str(self.ui.msg_text))) self.assertEqual(self.ui.msg_title, None) self.assertTrue(self.ui.present_details_shown) def test_run_crash_precollected(self): '''run_crash() on complete report on uninstalled package This happens when reporting a problem from a different machine through copying a .crash file. ''' self.ui.report = self._gen_test_crash() self.ui.collect_info() # now pretend to move it to a machine where the package is not # installed self.ui.report['Package'] = 'uninstalled_pkg 1' self.ui.report['ExecutablePath'] = '/usr/bin/uninstalled_program' self.ui.report['InterpreterPath'] = '/usr/bin/uninstalled_interpreter' # write crash report report_file = os.path.join(apport.fileutils.report_dir, 'test.crash') with open(report_file, 'wb') as f: self.ui.report.write(f) # report it self.ui = TestSuiteUserInterface() self.ui.present_details_response = {'report': True, 'blacklist': False, 'examine': False, 'restart': False} self.ui.run_crash(report_file) self.assertEqual(self.ui.cur_package, 'uninstalled_pkg') self.assertEqual(self.ui.msg_severity, None, 'has %s message: %s: %s' % ( self.ui.msg_severity, str(self.ui.msg_title), str(self.ui.msg_text))) self.assertTrue(self.ui.opened_url.startswith('http://coreutils.bugs.example.com')) self.assertTrue(self.ui.present_details_shown) def test_run_crash_errors(self): '''run_crash() on various error conditions''' # crash report with invalid Package name r = apport.Report() r['ExecutablePath'] = '/bin/bash' r['Package'] = 'foobarbaz' report_file = os.path.join(apport.fileutils.report_dir, 'test.crash') with open(report_file, 'wb') as f: r.write(f) self.ui.present_details_response = {'report': True, 'blacklist': False, 'examine': False, 'restart': False} self.assertRaises(SystemExit, self.ui.run_crash, report_file) self.assertEqual(self.ui.msg_title, _('Invalid problem report')) self.assertEqual(self.ui.msg_severity, 'error') def test_run_crash_uninstalled(self): '''run_crash() on reports with subsequently uninstalled packages''' # program got uninstalled between crash and report r = self._gen_test_crash() r['ExecutablePath'] = '/bin/nonexisting' r['Package'] = 'bash' report_file = os.path.join(apport.fileutils.report_dir, 'test.crash') with open(report_file, 'wb') as f: r.write(f) self.ui.present_details_response = {'report': True, 'blacklist': False, 'examine': False, 'restart': False} self.ui.run_crash(report_file) self.assertEqual(self.ui.msg_title, _('Problem in bash')) self.assertIn('not installed any more', self.ui.msg_text) # interpreted program got uninstalled between crash and report r = apport.Report() r['ExecutablePath'] = '/bin/nonexisting' r['InterpreterPath'] = '/usr/bin/python' r['Traceback'] = 'ZeroDivisionError: integer division or modulo by zero' self.ui.run_crash(report_file) self.assertEqual(self.ui.msg_title, _('Problem in bash')) self.assertIn('not installed any more', self.ui.msg_text) # interpreter got uninstalled between crash and report r = apport.Report() r['ExecutablePath'] = '/bin/sh' r['InterpreterPath'] = '/usr/bin/nonexisting' r['Traceback'] = 'ZeroDivisionError: integer division or modulo by zero' self.ui.run_crash(report_file) self.assertEqual(self.ui.msg_title, _('Problem in bash')) self.assertIn('not installed any more', self.ui.msg_text) def test_run_crash_updated_binary(self): '''run_crash() on binary that got updated in the meantime''' r = self._gen_test_crash() r['ExecutableTimestamp'] = str(int(r['ExecutableTimestamp']) - 10) report_file = os.path.join(apport.fileutils.report_dir, 'test.crash') with open(report_file, 'wb') as f: r.write(f) self.ui.present_details_response = {'report': True, 'blacklist': False, 'examine': False, 'restart': False} self.ui.run_crash(report_file) self.assertFalse('ExecutableTimestamp' in self.ui.report) self.assertTrue(self.ui.report['ExecutablePath'] in self.ui.msg_text, '%s: %s' % (self.ui.msg_title, self.ui.msg_text)) self.assertTrue('changed' in self.ui.msg_text, '%s: %s' % (self.ui.msg_title, self.ui.msg_text)) self.assertEqual(self.ui.msg_severity, 'info') def test_run_crash_package(self): '''run_crash() for a package error''' # generate crash report r = apport.Report('Package') r['Package'] = 'bash' r['SourcePackage'] = 'bash' r['ErrorMessage'] = 'It broke' r['VarLogPackagerlog'] = 'foo\nbar' r.add_os_info() # write crash report report_file = os.path.join(apport.fileutils.report_dir, 'test.crash') # cancel crash notification dialog with open(report_file, 'wb') as f: r.write(f) self.ui = TestSuiteUserInterface() self.ui.present_details_response = {'report': False, 'blacklist': False, 'examine': False, 'restart': False} self.ui.run_crash(report_file) self.assertEqual(self.ui.msg_severity, None) self.assertEqual(self.ui.msg_title, None) self.assertEqual(self.ui.opened_url, None) self.assertEqual(self.ui.ic_progress_pulses, 0) self.assertTrue(self.ui.present_details_shown) # report in crash notification dialog, send report with open(report_file, 'wb') as f: r.write(f) self.ui = TestSuiteUserInterface() self.ui.present_details_response = {'report': True, 'blacklist': False, 'examine': False, 'restart': False} self.ui.run_crash(report_file) self.assertEqual(self.ui.msg_severity, None) self.assertEqual(self.ui.msg_title, None) self.assertEqual(self.ui.opened_url, 'http://bash.bugs.example.com/%i' % self.ui.crashdb.latest_id()) self.assertTrue(self.ui.present_details_shown) self.assertTrue('SourcePackage' in self.ui.report.keys()) self.assertTrue('Package' in self.ui.report.keys()) self.assertEqual(self.ui.report['ProblemType'], 'Package') # verify that additional information has been collected self.assertTrue('Architecture' in self.ui.report.keys()) self.assertTrue('DistroRelease' in self.ui.report.keys()) self.assertTrue('Uname' in self.ui.report.keys()) def test_run_crash_kernel(self): '''run_crash() for a kernel error''' # set up hook f = open(os.path.join(self.hookdir, 'source_linux.py'), 'w') f.write('''def add_info(report, ui): report['KernelDebug'] = 'LotsMoreInfo' ''') f.close() # generate crash report r = apport.Report('KernelCrash') r['Package'] = apport.packaging.get_kernel_package() r['SourcePackage'] = 'linux' # write crash report report_file = os.path.join(apport.fileutils.report_dir, 'test.crash') # cancel crash notification dialog with open(report_file, 'wb') as f: r.write(f) self.ui = TestSuiteUserInterface() self.ui.present_details_response = {'report': False, 'blacklist': False, 'examine': False, 'restart': False} self.ui.run_crash(report_file) self.assertEqual(self.ui.msg_severity, None, 'error: %s - %s' % (self.ui.msg_title, self.ui.msg_text)) self.assertEqual(self.ui.msg_title, None) self.assertEqual(self.ui.opened_url, None) self.assertEqual(self.ui.ic_progress_pulses, 0) self.assertTrue(self.ui.present_details_shown) # report in crash notification dialog, send report with open(report_file, 'wb') as f: r.write(f) self.ui = TestSuiteUserInterface() self.ui.present_details_response = {'report': True, 'blacklist': False, 'examine': False, 'restart': False} self.ui.run_crash(report_file) self.assertEqual(self.ui.msg_severity, None, str(self.ui.msg_title) + ' ' + str(self.ui.msg_text)) self.assertEqual(self.ui.msg_title, None) self.assertEqual(self.ui.opened_url, 'http://linux.bugs.example.com/%i' % self.ui.crashdb.latest_id()) self.assertTrue(self.ui.present_details_shown) self.assertTrue('SourcePackage' in self.ui.report.keys()) # did we run the hooks properly? self.assertTrue('KernelDebug' in self.ui.report.keys()) self.assertEqual(self.ui.report['ProblemType'], 'KernelCrash') def test_run_crash_anonymity(self): '''run_crash() anonymization''' r = self._gen_test_crash() utf8_val = b'\xc3\xa4 ' + os.uname()[1].encode('UTF-8') + b' \xe2\x99\xa5 ' r['ProcUnicodeValue'] = utf8_val.decode('UTF-8') r['ProcByteArrayValue'] = utf8_val report_file = os.path.join(apport.fileutils.report_dir, 'test.crash') with open(report_file, 'wb') as f: r.write(f) self.ui = TestSuiteUserInterface() self.ui.present_details_response = {'report': True, 'blacklist': False, 'examine': False, 'restart': False} self.ui.run_crash(report_file) self.assertEqual(self.ui.msg_severity, None, self.ui.msg_text) self.assertFalse('ProcCwd' in self.ui.report) dump = BytesIO() # this contains more or less random characters which might contain the # user name del self.ui.report['CoreDump'] self.ui.report.write(dump) report = dump.getvalue().decode('UTF-8') p = pwd.getpwuid(os.getuid()) bad_strings = [os.uname()[1], p[0], p[4], p[5], os.getcwd()] for s in bad_strings: self.assertFalse(s in report, 'dump contains sensitive string: %s:\n%s' % (s, report)) def test_run_crash_anonymity_order(self): '''run_crash() anonymization runs after info and duplicate collection''' # pretend the hostname looks like a hex number which matches # the stack trace address uname = os.uname() uname = (uname[0], '0xDEADBEEF', uname[2], uname[3], uname[4]) orig_uname = os.uname orig_add_gdb_info = apport.report.Report.add_gdb_info os.uname = lambda: uname def fake_add_gdb_info(self): self['Stacktrace'] = '''#0 0xDEADBEEF in h (p=0x0) at crash.c:25 #1 0x10000042 in g (x=1, y=42) at crash.c:26 #1 0x10000001 in main () at crash.c:40 ''' self['ProcMaps'] = ''' 10000000-DEADBEF0 r-xp 00000000 08:02 100000 /bin/crash ''' assert self.crash_signature_addresses() is not None try: r = self._gen_test_crash() apport.report.Report.add_gdb_info = fake_add_gdb_info r['ProcAuxInfo'] = 'my 0xDEADBEEF' report_file = os.path.join(apport.fileutils.report_dir, 'test.crash') with open(report_file, 'wb') as f: r.write(f) # if this runs anonymization before the duplicate signature, then this # will fail, as 0xDEADhostname is an invalid address self.ui = TestSuiteUserInterface() self.ui.present_details_response = {'report': True, 'blacklist': False, 'examine': False, 'restart': False} self.ui.run_crash(report_file) self.assertEqual(self.ui.msg_severity, None, self.ui.msg_text) self.assertEqual(self.ui.report['ProcAuxInfo'], 'my hostname') # after anonymization this should mess up Stacktrace; this mostly # confirms that our test logic works self.assertEqual(self.ui.report.crash_signature_addresses(), None) finally: os.uname = orig_uname apport.report.Report.add_gdb_info = orig_add_gdb_info def test_run_crash_anonymity_substring(self): '''run_crash() anonymization only catches whole words''' # pretend the hostname is "ed", a substring of e. g. "crashed" uname = os.uname() uname = (uname[0], 'ed', uname[2], uname[3], uname[4]) orig_uname = os.uname os.uname = lambda: uname try: r = self._gen_test_crash() r['ProcInfo1'] = 'my ed' r['ProcInfo2'] = '"ed.localnet"' r['ProcInfo3'] = 'education' report_file = os.path.join(apport.fileutils.report_dir, 'test.crash') with open(report_file, 'wb') as f: r.write(f) self.ui = TestSuiteUserInterface() self.ui.present_details_response = {'report': True, 'blacklist': False, 'examine': False, 'restart': False} self.ui.run_crash(report_file) self.assertEqual(self.ui.msg_severity, None, self.ui.msg_text) self.assertTrue(self.ui.report['Title'].startswith('yes crashed with SIGSEGV'), self.ui.report['Title']) self.assertEqual(self.ui.report['ProcInfo1'], 'my hostname') self.assertEqual(self.ui.report['ProcInfo2'], '"hostname.localnet"') self.assertEqual(self.ui.report['ProcInfo3'], 'education') finally: os.uname = orig_uname def test_run_crash_anonymity_escaping(self): '''run_crash() anonymization escapes special chars''' # inject GECOS field with regexp control chars orig_getpwuid = pwd.getpwuid orig_getuid = os.getuid def fake_getpwuid(uid): r = list(orig_getpwuid(orig_getuid())) r[4] = 'Joe (Hacker,+1 234,,' return r pwd.getpwuid = fake_getpwuid os.getuid = lambda: 1234 try: r = self._gen_test_crash() r['ProcInfo1'] = 'That was Joe (Hacker and friends' r['ProcInfo2'] = 'Call +1 234!' r['ProcInfo3'] = '(Hacker should stay' report_file = os.path.join(apport.fileutils.report_dir, 'test.crash') with open(report_file, 'wb') as f: r.write(f) self.ui = TestSuiteUserInterface() self.ui.present_details_response = {'report': True, 'blacklist': False, 'examine': False, 'restart': False} self.ui.run_crash(report_file) self.assertEqual(self.ui.msg_severity, None, self.ui.msg_text) self.assertEqual(self.ui.report['ProcInfo1'], 'That was User Name and friends') self.assertEqual(self.ui.report['ProcInfo2'], 'Call User Name!') self.assertEqual(self.ui.report['ProcInfo3'], '(Hacker should stay') finally: pwd.getpwuid = orig_getpwuid os.getuid = orig_getuid def test_run_crash_known(self): '''run_crash() for already known problem''' r = self._gen_test_crash() report_file = os.path.join(apport.fileutils.report_dir, 'test.crash') self.ui = TestSuiteUserInterface() self.ui.present_details_response = {'report': True, 'blacklist': False, 'examine': False, 'restart': False} # known without URL with open(report_file, 'wb') as f: r.write(f) self.ui.crashdb.known = lambda r: True self.ui.run_crash(report_file) self.assertEqual(self.ui.report['_KnownReport'], '1') self.assertEqual(self.ui.msg_severity, 'info') self.assertEqual(self.ui.opened_url, None) self.ui = TestSuiteUserInterface() self.ui.present_details_response = {'report': True, 'blacklist': False, 'examine': False, 'restart': False} # known with URL with open(report_file, 'wb') as f: r.write(f) self.ui.crashdb.known = lambda r: 'http://myreport/1' self.ui.run_crash(report_file) self.assertEqual(self.ui.report['_KnownReport'], 'http://myreport/1') self.assertEqual(self.ui.msg_severity, 'info') self.assertEqual(self.ui.opened_url, 'http://myreport/1') def test_run_crash_private_keys(self): '''does not upload private keys to crash db''' r = self._gen_test_crash() r['_Temp'] = 'boring' # write crash report report_file = os.path.join(apport.fileutils.report_dir, 'test.crash') # report with open(report_file, 'wb') as f: r.write(f) self.ui = TestSuiteUserInterface() self.ui.present_details_response = {'report': True, 'blacklist': False, 'examine': False, 'restart': False} self.ui.run_crash(report_file) self.assertEqual(self.ui.opened_url, 'http://coreutils.bugs.example.com/%i' % self.ui.crashdb.latest_id()) # internal key should not be uploaded to the crash db r = self.ui.crashdb.download(self.ui.crashdb.latest_id()) self.assertTrue('SourcePackage' in r) self.assertFalse('_Temp' in r) @unittest.skipIf(logind_session is None, 'not running in logind session') def test_run_crash_older_session(self): '''run_crashes() skips crashes from older logind sessions''' latest_id_before = self.ui.crashdb.latest_id() # current crash report r = self._gen_test_crash() cur_date = r['Date'] r['Tag'] = 'cur' self.assertEqual(r['_LogindSession'], logind_session[0]) with open(os.path.join(apport.fileutils.report_dir, 'cur.crash'), 'wb') as f: r.write(f) # old crash report r['Date'] = time.asctime(time.localtime(logind_session[1] - 1)) r['Tag'] = 'old' with open(os.path.join(apport.fileutils.report_dir, 'old.crash'), 'wb') as f: r.write(f) # old crash report without session del r['_LogindSession'] r['Tag'] = 'oldnosession' with open(os.path.join(apport.fileutils.report_dir, 'oldnosession.crash'), 'wb') as f: r.write(f) del r self.ui = TestSuiteUserInterface() self.ui.present_details_response = {'report': True, 'blacklist': False, 'examine': False, 'restart': False} self.ui.run_crashes() if os.getuid() != 0: # as user: should have reported two reports only self.assertEqual(self.ui.crashdb.latest_id(), latest_id_before + 2) r1 = self.ui.crashdb.download(self.ui.crashdb.latest_id()) r2 = self.ui.crashdb.download(self.ui.crashdb.latest_id() - 1) if r1['Tag'] == 'cur': self.assertEqual(r1['Date'], cur_date) self.assertEqual(r2['Tag'], 'oldnosession') else: self.assertEqual(r2['Date'], cur_date) self.assertEqual(r1['Tag'], 'oldnosession') self.assertEqual(r2['Tag'], 'cur') else: # as root: should have reported all reports self.assertEqual(self.ui.crashdb.latest_id(), latest_id_before + 3) def test_run_update_report_nonexisting_package_from_bug(self): '''run_update_report() on a nonexisting package (from bug)''' sys.argv = ['ui-test', '-u', '1'] self.ui = TestSuiteUserInterface() self.assertEqual(self.ui.run_argv(), False) self.assertTrue('No additional information collected.' in self.ui.msg_text) self.assertFalse(self.ui.present_details_shown) def test_run_update_report_nonexisting_package_cli(self): '''run_update_report() on a nonexisting package (CLI argument)''' sys.argv = ['ui-test', '-u', '1', '-p', 'bar'] self.ui = TestSuiteUserInterface() self.assertEqual(self.ui.run_argv(), False) self.assertTrue('No additional information collected.' in self.ui.msg_text) self.assertFalse(self.ui.present_details_shown) def test_run_update_report_existing_package_from_bug(self): '''run_update_report() on an existing package (from bug)''' sys.argv = ['ui-test', '-u', '1'] self.ui = TestSuiteUserInterface() self.ui.present_details_response = {'report': True, 'blacklist': False, 'examine': False, 'restart': False} self.ui.crashdb.download(1)['SourcePackage'] = 'bash' self.ui.crashdb.download(1)['Package'] = 'bash' self.assertEqual(self.ui.run_argv(), True) self.assertEqual(self.ui.msg_severity, None, self.ui.msg_text) self.assertEqual(self.ui.msg_title, None) self.assertEqual(self.ui.opened_url, None) self.assertTrue(self.ui.present_details_shown) self.assertTrue(self.ui.ic_progress_pulses > 0) self.assertTrue(self.ui.report['Package'].startswith('bash ')) self.assertTrue('Dependencies' in self.ui.report.keys()) self.assertTrue('ProcEnviron' in self.ui.report.keys()) def test_run_update_report_existing_package_cli_tags(self): '''run_update_report() on an existing package (CLI argument) with extra tag''' sys.argv = ['ui-test', '-u', '1', '-p', 'bash', '--tag', 'foo'] self.ui = TestSuiteUserInterface() self.ui.present_details_response = {'report': True, 'blacklist': False, 'examine': False, 'restart': False} self.assertEqual(self.ui.run_argv(), True) self.assertEqual(self.ui.msg_severity, None, self.ui.msg_text) self.assertEqual(self.ui.msg_title, None) self.assertEqual(self.ui.opened_url, None) self.assertTrue(self.ui.present_details_shown) self.assertTrue(self.ui.ic_progress_pulses > 0) self.assertTrue(self.ui.report['Package'].startswith('bash ')) self.assertTrue('Dependencies' in self.ui.report.keys()) self.assertTrue('ProcEnviron' in self.ui.report.keys()) self.assertTrue('foo' in self.ui.report['Tags']) def test_run_update_report_existing_package_cli_cmdname(self): '''run_update_report() on an existing package (-collect program)''' sys.argv = ['apport-collect', '-p', 'bash', '1'] self.ui = TestSuiteUserInterface() self.ui.present_details_response = {'report': True, 'blacklist': False, 'examine': False, 'restart': False} self.assertEqual(self.ui.run_argv(), True) self.assertEqual(self.ui.msg_severity, None, self.ui.msg_text) self.assertEqual(self.ui.msg_title, None) self.assertEqual(self.ui.opened_url, None) self.assertTrue(self.ui.present_details_shown) self.assertTrue(self.ui.ic_progress_pulses > 0) self.assertTrue(self.ui.report['Package'].startswith('bash ')) self.assertTrue('Dependencies' in self.ui.report.keys()) self.assertTrue('ProcEnviron' in self.ui.report.keys()) def test_run_update_report_noninstalled_but_hook(self): '''run_update_report() on an uninstalled package with a source hook''' sys.argv = ['ui-test', '-u', '1'] self.ui = TestSuiteUserInterface() self.ui.present_details_response = {'report': True, 'blacklist': False, 'examine': False, 'restart': False} with open(os.path.join(self.hookdir, 'source_foo.py'), 'w') as f: f.write('def add_info(r, ui):\n r["MachineType"]="Laptop"\n') self.assertEqual(self.ui.run_argv(), True, self.ui.report) self.assertEqual(self.ui.msg_severity, None, self.ui.msg_text) self.assertEqual(self.ui.msg_title, None) self.assertEqual(self.ui.opened_url, None) self.assertTrue(self.ui.present_details_shown) self.assertTrue(self.ui.ic_progress_pulses > 0) self.assertEqual(self.ui.report['Package'], 'foo (not installed)') self.assertEqual(self.ui.report['MachineType'], 'Laptop') self.assertTrue('ProcEnviron' in self.ui.report.keys()) def test_run_update_report_different_binary_source(self): '''run_update_report() on a source package which does not have a binary of the same name''' kernel_pkg = apport.packaging.get_kernel_package() kernel_src = apport.packaging.get_source(kernel_pkg) self.assertNotEqual(kernel_pkg, kernel_src, 'this test assumes that the kernel binary package != kernel source package') self.assertNotEqual(apport.packaging.get_version(kernel_pkg), '', 'this test assumes that the kernel binary package %s is installed' % kernel_pkg) # this test assumes that the kernel source package name is not an # installed binary package self.assertRaises(ValueError, apport.packaging.get_version, kernel_src) sys.argv = ['ui-test', '-p', kernel_src, '-u', '1'] self.ui = TestSuiteUserInterface() self.ui.present_details_response = {'report': True, 'blacklist': False, 'examine': False, 'restart': False} with open(os.path.join(self.hookdir, 'source_%s.py' % kernel_src), 'w') as f: f.write('def add_info(r, ui):\n r["MachineType"]="Laptop"\n') self.assertEqual(self.ui.run_argv(), True, self.ui.report) self.assertEqual(self.ui.msg_severity, None, self.ui.msg_text) self.assertEqual(self.ui.msg_title, None) self.assertEqual(self.ui.opened_url, None) self.assertTrue(self.ui.present_details_shown) self.assertTrue(self.ui.ic_progress_pulses > 0) self.assertEqual(self.ui.report['Package'], '%s (not installed)' % kernel_src) self.assertEqual(self.ui.report['MachineType'], 'Laptop') self.assertTrue('ProcEnviron' in self.ui.report.keys()) def _run_hook(self, code): f = open(os.path.join(self.hookdir, 'coreutils.py'), 'w') f.write('def add_info(report, ui):\n%s\n' % '\n'.join([' ' + l for l in code.splitlines()])) f.close() self.ui.options.package = 'coreutils' self.ui.run_report_bug() def test_interactive_hooks_information(self): '''interactive hooks: HookUI.information()''' self.ui.present_details_response = {'report': False, 'blacklist': False, 'examine': False, 'restart': False} self._run_hook('''report['begin'] = '1' ui.information('InfoText') report['end'] = '1' ''') self.assertEqual(self.ui.report['begin'], '1') self.assertEqual(self.ui.report['end'], '1') self.assertEqual(self.ui.msg_text, 'InfoText') def test_interactive_hooks_yesno(self): '''interactive hooks: HookUI.yesno()''' self.ui.present_details_response = {'report': False, 'blacklist': False, 'examine': False, 'restart': False} self.ui.question_yesno_response = True self._run_hook('''report['begin'] = '1' report['answer'] = str(ui.yesno('YesNo?')) report['end'] = '1' ''') self.assertEqual(self.ui.report['begin'], '1') self.assertEqual(self.ui.report['end'], '1') self.assertEqual(self.ui.msg_text, 'YesNo?') self.assertEqual(self.ui.report['answer'], 'True') self.ui.question_yesno_response = False self.ui.run_report_bug() self.assertEqual(self.ui.report['answer'], 'False') self.assertEqual(self.ui.report['end'], '1') self.ui.question_yesno_response = None self.ui.run_report_bug() self.assertEqual(self.ui.report['answer'], 'None') self.assertEqual(self.ui.report['end'], '1') def test_interactive_hooks_file(self): '''interactive hooks: HookUI.file()''' self.ui.present_details_response = {'report': False, 'blacklist': False, 'examine': False, 'restart': False} self.ui.question_file_response = '/etc/fstab' self._run_hook('''report['begin'] = '1' report['answer'] = str(ui.file('YourFile?')) report['end'] = '1' ''') self.assertEqual(self.ui.report['begin'], '1') self.assertEqual(self.ui.report['end'], '1') self.assertEqual(self.ui.msg_text, 'YourFile?') self.assertEqual(self.ui.report['answer'], '/etc/fstab') self.ui.question_file_response = None self.ui.run_report_bug() self.assertEqual(self.ui.report['answer'], 'None') self.assertEqual(self.ui.report['end'], '1') def test_interactive_hooks_choices(self): '''interactive hooks: HookUI.choice()''' self.ui.present_details_response = {'report': False, 'blacklist': False, 'examine': False, 'restart': False} self.ui.question_choice_response = [1] self._run_hook('''report['begin'] = '1' report['answer'] = str(ui.choice('YourChoice?', ['foo', 'bar'])) report['end'] = '1' ''') self.assertEqual(self.ui.report['begin'], '1') self.assertEqual(self.ui.report['end'], '1') self.assertEqual(self.ui.msg_text, 'YourChoice?') self.assertEqual(self.ui.report['answer'], '[1]') self.ui.question_choice_response = None self.ui.run_report_bug() self.assertEqual(self.ui.report['answer'], 'None') self.assertEqual(self.ui.report['end'], '1') def test_interactive_hooks_cancel(self): '''interactive hooks: user cancels''' self.assertRaises(SystemExit, self._run_hook, '''report['begin'] = '1' raise StopIteration report['end'] = '1' ''') def test_run_symptom(self): '''run_symptom()''' # unknown symptom sys.argv = ['ui-test', '-s', 'foobar'] self.ui = TestSuiteUserInterface() self.ui.present_details_response = {'report': True, 'blacklist': False, 'examine': False, 'restart': False} self.assertEqual(self.ui.run_argv(), True) self.assertTrue('foobar" is not known' in self.ui.msg_text) self.assertEqual(self.ui.msg_severity, 'error') # does not determine package f = open(os.path.join(apport.ui.symptom_script_dir, 'nopkg.py'), 'w') f.write('def run(report, ui):\n pass\n') f.close() orig_stderr = sys.stderr sys.argv = ['ui-test', '-s', 'nopkg'] self.ui = TestSuiteUserInterface() sys.stderr = StringIO() self.assertRaises(SystemExit, self.ui.run_argv) err = sys.stderr.getvalue() sys.stderr = orig_stderr self.assertTrue('did not determine the affected package' in err) # does not define run() f = open(os.path.join(apport.ui.symptom_script_dir, 'norun.py'), 'w') f.write('def something(x, y):\n return 1\n') f.close() sys.argv = ['ui-test', '-s', 'norun'] self.ui = TestSuiteUserInterface() sys.stderr = StringIO() self.assertRaises(SystemExit, self.ui.run_argv) err = sys.stderr.getvalue() sys.stderr = orig_stderr self.assertTrue('norun.py crashed:' in err) # crashing script f = open(os.path.join(apport.ui.symptom_script_dir, 'crash.py'), 'w') f.write('def run(report, ui):\n return 1/0\n') f.close() sys.argv = ['ui-test', '-s', 'crash'] self.ui = TestSuiteUserInterface() sys.stderr = StringIO() self.assertRaises(SystemExit, self.ui.run_argv) err = sys.stderr.getvalue() sys.stderr = orig_stderr self.assertTrue('crash.py crashed:' in err) self.assertTrue('ZeroDivisionError:' in err) # working noninteractive script f = open(os.path.join(apport.ui.symptom_script_dir, 'itching.py'), 'w') f.write('def run(report, ui):\n report["itch"] = "scratch"\n return "bash"\n') f.close() sys.argv = ['ui-test', '-s', 'itching'] self.ui = TestSuiteUserInterface() self.ui.present_details_response = {'report': True, 'blacklist': False, 'examine': False, 'restart': False} self.assertEqual(self.ui.run_argv(), True) self.assertEqual(self.ui.msg_text, None) self.assertEqual(self.ui.msg_severity, None) self.assertTrue(self.ui.present_details_shown) self.assertEqual(self.ui.report['itch'], 'scratch') self.assertTrue('DistroRelease' in self.ui.report) self.assertEqual(self.ui.report['SourcePackage'], 'bash') self.assertTrue(self.ui.report['Package'].startswith('bash ')) self.assertEqual(self.ui.report['ProblemType'], 'Bug') # working noninteractive script with extra tag sys.argv = ['ui-test', '--tag', 'foo', '-s', 'itching'] self.ui = TestSuiteUserInterface() self.ui.present_details_response = {'report': True, 'blacklist': False, 'examine': False, 'restart': False} self.assertEqual(self.ui.run_argv(), True) self.assertEqual(self.ui.msg_text, None) self.assertEqual(self.ui.msg_severity, None) self.assertTrue(self.ui.present_details_shown) self.assertEqual(self.ui.report['itch'], 'scratch') self.assertTrue('foo' in self.ui.report['Tags']) # working interactive script f = open(os.path.join(apport.ui.symptom_script_dir, 'itching.py'), 'w') f.write('''def run(report, ui): report['itch'] = 'slap' report['q'] = str(ui.yesno('do you?')) return 'bash' ''') f.close() sys.argv = ['ui-test', '-s', 'itching'] self.ui = TestSuiteUserInterface() self.ui.present_details_response = {'report': True, 'blacklist': False, 'examine': False, 'restart': False} self.ui.question_yesno_response = True self.assertEqual(self.ui.run_argv(), True) self.assertTrue(self.ui.present_details_shown) self.assertEqual(self.ui.msg_text, 'do you?') self.assertEqual(self.ui.report['itch'], 'slap') self.assertTrue('DistroRelease' in self.ui.report) self.assertEqual(self.ui.report['SourcePackage'], 'bash') self.assertTrue(self.ui.report['Package'].startswith('bash ')) self.assertEqual(self.ui.report['ProblemType'], 'Bug') self.assertEqual(self.ui.report['q'], 'True') def test_run_report_bug_list_symptoms(self): '''run_report_bug() without specifying arguments and available symptoms''' f = open(os.path.join(apport.ui.symptom_script_dir, 'foo.py'), 'w') f.write('''description = 'foo does not work' def run(report, ui): return 'bash' ''') f.close() f = open(os.path.join(apport.ui.symptom_script_dir, 'bar.py'), 'w') f.write('def run(report, ui):\n return "coreutils"\n') f.close() sys.argv = ['ui-test', '-f'] self.ui = TestSuiteUserInterface() self.ui.present_details_response = {'report': True, 'blacklist': False, 'examine': False, 'restart': False} self.ui.question_choice_response = None self.assertEqual(self.ui.run_argv(), True) self.assertEqual(self.ui.msg_severity, None) self.assertTrue('kind of problem' in self.ui.msg_text) self.assertEqual(set(self.ui.msg_choices), set(['bar', 'foo does not work', 'Other problem'])) # cancelled self.assertEqual(self.ui.ic_progress_pulses, 0) self.assertEqual(self.ui.report, None) self.assertFalse(self.ui.present_details_shown) # now, choose foo -> bash report self.ui.question_choice_response = [self.ui.msg_choices.index('foo does not work')] self.assertEqual(self.ui.run_argv(), True) self.assertEqual(self.ui.msg_severity, None) self.assertTrue(self.ui.ic_progress_pulses > 0) self.assertTrue(self.ui.present_details_shown) self.assertTrue(self.ui.report['Package'].startswith('bash')) def test_parse_argv_single_arg(self): '''parse_args() option inference for a single argument''' def _chk(program_name, arg, expected_opts): sys.argv = [program_name] if arg: sys.argv.append(arg) orig_stderr = sys.stderr sys.stderr = open('/dev/null', 'w') try: ui = apport.ui.UserInterface() finally: sys.stderr.close() sys.stderr = orig_stderr expected_opts['version'] = None self.assertEqual(ui.args, []) self.assertEqual(ui.options, expected_opts) # no arguments -> show pending crashes _chk('apport-gtk', None, {'filebug': False, 'package': None, 'pid': None, 'crash_file': None, 'symptom': None, 'update_report': None, 'save': None, 'window': False, 'tag': [], 'hanging': False}) # updating report not allowed without args self.assertRaises(SystemExit, _chk, 'apport-collect', None, {}) # package _chk('apport-kde', 'coreutils', {'filebug': True, 'package': 'coreutils', 'pid': None, 'crash_file': None, 'symptom': None, 'update_report': None, 'save': None, 'window': False, 'tag': [], 'hanging': False}) # symptom is preferred over package f = open(os.path.join(apport.ui.symptom_script_dir, 'coreutils.py'), 'w') f.write('''description = 'foo does not work' def run(report, ui): return 'bash' ''') f.close() _chk('apport-cli', 'coreutils', {'filebug': True, 'package': None, 'pid': None, 'crash_file': None, 'symptom': 'coreutils', 'update_report': None, 'save': None, 'window': False, 'tag': [], 'hanging': False}) # PID _chk('apport-cli', '1234', {'filebug': True, 'package': None, 'pid': '1234', 'crash_file': None, 'symptom': None, 'update_report': None, 'save': None, 'window': False, 'tag': [], 'hanging': False}) # .crash/.apport files; check correct handling of spaces for suffix in ('.crash', '.apport'): _chk('apport-cli', '/tmp/f oo' + suffix, {'filebug': False, 'package': None, 'pid': None, 'crash_file': '/tmp/f oo' + suffix, 'symptom': None, 'update_report': None, 'save': None, 'window': False, 'tag': [], 'hanging': False}) # executable _chk('apport-cli', '/usr/bin/tail', {'filebug': True, 'package': 'coreutils', 'pid': None, 'crash_file': None, 'symptom': None, 'update_report': None, 'save': None, 'window': False, 'tag': [], 'hanging': False}) # update existing report _chk('apport-collect', '1234', {'filebug': False, 'package': None, 'crash_file': None, 'symptom': None, 'update_report': 1234, 'tag': []}) _chk('apport-update-bug', '1234', {'filebug': False, 'package': None, 'crash_file': None, 'symptom': None, 'update_report': 1234, 'tag': []}) def test_parse_argv_apport_bug(self): '''parse_args() option inference when invoked as *-bug''' def _chk(args, expected_opts): sys.argv = ['apport-bug'] + args orig_stderr = sys.stderr sys.stderr = open('/dev/null', 'w') try: ui = apport.ui.UserInterface() finally: sys.stderr.close() sys.stderr = orig_stderr expected_opts['version'] = None self.assertEqual(ui.args, []) self.assertEqual(ui.options, expected_opts) # # no arguments: default to 'ask for symptom' bug mode # _chk([], {'filebug': True, 'package': None, 'pid': None, 'crash_file': None, 'symptom': None, 'update_report': None, 'save': None, 'window': False, 'tag': [], 'hanging': False}) # # single arguments # # package _chk(['coreutils'], {'filebug': True, 'package': 'coreutils', 'pid': None, 'crash_file': None, 'symptom': None, 'update_report': None, 'save': None, 'window': False, 'tag': [], 'hanging': False}) # symptom (preferred over package) f = open(os.path.join(apport.ui.symptom_script_dir, 'coreutils.py'), 'w') f.write('''description = 'foo does not work' def run(report, ui): return 'bash' ''') f.close() _chk(['coreutils'], {'filebug': True, 'package': None, 'pid': None, 'crash_file': None, 'symptom': 'coreutils', 'update_report': None, 'save': None, 'window': False, 'tag': [], 'hanging': False}) os.unlink(os.path.join(apport.ui.symptom_script_dir, 'coreutils.py')) # PID _chk(['1234'], {'filebug': True, 'package': None, 'pid': '1234', 'crash_file': None, 'symptom': None, 'update_report': None, 'save': None, 'window': False, 'tag': [], 'hanging': False}) # .crash/.apport files; check correct handling of spaces for suffix in ('.crash', '.apport'): _chk(['/tmp/f oo' + suffix], {'filebug': False, 'package': None, 'pid': None, 'crash_file': '/tmp/f oo' + suffix, 'symptom': None, 'update_report': None, 'save': None, 'window': False, 'tag': [], 'hanging': False}) # executable name _chk(['/usr/bin/tail'], {'filebug': True, 'package': 'coreutils', 'pid': None, 'crash_file': None, 'symptom': None, 'update_report': None, 'save': None, 'window': False, 'tag': [], 'hanging': False}) # # supported options # # --save _chk(['--save', 'foo.apport', 'coreutils'], {'filebug': True, 'package': 'coreutils', 'pid': None, 'crash_file': None, 'symptom': None, 'update_report': None, 'save': 'foo.apport', 'window': False, 'tag': [], 'hanging': False}) # --tag _chk(['--tag', 'foo', 'coreutils'], {'filebug': True, 'package': 'coreutils', 'pid': None, 'crash_file': None, 'symptom': None, 'update_report': None, 'save': None, 'window': False, 'tag': ['foo'], 'hanging': False}) _chk(['--tag', 'foo', '--tag', 'bar', 'coreutils'], {'filebug': True, 'package': 'coreutils', 'pid': None, 'crash_file': None, 'symptom': None, 'update_report': None, 'save': None, 'window': False, 'tag': ['foo', 'bar'], 'hanging': False}) # mutually exclusive options self.assertRaises(SystemExit, _chk, ['-c', '/tmp/foo.report', '-u', '1234'], {}) def test_can_examine_locally_crash(self): '''can_examine_locally() for a crash report''' self.ui.load_report(self.report_file.name) orig_path = os.environ['PATH'] orig_fn = self.ui.ui_run_terminal try: self.ui.ui_run_terminal = lambda command: True os.environ['PATH'] = '' self.assertEqual(self.ui.can_examine_locally(), False) src_bindir = os.path.join( os.path.dirname(os.path.dirname(os.path.realpath(__file__))), 'bin') # this will only work for running the tests in the source tree if os.access(os.path.join(src_bindir, 'apport-retrace'), os.X_OK): os.environ['PATH'] += src_bindir + ':' + orig_path self.assertEqual(self.ui.can_examine_locally(), True) else: # if we run tests in installed system, we just check that # it doesn't crash self.assertTrue(self.ui.can_examine_locally() in [False, True]) self.ui.ui_run_terminal = lambda command: False self.assertEqual(self.ui.can_examine_locally(), False) # does not crash on NotImplementedError self.ui.ui_run_terminal = orig_fn self.assertEqual(self.ui.can_examine_locally(), False) finally: os.environ['PATH'] = orig_path self.ui.ui_run_terminal = orig_fn def test_can_examine_locally_nocrash(self): '''can_examine_locally() for a non-crash report''' self.ui.load_report(self.report_file.name) del self.ui.report['CoreDump'] orig_fn = self.ui.ui_run_terminal try: self.ui.ui_run_terminal = lambda command: True self.assertEqual(self.ui.can_examine_locally(), False) finally: self.ui.ui_run_terminal = orig_fn def test_db_no_accept(self): '''crash database does not accept report''' # FIXME: This behaviour is not really correct, but necessary as long as # we only support a single crashdb and have whoopsie hardcoded # (see LP#957177) latest_id_before = self.ui.crashdb.latest_id() sys.argv = ['ui-test', '-f', '-p', 'bash'] self.ui = TestSuiteUserInterface() # Pretend it does not accept report self.ui.crashdb.accepts = lambda r: False self.ui.present_details_response = {'report': True, 'blacklist': False, 'examine': False, 'restart': False} self.assertEqual(self.ui.run_argv(), True) self.assertEqual(self.ui.msg_severity, None) self.assertEqual(self.ui.msg_title, None) self.assertTrue(self.ui.present_details_shown) # data was collected for whoopsie self.assertEqual(self.ui.report['SourcePackage'], 'bash') self.assertTrue('Dependencies' in self.ui.report.keys()) self.assertTrue('ProcEnviron' in self.ui.report.keys()) self.assertEqual(self.ui.report['ProblemType'], 'Bug') # no upload happend self.assertEqual(self.ui.opened_url, None) self.assertEqual(self.ui.upload_progress_pulses, 0) self.assertEqual(self.ui.crashdb.latest_id(), latest_id_before) def test_get_desktop_entry(self): '''parsing of .desktop files''' desktop_file = tempfile.NamedTemporaryFile() desktop_file.write(b'''[Desktop Entry] Name=gtranslate GenericName=Translator GenericName[de]=\xc3\x9cbersetzer Exec=gedit %U Categories=GNOME;GTK;Utility;TextEditor; ''') desktop_file.flush() self.report['DesktopFile'] = desktop_file.name self.ui.report = self.report info = self.ui.get_desktop_entry() if sys.version_info.major == 2: exp_genericname = b'\xc3\x9cbersetzer' else: exp_genericname = b'\xc3\x9cbersetzer'.decode('UTF-8') self.assertEqual(info, {'genericname': 'Translator', 'categories': 'GNOME;GTK;Utility;TextEditor;', 'name': 'gtranslate', 'genericname[de]': exp_genericname, 'exec': 'gedit %U'}) def test_get_desktop_entry_broken(self): '''parsing of broken .desktop files''' # duplicate key desktop_file = tempfile.NamedTemporaryFile() desktop_file.write(b'''[Desktop Entry] Name=gtranslate GenericName=Translator GenericName[de]=\xc3\x9cbersetzer Exec=gedit %U Keywords=foo;bar; Categories=GNOME;GTK;Utility;TextEditor; Keywords=baz ''') desktop_file.flush() self.report['DesktopFile'] = desktop_file.name self.ui.report = self.report info = self.ui.get_desktop_entry() if sys.version_info.major == 2: exp_genericname = b'\xc3\x9cbersetzer' else: exp_genericname = b'\xc3\x9cbersetzer'.decode('UTF-8') self.assertEqual(info, {'genericname': 'Translator', 'categories': 'GNOME;GTK;Utility;TextEditor;', 'name': 'gtranslate', 'genericname[de]': exp_genericname, 'keywords': 'baz', 'exec': 'gedit %U'}) # no header desktop_file.seek(0) desktop_file.write('''Name=gtranslate GenericName=Translator Exec=gedit %U '''.encode('UTF-8')) desktop_file.flush() self.assertEqual(self.ui.get_desktop_entry(), None) # syntax error desktop_file.seek(0) desktop_file.write('''[Desktop Entry] Name gtranslate GenericName=Translator Exec=gedit %U '''.encode('UTF-8')) desktop_file.flush() self.assertEqual(self.ui.get_desktop_entry(), None) def test_wait_for_pid(self): # fork a test process pid = os.fork() if pid == 0: os.dup2(os.open('/dev/null', os.O_WRONLY), sys.stdout.fileno()) os.execv('/usr/bin/yes', ['yes']) assert False, 'Could not execute /usr/bin/yes' time.sleep(0.5) os.kill(pid, signal.SIGKILL) os.waitpid(pid, 0) self.ui.wait_for_pid(pid) unittest.main() ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/test/test_ui_gtk.py�������������������������������������������������������������������0000644�0000000�0000000�00000124476�12677230222�015122� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# coding: UTF-8 '''GTK Apport user interface tests.''' # Copyright (C) 2012 Canonical Ltd. # Author: Evan Dandrea <evan.dandrea@canonical.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import unittest import tempfile import sys import os import imp import apport import shutil import subprocess from gi.repository import GLib, Gtk from apport import unicode_gettext as _ from unittest.mock import patch import apport.crashdb_impl.memory GLib.log_set_always_fatal(GLib.LogLevelFlags.LEVEL_WARNING | GLib.LogLevelFlags.LEVEL_CRITICAL) if os.environ.get('APPORT_TEST_LOCAL'): apport_gtk_path = 'gtk/apport-gtk' kernel_oops_path = 'data/kernel_oops' else: apport_gtk_path = os.path.join(os.environ.get('APPORT_DATA_DIR', '/usr/share/apport'), 'apport-gtk') kernel_oops_path = os.path.join(os.environ.get('APPORT_DATA_DIR', '/usr/share/apport'), 'kernel_oops') GTKUserInterface = imp.load_source('', apport_gtk_path).GTKUserInterface class T(unittest.TestCase): @classmethod def setUpClass(klass): r = apport.Report() r.add_os_info() klass.distro = r['DistroRelease'].split()[0] def setUp(self): self.report_dir = tempfile.mkdtemp() apport.fileutils.report_dir = self.report_dir os.environ['APPORT_REPORT_DIR'] = self.report_dir # do not cause eternal hangs because of error dialog boxes os.environ['APPORT_DISABLE_DISTRO_CHECK'] = '1' saved = sys.argv[0] # Work around GTKUserInterface using basename to find the GtkBuilder UI # file. sys.argv[0] = apport_gtk_path self.app = GTKUserInterface() sys.argv[0] = saved # use in-memory crashdb self.app.crashdb = apport.crashdb_impl.memory.CrashDatabase(None, {}) # test report self.app.report_file = os.path.join(self.report_dir, 'bash.crash') self.app.report = apport.Report() self.app.report['ExecutablePath'] = '/bin/bash' self.app.report['Signal'] = '11' self.app.report['CoreDump'] = b'\x01\x02' self.app.report['DistroRelease'] = self.distro with open(self.app.report_file, 'wb') as f: self.app.report.write(f) # disable package hooks, as they might ask for sudo password and other # interactive bits; allow tests to install their own hooks self.hook_dir = tempfile.mkdtemp() apport.report._hook_dir = self.hook_dir apport.report._common_hook_dir = self.hook_dir def tearDown(self): shutil.rmtree(self.report_dir) shutil.rmtree(self.hook_dir) def test_close_button(self): '''Clicking the close button on the window does not report the crash.''' def c(*args): self.app.w('dialog_crash_new').destroy() self.app.w('send_error_report').set_active(True) GLib.idle_add(c) result = self.app.ui_present_report_details(True) self.assertFalse(result['report']) def test_kernel_crash_layout(self): ''' +-----------------------------------------------------------------+ | [ logo] YourDistro has experienced an internal error. | | | | [x] Send an error report to help fix this problem. | | | | [ Show Details ] [ Continue ] | +-----------------------------------------------------------------+ ''' self.app.report['ProblemType'] = 'KernelCrash' GLib.idle_add(Gtk.main_quit) self.app.ui_present_report_details(True) self.assertEqual(self.app.w('dialog_crash_new').get_title(), self.distro) self.assertEqual(self.app.w('title_label').get_text(), _('Sorry, %s has experienced an internal error.') % self.distro) send_error_report = self.app.w('send_error_report') self.assertTrue(send_error_report.get_property('visible')) self.assertTrue(send_error_report.get_active()) self.assertTrue(self.app.w('show_details').get_property('visible')) self.assertTrue(self.app.w('continue_button').get_property('visible')) self.assertEqual(self.app.w('continue_button').get_label(), _('Continue')) self.assertFalse(self.app.w('closed_button').get_property('visible')) self.assertFalse(self.app.w('subtitle_label').get_property('visible')) self.assertFalse(self.app.w('ignore_future_problems').get_property('visible')) def test_package_crash_layout(self): ''' +-----------------------------------------------------------------+ | [ error ] Sorry, a problem occurred while installing software. | | Package: apport 1.2.3~0ubuntu1 | | | | [x] Send an error report to help fix this problem. | | | | [ Show Details ] [ Continue ] | +-----------------------------------------------------------------+ ''' self.app.report['ProblemType'] = 'Package' self.app.report['Package'] = 'apport 1.2.3~0ubuntu1' GLib.idle_add(Gtk.main_quit) self.app.ui_present_report_details(True) self.assertEqual(self.app.w('dialog_crash_new').get_title(), self.distro) self.assertEqual(self.app.w('title_label').get_text(), _('Sorry, a problem occurred while installing software.')) send_error_report = self.app.w('send_error_report') self.assertTrue(send_error_report.get_property('visible')) self.assertTrue(send_error_report.get_active()) self.assertTrue(self.app.w('show_details').get_property('visible')) self.assertTrue(self.app.w('continue_button').get_property('visible')) self.assertEqual(self.app.w('continue_button').get_label(), _('Continue')) self.assertFalse(self.app.w('closed_button').get_property('visible')) self.assertTrue(self.app.w('subtitle_label').get_property('visible')) self.assertEqual(self.app.w('subtitle_label').get_text(), _('Package: apport 1.2.3~0ubuntu1')) def test_regular_crash_thread_layout(self): '''A thread of execution has failed, but the application persists.''' self.app.report['ProblemType'] = 'Crash' self.app.report['ProcStatus'] = 'Name:\tupstart\nPid:\t1' GLib.idle_add(Gtk.main_quit) self.app.ui_present_report_details(True) self.assertFalse(self.app.w('closed_button').get_property('visible')) self.assertEqual(self.app.w('continue_button').get_label(), _('Continue')) def test_regular_crash_layout(self): ''' +-----------------------------------------------------------------+ | [ apport ] The application Apport has closed unexpectedly. | | | | [x] Send an error report to help fix this problem. | | [ ] Ignore future problems of this program version. | | | | [ Show Details ] [ Continue ] | +-----------------------------------------------------------------+ ''' self.app.report['ProblemType'] = 'Crash' self.app.report['CrashCounter'] = '1' self.app.report['Package'] = 'apport 1.2.3~0ubuntu1' with tempfile.NamedTemporaryFile() as fp: fp.write(b'''[Desktop Entry] Version=1.0 Name=Apport Type=Application''') fp.flush() self.app.report['DesktopFile'] = fp.name GLib.idle_add(Gtk.main_quit) self.app.ui_present_report_details(True) self.assertEqual(self.app.w('dialog_crash_new').get_title(), self.distro) self.assertEqual(self.app.w('title_label').get_text(), _('The application Apport has closed unexpectedly.')) send_error_report = self.app.w('send_error_report') self.assertTrue(send_error_report.get_property('visible')) self.assertTrue(send_error_report.get_active()) self.assertTrue(self.app.w('show_details').get_property('visible')) # no ProcCmdline, cannot restart self.assertTrue(self.app.w('continue_button').get_property('visible')) self.assertEqual(self.app.w('continue_button').get_label(), _('Continue')) self.assertFalse(self.app.w('closed_button').get_property('visible')) self.assertFalse(self.app.w('subtitle_label').get_property('visible')) self.assertTrue(self.app.w('ignore_future_problems').get_property('visible')) self.assertTrue(self.app.w('ignore_future_problems').get_label().endswith( 'of this program version')) def test_regular_crash_layout_restart(self): ''' +-----------------------------------------------------------------+ | [ apport ] The application Apport has closed unexpectedly. | | | | [x] Send an error report to help fix this problem. | | [ ] Ignore future problems of this program version. | | | | [ Show Details ] [ Leave Closed ] [ Relaunch ] | +-----------------------------------------------------------------+ ''' self.app.report['ProblemType'] = 'Crash' self.app.report['CrashCounter'] = '1' self.app.report['ProcCmdline'] = 'apport-bug apport' self.app.report['Package'] = 'apport 1.2.3~0ubuntu1' with tempfile.NamedTemporaryFile() as fp: fp.write(b'''[Desktop Entry] Version=1.0 Name=Apport Type=Application''') fp.flush() self.app.report['DesktopFile'] = fp.name GLib.idle_add(Gtk.main_quit) self.app.ui_present_report_details(True) self.assertEqual(self.app.w('dialog_crash_new').get_title(), self.distro) self.assertEqual(self.app.w('title_label').get_text(), _('The application Apport has closed unexpectedly.')) send_error_report = self.app.w('send_error_report') self.assertTrue(send_error_report.get_property('visible')) self.assertTrue(send_error_report.get_active()) self.assertTrue(self.app.w('show_details').get_property('visible')) self.assertTrue(self.app.w('continue_button').get_property('visible')) self.assertEqual(self.app.w('continue_button').get_label(), _('Relaunch')) self.assertTrue(self.app.w('closed_button').get_property('visible')) self.assertFalse(self.app.w('subtitle_label').get_property('visible')) self.assertTrue(self.app.w('ignore_future_problems').get_property('visible')) self.assertTrue(self.app.w('ignore_future_problems').get_label().endswith( 'of this program version')) def test_hang_layout(self): ''' +-----------------------------------------------------------------+ | [ apport ] The application Apport has stopped responding. | | | | [x] Send an error report to help fix this problem. | | | | [ Show Details ] [ Force Closed ] [ Relaunch ] | +-----------------------------------------------------------------+ ''' self.app.report['ProblemType'] = 'Hang' self.app.report['ProcCmdline'] = 'apport-bug apport' self.app.report['Package'] = 'apport 1.2.3~0ubuntu1' with tempfile.NamedTemporaryFile() as fp: fp.write(b'''[Desktop Entry] Version=1.0 Name=Apport Type=Application''') fp.flush() self.app.report['DesktopFile'] = fp.name GLib.idle_add(Gtk.main_quit) self.app.ui_present_report_details(True) self.assertEqual(self.app.w('dialog_crash_new').get_title(), self.distro) self.assertEqual(self.app.w('title_label').get_text(), _('The application Apport has stopped responding.')) self.assertEqual(self.app.w('subtitle_label').get_text(), _('You can wait to see if it wakes up, or close or ' 'relaunch it.')) send_error_report = self.app.w('send_error_report') self.assertTrue(send_error_report.get_property('visible')) self.assertTrue(send_error_report.get_active()) self.assertTrue(self.app.w('show_details').get_property('visible')) self.assertTrue(self.app.w('continue_button').get_property('visible')) self.assertEqual(self.app.w('continue_button').get_label(), _('Relaunch')) self.assertTrue(self.app.w('closed_button').get_property('visible')) self.assertEqual(self.app.w('closed_button').get_label(), _('Force Closed')) self.assertTrue(self.app.w('subtitle_label').get_property('visible')) self.assertFalse(self.app.w('ignore_future_problems').get_property('visible')) def test_system_crash_layout(self): ''' +---------------------------------------------------------------+ | [ logo ] Sorry, YourDistro has experienced an internal error. | | If you notice further problems, try restarting the | | computer | | | | [x] Send an error report to help fix this problem. | | [ ] Ignore future problems of this type. | | | | [ Show Details ] [ Continue ] | +---------------------------------------------------------------+ ''' self.app.report['ProblemType'] = 'Crash' self.app.report['CrashCounter'] = '1' self.app.report['Package'] = 'bash 5' GLib.idle_add(Gtk.main_quit) self.app.ui_present_report_details(True) self.assertEqual(self.app.w('dialog_crash_new').get_title(), self.distro) self.assertEqual(self.app.w('title_label').get_text(), _('Sorry, %s has experienced an internal error.') % self.distro) self.assertEqual(self.app.w('subtitle_label').get_text(), _('If you notice further problems, try restarting the computer.')) self.assertTrue(self.app.w('subtitle_label').get_property('visible')) send_error_report = self.app.w('send_error_report') self.assertTrue(send_error_report.get_property('visible')) self.assertTrue(send_error_report.get_active()) self.assertTrue(self.app.w('show_details').get_property('visible')) self.assertTrue(self.app.w('continue_button').get_property('visible')) self.assertEqual(self.app.w('continue_button').get_label(), _('Continue')) self.assertFalse(self.app.w('closed_button').get_property('visible')) self.assertTrue(self.app.w('ignore_future_problems').get_property('visible')) self.assertTrue(self.app.w('ignore_future_problems').get_label().endswith( 'of this type')) def test_system_crash_from_console_layout(self): ''' +-------------------------------------------------------------------+ | [ ubuntu ] Sorry, the application apport has closed unexpectedly. | | If you notice further problems, try restarting the | | computer | | | | [x] Send an error report to help fix this problem. | | | | [ Show Details ] [ Continue ] | +-------------------------------------------------------------------+ ''' self.app.report['ProblemType'] = 'Crash' self.app.report['Package'] = 'bash 5' self.app.report['ProcEnviron'] = ('LANGUAGE=en_GB:en\n' 'SHELL=/bin/sh\n' 'TERM=xterm') self.app.report['ExecutablePath'] = '/usr/bin/apport' # This will be set by apport/ui.py in load_report() self.app.cur_package = 'apport' GLib.idle_add(Gtk.main_quit) self.app.ui_present_report_details(True) self.assertEqual(self.app.w('dialog_crash_new').get_title(), self.distro) self.assertEqual(self.app.w('title_label').get_text(), _('Sorry, the application apport has stopped unexpectedly.')) self.assertEqual(self.app.w('subtitle_label').get_text(), _('If you notice further problems, try restarting the computer.')) self.assertTrue(self.app.w('subtitle_label').get_property('visible')) send_error_report = self.app.w('send_error_report') self.assertTrue(send_error_report.get_property('visible')) self.assertTrue(send_error_report.get_active()) self.assertTrue(self.app.w('show_details').get_property('visible')) self.assertTrue(self.app.w('continue_button').get_property('visible')) self.assertEqual(self.app.w('continue_button').get_label(), _('Continue')) self.assertFalse(self.app.w('closed_button').get_property('visible')) del self.app.report['ExecutablePath'] GLib.idle_add(Gtk.main_quit) self.app.ui_present_report_details(True) self.assertEqual(self.app.w('title_label').get_text(), _('Sorry, apport has closed unexpectedly.')) # no crash counter self.assertFalse(self.app.w('ignore_future_problems').get_property('visible')) @patch.object(GTKUserInterface, 'can_examine_locally') def test_examine_button(self, *args): ''' +---------------------------------------------------------------------+ | [ apport ] The application Apport has closed unexpectedly. | | | | [x] Send an error report to help fix this problem. | | | | [ Show Details ] [ Examine locally ] [ Leave Closed ] [ Relaunch ] | +---------------------------------------------------------------------+ ''' self.app.report['ProblemType'] = 'Crash' self.app.report['Package'] = 'bash 5' GLib.idle_add(Gtk.main_quit) self.app.can_examine_locally.return_value = False self.app.ui_present_report_details(True) self.assertFalse(self.app.w('examine').get_property('visible')) GLib.idle_add(self.app.w('examine').clicked) self.app.can_examine_locally.return_value = True result = self.app.ui_present_report_details(True) self.assertTrue(self.app.w('examine').get_property('visible')) self.assertTrue(result['examine']) def test_apport_bug_package_layout(self): ''' +-------------------------------------------------------------------+ | [ error ] Send problem report to the developers? | | | | +----------------------------------------------------+ | | | |> ApportVersion | | | | ... | | | +----------------------------------------------------+ | | | | [ Cancel ] [ Send ] | +-------------------------------------------------------------------+ ''' self.app.report_file = None GLib.idle_add(Gtk.main_quit) self.app.ui_present_report_details(True) self.assertEqual(self.app.w('title_label').get_text(), _('Send problem report to the developers?')) self.assertFalse(self.app.w('subtitle_label').get_property('visible')) send_error_report = self.app.w('send_error_report') self.assertFalse(send_error_report.get_property('visible')) self.assertTrue(send_error_report.get_active()) self.assertFalse(self.app.w('show_details').get_property('visible')) self.assertTrue(self.app.w('continue_button').get_property('visible')) self.assertEqual(self.app.w('continue_button').get_label(), _('Send')) self.assertFalse(self.app.w('closed_button').get_property('visible')) self.assertTrue(self.app.w('cancel_button').get_property('visible')) self.assertTrue(self.app.w('details_scrolledwindow').get_property('visible')) self.assertTrue(self.app.w('dialog_crash_new').get_resizable()) def test_apport_bug_package_layout_load_file(self): '''bug layout from a loaded report''' self.app.report_file = '/tmp/foo.apport' self.app.report = apport.Report('Bug') self.app.report['Package'] = 'libfoo1' self.app.report['SourcePackage'] = 'foo' GLib.idle_add(Gtk.main_quit) self.app.ui_present_report_details(True) self.assertEqual(self.app.w('title_label').get_text(), _('Send problem report to the developers?')) self.assertFalse(self.app.w('subtitle_label').get_property('visible')) send_error_report = self.app.w('send_error_report') self.assertFalse(send_error_report.get_property('visible')) self.assertTrue(send_error_report.get_active()) self.assertFalse(self.app.w('show_details').get_property('visible')) self.assertTrue(self.app.w('continue_button').get_property('visible')) self.assertEqual(self.app.w('continue_button').get_label(), _('Send')) self.assertFalse(self.app.w('closed_button').get_property('visible')) self.assertTrue(self.app.w('cancel_button').get_property('visible')) self.assertTrue(self.app.w('details_scrolledwindow').get_property('visible')) self.assertTrue(self.app.w('dialog_crash_new').get_resizable()) def test_recoverable_crash_layout(self): ''' +-----------------------------------------------------------------+ | [ logo ] The application Foo has experienced an internal error. | | Developer-specified error text. | | | | [x] Send an error report to help fix this problem. | | | | [ Show Details ] [ Continue ] | +-----------------------------------------------------------------+ ''' self.app.report['ProblemType'] = 'RecoverableProblem' self.app.report['Package'] = 'apport 1.2.3~0ubuntu1' self.app.report['DialogBody'] = 'Some developer-specified error text.' with tempfile.NamedTemporaryFile() as fp: fp.write(b'''[Desktop Entry] Version=1.0 Name=Apport Type=Application''') fp.flush() self.app.report['DesktopFile'] = fp.name GLib.idle_add(Gtk.main_quit) self.app.ui_present_report_details(True) self.assertEqual(self.app.w('dialog_crash_new').get_title(), self.distro) msg = 'The application Apport has experienced an internal error.' self.assertEqual(self.app.w('title_label').get_text(), msg) msg = 'Some developer-specified error text.' self.assertEqual(self.app.w('subtitle_label').get_text(), msg) self.assertTrue(self.app.w('subtitle_label').get_property('visible')) send_error_report = self.app.w('send_error_report') self.assertTrue(send_error_report.get_property('visible')) self.assertTrue(send_error_report.get_active()) self.assertTrue(self.app.w('show_details').get_property('visible')) self.assertTrue(self.app.w('continue_button').get_property('visible')) self.assertEqual(self.app.w('continue_button').get_label(), _('Continue')) self.assertFalse(self.app.w('closed_button').get_property('visible')) def test_administrator_disabled_reporting(self): GLib.idle_add(Gtk.main_quit) self.app.ui_present_report_details(False) send_error_report = self.app.w('send_error_report') self.assertFalse(send_error_report.get_property('visible')) self.assertFalse(send_error_report.get_active()) @patch.object(GTKUserInterface, 'open_url') @patch.object(GTKUserInterface, 'ui_start_upload_progress') @patch.object(GTKUserInterface, 'ui_stop_upload_progress') def test_crash_nodetails(self, *args): '''Crash report without showing details''' self.visible_progress = None def cont(*args): if not self.app.w('continue_button').get_visible(): return True self.app.w('continue_button').clicked() GLib.timeout_add(200, check_progress) return False def check_progress(*args): self.visible_progress = self.app.w( 'window_information_collection').get_property('visible') return False GLib.timeout_add_seconds(1, cont) self.app.run_crash(self.app.report_file) # we should have reported one crash self.assertEqual(self.app.crashdb.latest_id(), 0) r = self.app.crashdb.download(0) self.assertEqual(r['ProblemType'], 'Crash') self.assertEqual(r['ExecutablePath'], '/bin/bash') # should show a progress bar for info collection self.assertEqual(self.visible_progress, True) # data was collected self.assertTrue(r['Package'].startswith('bash ')) self.assertTrue('libc' in r['Dependencies']) self.assertTrue('Stacktrace' in r) # upload dialog shown self.assertEqual(self.app.ui_start_upload_progress.call_count, 1) self.assertEqual(self.app.ui_stop_upload_progress.call_count, 1) # URL was opened self.assertEqual(self.app.open_url.call_count, 1) @patch.object(GTKUserInterface, 'open_url') @patch.object(GTKUserInterface, 'ui_start_upload_progress') @patch.object(GTKUserInterface, 'ui_stop_upload_progress') def test_crash_details(self, *args): '''Crash report with showing details''' self.visible_progress = None def show_details(*args): if not self.app.w('show_details').get_visible(): return True self.app.w('show_details').clicked() GLib.timeout_add(200, cont) return False def cont(*args): # wait until data collection is done and tree filled if self.app.tree_model.get_iter_first() is None: return True self.assertTrue(self.app.w('continue_button').get_visible()) self.app.w('continue_button').clicked() GLib.timeout_add(200, check_progress) return False def check_progress(*args): self.visible_progress = self.app.w( 'window_information_collection').get_property('visible') return False GLib.timeout_add(200, show_details) self.app.run_crash(self.app.report_file) # we should have reported one crash self.assertEqual(self.app.crashdb.latest_id(), 0) r = self.app.crashdb.download(0) self.assertEqual(r['ProblemType'], 'Crash') self.assertEqual(r['ExecutablePath'], '/bin/bash') # we already collected details, do not show the progress dialog again self.assertNotEqual(self.visible_progress, True) # data was collected self.assertTrue(r['Package'].startswith('bash ')) self.assertTrue('libc' in r['Dependencies']) self.assertTrue('Stacktrace' in r) # upload dialog shown self.assertEqual(self.app.ui_start_upload_progress.call_count, 1) self.assertEqual(self.app.ui_stop_upload_progress.call_count, 1) # URL was opened self.assertEqual(self.app.open_url.call_count, 1) @patch.object(GTKUserInterface, 'open_url') @patch.object(GTKUserInterface, 'ui_start_upload_progress') @patch.object(GTKUserInterface, 'ui_stop_upload_progress') def test_broken_crash_details(self, *args): '''Broken crash report with showing details''' self.error_title = None self.error_text = None def show_details(*args): if not self.app.w('show_details').get_visible(): return True self.app.w('show_details').clicked() GLib.timeout_add(200, cont) return False def cont(*args): # wait until data collection is done and tree filled if self.app.tree_model.get_iter_first() is None: return True self.assertTrue(self.app.w('continue_button').get_visible()) self.app.w('continue_button').clicked() GLib.timeout_add(100, ack_error) return False def ack_error(*args): # wait until error dialog gets visible if not self.app.md: return True self.error_title = self.app.md.get_title() self.error_text = self.app.md.get_property('text') self.app.md.response(0) return False # damage core dump in report file with open(self.app.report_file) as f: lines = f.readlines() lines[-1] = ' iiiiiiiiiiiiAAAA\n' with open(self.app.report_file, 'w') as f: f.write(''.join(lines)) self.app.report = None GLib.timeout_add(200, show_details) self.app.run_crash(self.app.report_file) # upload dialog not shown self.assertEqual(self.app.ui_start_upload_progress.call_count, 0) self.assertEqual(self.app.ui_stop_upload_progress.call_count, 0) # no URL was opened self.assertEqual(self.app.open_url.call_count, 0) # no crash uploaded self.assertEqual(self.app.crashdb.latest_id(), -1) # proper error message self.assertNotEqual(self.error_title, None) self.assertIn('cannot be reported', self.error_text) self.assertIn('decompressing', self.error_text) @patch.object(GTKUserInterface, 'open_url') def test_crash_noaccept(self, *args): '''Crash report with non-accepting crash DB''' self.visible_progress = None def cont(*args): if not self.app.w('continue_button').get_visible(): return True self.app.w('continue_button').clicked() GLib.timeout_add(200, check_progress) return False def check_progress(*args): self.visible_progress = self.app.w( 'window_information_collection').get_property('visible') return False GLib.timeout_add_seconds(1, cont) self.app.crashdb.options['problem_types'] = ['bug'] self.app.run_crash(self.app.report_file) # we should not have reported the crash self.assertEqual(self.app.crashdb.latest_id(), -1) self.assertEqual(self.app.open_url.call_count, 0) # no progress dialog for non-accepting DB self.assertNotEqual(self.visible_progress, True) # data was collected for whoopsie r = self.app.report self.assertEqual(r['ProblemType'], 'Crash') self.assertEqual(r['ExecutablePath'], '/bin/bash') self.assertTrue(r['Package'].startswith('bash ')) self.assertTrue('libc' in r['Dependencies']) self.assertTrue('Stacktrace' in r) @patch.object(GTKUserInterface, 'open_url') def test_kerneloops_nodetails(self, *args): '''Kernel oops report without showing details''' def cont(*args): if not self.app.w('continue_button').get_visible(): return True self.app.w('continue_button').clicked() return False # remove the crash from setUp() and create a kernel oops os.remove(self.app.report_file) kernel_oops = subprocess.Popen([kernel_oops_path], stdin=subprocess.PIPE) kernel_oops.communicate(b'Plasma conduit phase misalignment') self.assertEqual(kernel_oops.returncode, 0) GLib.timeout_add_seconds(1, cont) self.app.run_crashes() # we should have reported one crash self.assertEqual(self.app.crashdb.latest_id(), 0) r = self.app.crashdb.download(0) self.assertEqual(r['ProblemType'], 'KernelOops') self.assertEqual(r['OopsText'], 'Plasma conduit phase misalignment') # data was collected self.assertTrue('linux' in r['Package']) self.assertTrue('Dependencies' in r) self.assertTrue('Plasma conduit' in r['Title']) # URL was opened self.assertEqual(self.app.open_url.call_count, 1) def test_bug_report_installed_package(self): '''Bug report for installed package''' def c(*args): if not self.app.w('cancel_button').get_visible(): return True self.app.w('cancel_button').clicked() return False self.app.report_file = None self.app.options.package = 'bash' GLib.timeout_add_seconds(1, c) self.app.run_report_bug() self.assertEqual(self.app.report['ProblemType'], 'Bug') self.assertEqual(self.app.report['SourcePackage'], 'bash') self.assertTrue(self.app.report['Package'].startswith('bash ')) self.assertNotEqual(self.app.report['Dependencies'], '') def test_bug_report_uninstalled_package(self): '''Bug report for uninstalled package''' def c(*args): if not self.app.w('cancel_button').get_visible(): return True self.app.w('cancel_button').clicked() return False pkg = apport.packaging.get_uninstalled_package() self.app.report_file = None self.app.options.package = pkg GLib.timeout_add_seconds(1, c) self.app.run_report_bug() self.assertEqual(self.app.report['ProblemType'], 'Bug') self.assertEqual(self.app.report['SourcePackage'], apport.packaging.get_source(pkg)) self.assertEqual(self.app.report['Package'], '%s (not installed)' % pkg) @patch.object(GTKUserInterface, 'open_url') def test_update_report(self, *args): '''Updating an existing report''' self.app.report_file = None def cont(*args): if self.app.tree_model.get_iter_first() is None: return True self.app.w('continue_button').clicked() return False # upload empty report id = self.app.crashdb.upload({}) self.assertEqual(id, 0) self.app.options.update_report = 0 self.app.options.package = 'bash' GLib.timeout_add(200, cont) self.app.run_update_report() # no new bug reported self.assertEqual(self.app.crashdb.latest_id(), 0) # bug was updated r = self.app.crashdb.download(0) self.assertTrue(r['Package'].startswith('bash ')) self.assertTrue('libc' in r['Dependencies']) self.assertTrue('DistroRelease' in r) # No URL in this mode self.assertEqual(self.app.open_url.call_count, 0) @patch.object(GTKUserInterface, 'open_url') def test_update_report_different_binary_source(self, *args): '''Updating an existing report on a source package which does not have a binary of the same name''' self.app.report_file = None def cont(*args): if self.app.tree_model.get_iter_first() is None: return True self.app.w('continue_button').clicked() return False kernel_pkg = apport.packaging.get_kernel_package() kernel_src = apport.packaging.get_source(kernel_pkg) self.assertNotEqual(kernel_pkg, kernel_src, 'this test assumes that the kernel binary package != kernel source package') self.assertNotEqual(apport.packaging.get_version(kernel_pkg), '', 'this test assumes that the kernel binary package %s is installed' % kernel_pkg) # this test assumes that the kernel source package name is not an # installed binary package self.assertRaises(ValueError, apport.packaging.get_version, kernel_src) # create source package hook, as otherwise there is nothing to collect with open(os.path.join(self.hook_dir, 'source_%s.py' % kernel_src), 'w') as f: f.write('def add_info(r, ui):\n r["MachineType"]="Laptop"\n') # upload empty report id = self.app.crashdb.upload({}) self.assertEqual(id, 0) # run in update mode for that bug self.app.options.update_report = 0 self.app.options.package = kernel_src GLib.timeout_add(200, cont) self.app.run_update_report() # no new bug reported self.assertEqual(self.app.crashdb.latest_id(), 0) # bug was updated r = self.app.crashdb.download(0) self.assertTrue('ProcEnviron' in r) self.assertTrue('DistroRelease' in r) self.assertTrue('Uname' in r) self.assertEqual(r['MachineType'], 'Laptop') # No URL in this mode self.assertEqual(self.app.open_url.call_count, 0) @patch.object(GTKUserInterface, 'get_desktop_entry') def test_missing_icon(self, *args): # LP: 937354 self.app.report['ProblemType'] = 'Crash' self.app.report['Package'] = 'apport 1.2.3~0ubuntu1' self.app.get_desktop_entry.return_value = {'name': 'apport', 'icon': 'nonexistent'} GLib.idle_add(Gtk.main_quit) self.app.ui_present_report_details(True) def test_resizing(self): '''Problem report window resizability and sizing.''' def show_details(data): if not self.app.w('show_details').get_visible(): return True data['orig_size'] = self.app.w('dialog_crash_new').get_size() data['orig_resizable'] = self.app.w('dialog_crash_new').get_resizable() self.app.w('show_details').clicked() GLib.timeout_add(200, hide_details, data) return False def hide_details(data): # wait until data collection is done and tree filled if self.app.tree_model.get_iter_first() is None: return True data['detail_size'] = self.app.w('dialog_crash_new').get_size() data['detail_resizable'] = self.app.w('dialog_crash_new').get_resizable() self.app.w('show_details').clicked() GLib.timeout_add(200, details_hidden, data) return False def details_hidden(data): # wait until data collection is done and tree filled if self.app.w('details_scrolledwindow').get_visible(): return True data['hidden_size'] = self.app.w('dialog_crash_new').get_size() data['hidden_resizable'] = self.app.w('dialog_crash_new').get_resizable() Gtk.main_quit() data = {} GLib.timeout_add(200, show_details, data) self.app.run_crash(self.app.report_file) # when showing details, dialog should get considerably bigger self.assertGreater(data['detail_size'][1], data['orig_size'][1] + 100) # when hiding details, original size should be restored self.assertEqual(data['orig_size'], data['hidden_size']) # should only be resizable in details mode self.assertFalse(data['orig_resizable']) self.assertTrue(data['detail_resizable']) self.assertFalse(data['hidden_resizable']) def test_dialog_nonascii(self): '''Non-ASCII title/text in dialogs''' def close(response): if not self.app.md: return True self.app.md.response(response) return False # unicode arguments GLib.timeout_add(200, close, 0) self.app.ui_info_message(b'title \xe2\x99\xaa'.decode('UTF-8'), b'text \xe2\x99\xaa'.decode('UTF-8')) # byte array arguments (in Python 2) if sys.version < '3': GLib.timeout_add(200, close, 0) self.app.ui_info_message(b'title \xe2\x99\xaa', b'text \xe2\x99\xaa') # with URLs GLib.timeout_add(200, close, 0) self.app.ui_info_message('title', b'http://example.com \xe2\x99\xaa'.decode('UTF-8')) if sys.version < '3': GLib.timeout_add(200, close, 0) self.app.ui_info_message('title', b'http://example.com \xe2\x99\xaa') def test_immediate_close(self): '''Close details window immediately''' # this reproduces https://launchpad.net/bugs/938090 self.app.w('dialog_crash_new').destroy() GLib.idle_add(Gtk.main_quit) self.app.run_crash(self.app.report_file) @patch.object(GTKUserInterface, 'ui_start_upload_progress') def test_close_during_collect(self, *args): '''Close details window during information collection''' def show_details(*args): if not self.app.w('show_details').get_visible(): return True self.app.w('show_details').clicked() GLib.timeout_add(200, close) return False def close(*args): self.app.w('dialog_crash_new').destroy() return False GLib.timeout_add(200, show_details) self.app.run_crash(self.app.report_file) self.assertEqual(self.app.ui_start_upload_progress.call_count, 0) unittest.main() ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/test/test_ui_kde.py�������������������������������������������������������������������0000644�0000000�0000000�00000064450�12677230222�015073� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'''Qt 5 Apport User Interface tests''' # Copyright (C) 2015 Harald Sitter <sitter@kde.org> # Copyright (C) 2012 Canonical Ltd. # Author: Evan Dandrea <evan.dandrea@canonical.com> # # 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. See http://www.gnu.org/copyleft/gpl.html for # the full text of the license. import imp import unittest import tempfile import sys import os import shutil from unittest.mock import patch try: from PyQt5.QtCore import QTimer, QCoreApplication from PyQt5.QtWidgets import QApplication, QTreeWidget from PyQt5.QtGui import QIcon except ImportError as e: sys.stderr.write('SKIP: PyQt/PyKDE not available: %s\n' % str(e)) sys.exit(0) import apport from apport import unicode_gettext as _ import apport.crashdb_impl.memory if os.environ.get('APPORT_TEST_LOCAL'): apport_kde_path = 'kde/apport-kde' else: apport_kde_path = os.path.join(os.environ.get('APPORT_DATA_DIR', '/usr/share/apport'), 'apport-kde') MainUserInterface = imp.load_source('', apport_kde_path).MainUserInterface # Work around MainUserInterface using basename to find the KDE UI file. sys.argv[0] = apport_kde_path class T(unittest.TestCase): @classmethod def setUpClass(klass): r = apport.Report() r.add_os_info() klass.distro = r['DistroRelease'] def setUp(self): self.report_dir = tempfile.mkdtemp() apport.fileutils.report_dir = self.report_dir os.environ['APPORT_REPORT_DIR'] = self.report_dir # do not cause eternal hangs because of error dialog boxes os.environ['APPORT_DISABLE_DISTRO_CHECK'] = '1' self.app = MainUserInterface() # use in-memory crashdb self.app.crashdb = apport.crashdb_impl.memory.CrashDatabase(None, {}) # disable package hooks, as they might ask for sudo password and other # interactive bits; allow tests to install their own hooks self.hook_dir = tempfile.mkdtemp() apport.report._hook_dir = self.hook_dir apport.report._common_hook_dir = self.hook_dir # test report self.app.report_file = os.path.join(self.report_dir, 'bash.crash') self.app.report = apport.Report() self.app.report['ExecutablePath'] = '/bin/bash' self.app.report['Signal'] = '11' self.app.report['CoreDump'] = b'\x01\x02' with open(self.app.report_file, 'wb') as f: self.app.report.write(f) def tearDown(self): if self.app.dialog: QCoreApplication.processEvents() self.app.dialog.done(0) QCoreApplication.processEvents() shutil.rmtree(self.report_dir) shutil.rmtree(self.hook_dir) def test_close_button(self): '''Clicking the close button on the window does not report the crash.''' def c(*args): self.app.dialog.reject() QTimer.singleShot(0, c) result = self.app.ui_present_report_details(True) self.assertFalse(result['report']) def test_kernel_crash_layout(self): ''' +-----------------------------------------------------------------+ | [ logo ] YourDistro has experienced an internal error. | | | | [x] Send an error report to help fix this problem. | | | | [ Show Details ] [ Continue ] | +-----------------------------------------------------------------+ ''' self.app.report['ProblemType'] = 'KernelCrash' QTimer.singleShot(0, QCoreApplication.quit) self.app.ui_present_report_details(True) self.assertEqual(self.app.dialog.windowTitle(), self.distro.split()[0]) self.assertEqual(self.app.dialog.heading.text(), _('Sorry, %s has experienced an internal error.') % self.distro) self.assertTrue(self.app.dialog.send_error_report.isVisible()) self.assertTrue(self.app.dialog.send_error_report.isChecked()) self.assertTrue(self.app.dialog.details.isVisible()) self.assertTrue(self.app.dialog.continue_button.isVisible()) self.assertEqual(self.app.dialog.continue_button.text(), _('Continue')) self.assertFalse(self.app.dialog.closed_button.isVisible()) self.assertFalse(self.app.dialog.text.isVisible()) def test_package_crash_layout(self): ''' +-----------------------------------------------------------------+ | [ error ] Sorry, a problem occurred while installing software. | | Package: apport 1.2.3~0ubuntu1 | | | | [x] Send an error report to help fix this problem. | | | | [ Show Details ] [ Continue ] | +-----------------------------------------------------------------+ ''' self.app.report['ProblemType'] = 'Package' self.app.report['Package'] = 'apport 1.2.3~0ubuntu1' QTimer.singleShot(0, QCoreApplication.quit) self.app.ui_present_report_details(True) self.assertEqual(self.app.dialog.windowTitle(), self.distro.split()[0]) self.assertEqual(self.app.dialog.heading.text(), _('Sorry, a problem occurred while installing software.')) self.assertTrue(self.app.dialog.send_error_report.isVisible()) self.assertTrue(self.app.dialog.send_error_report.isChecked()) self.assertTrue(self.app.dialog.details.isVisible()) self.assertTrue(self.app.dialog.continue_button.isVisible()) self.assertEqual(self.app.dialog.continue_button.text(), _('Continue')) self.assertFalse(self.app.dialog.closed_button.isVisible()) self.assertEqual(self.app.dialog.text.text(), _('Package: apport 1.2.3~0ubuntu1')) def test_regular_crash_thread_layout(self): '''A thread of execution has failed, but the application persists.''' self.app.report['ProblemType'] = 'Crash' self.app.report['ProcStatus'] = 'Name:\tupstart\nPid:\t1' QTimer.singleShot(0, QCoreApplication.quit) self.app.ui_present_report_details(True) self.assertFalse(self.app.dialog.closed_button.isVisible()) self.assertEqual(self.app.dialog.continue_button.text(), _('Continue')) def test_regular_crash_layout(self): ''' +-----------------------------------------------------------------+ | [ apport ] The application Apport has closed unexpectedly. | | | | [x] Send an error report to help fix this problem. | | [ ] Ignore future problems of this program version. | | | | [ Show Details ] [ Continue ] | +-----------------------------------------------------------------+ ''' self.app.report['ProblemType'] = 'Crash' self.app.report['CrashCounter'] = '1' self.app.report['Package'] = 'apport 1.2.3~0ubuntu1' with tempfile.NamedTemporaryFile() as fp: fp.write(b'''[Desktop Entry] Version=1.0 Name=Apport Type=Application''') fp.flush() self.app.report['DesktopFile'] = fp.name QTimer.singleShot(0, QCoreApplication.quit) self.app.ui_present_report_details(True) self.assertEqual(self.app.dialog.windowTitle(), self.distro.split()[0]) self.assertEqual(self.app.dialog.heading.text(), _('The application Apport has closed unexpectedly.')) self.assertTrue(self.app.dialog.send_error_report.isVisible()) self.assertTrue(self.app.dialog.send_error_report.isChecked()) self.assertTrue(self.app.dialog.details.isVisible()) # no ProcCmdline, cannot restart self.assertTrue(self.app.dialog.continue_button.isVisible()) self.assertEqual(self.app.dialog.continue_button.text(), _('Continue')) self.assertFalse(self.app.dialog.closed_button.isVisible()) self.assertFalse(self.app.dialog.text.isVisible()) self.assertFalse(self.app.dialog.text.isVisible()) self.assertTrue(self.app.dialog.ignore_future_problems.isVisible()) self.assertTrue(str(self.app.dialog.ignore_future_problems.text()).endswith( 'of this program version')) def test_regular_crash_layout_restart(self): ''' +-----------------------------------------------------------------+ | [ apport ] The application Apport has closed unexpectedly. | | | | [x] Send an error report to help fix this problem. | | [ ] Ignore future problems of this program version. | | | | [ Show Details ] [ Leave Closed ] [ Relaunch ] | +-----------------------------------------------------------------+ ''' self.app.report['ProblemType'] = 'Crash' self.app.report['CrashCounter'] = '1' self.app.report['ProcCmdline'] = 'apport-bug apport' self.app.report['Package'] = 'apport 1.2.3~0ubuntu1' with tempfile.NamedTemporaryFile() as fp: fp.write(b'''[Desktop Entry] Version=1.0 Name=Apport Type=Application''') fp.flush() self.app.report['DesktopFile'] = fp.name QTimer.singleShot(0, QCoreApplication.quit) self.app.ui_present_report_details(True) self.assertEqual(self.app.dialog.windowTitle(), self.distro.split()[0]) self.assertEqual(self.app.dialog.heading.text(), _('The application Apport has closed unexpectedly.')) self.assertTrue(self.app.dialog.send_error_report.isVisible()) self.assertTrue(self.app.dialog.send_error_report.isChecked()) self.assertTrue(self.app.dialog.details.isVisible()) self.assertTrue(self.app.dialog.continue_button.isVisible()) self.assertEqual(self.app.dialog.continue_button.text(), _('Relaunch')) self.assertTrue(self.app.dialog.closed_button.isVisible()) self.assertFalse(self.app.dialog.text.isVisible()) self.assertFalse(self.app.dialog.text.isVisible()) self.assertTrue(self.app.dialog.ignore_future_problems.isVisible()) self.assertTrue(str(self.app.dialog.ignore_future_problems.text()).endswith( 'of this program version')) def test_system_crash_layout(self): ''' +-----------------------------------------------------------------+ | [ logo ] Sorry, YourDistro has experienced an internal error. | | If you notice further problems, try restarting the | | computer | | | | [x] Send an error report to help fix this problem. | | [ ] Ignore future problems of this type. | | | | [ Show Details ] [ Continue ] | +-----------------------------------------------------------------+ ''' self.app.report['ProblemType'] = 'Crash' self.app.report['CrashCounter'] = '1' self.app.report['Package'] = 'apport 1.2.3~0ubuntu1' QTimer.singleShot(0, QCoreApplication.quit) self.app.ui_present_report_details(True) self.assertEqual(self.app.dialog.windowTitle(), self.distro.split()[0]) self.assertEqual(self.app.dialog.heading.text(), _('Sorry, %s has experienced an internal error.') % self.distro) self.assertEqual(self.app.dialog.text.text(), _('If you notice further problems, try restarting the computer.')) self.assertTrue(self.app.dialog.text.isVisible()) self.assertTrue(self.app.dialog.send_error_report.isVisible()) self.assertTrue(self.app.dialog.send_error_report.isChecked()) self.assertTrue(self.app.dialog.details.isVisible()) self.assertTrue(self.app.dialog.continue_button.isVisible()) self.assertEqual(self.app.dialog.continue_button.text(), _('Continue')) self.assertFalse(self.app.dialog.closed_button.isVisible()) self.assertTrue(self.app.dialog.ignore_future_problems.isVisible()) self.assertTrue(str(self.app.dialog.ignore_future_problems.text()).endswith( 'of this type')) def test_apport_bug_package_layout(self): ''' +-------------------------------------------------------------------+ | [ error ] Send problem report to the developers? | | | | +----------------------------------------------------+ | | | |> ApportVersion | | | | ... | | | +----------------------------------------------------+ | | | | [ Cancel ] [ Send ] | +-------------------------------------------------------------------+ ''' self.app.report_file = None QTimer.singleShot(0, QCoreApplication.quit) self.app.ui_present_report_details(True) self.assertEqual(self.app.dialog.windowTitle(), self.distro.split()[0]) self.assertEqual(self.app.dialog.heading.text(), _('Send problem report to the developers?')) self.assertFalse(self.app.dialog.text.isVisible()) self.assertFalse(self.app.dialog.send_error_report.isVisible()) self.assertTrue(self.app.dialog.send_error_report.isChecked()) self.assertFalse(self.app.dialog.details.isVisible()) self.assertTrue(self.app.dialog.continue_button.isVisible()) self.assertEqual(self.app.dialog.continue_button.text(), _('Send')) self.assertFalse(self.app.dialog.closed_button.isVisible()) self.assertTrue(self.app.dialog.cancel_button.isVisible()) self.assertTrue(self.app.dialog.treeview.isVisible()) def test_recoverable_crash_layout(self): ''' +-----------------------------------------------------------------+ | [ logo ] The application Foo has experienced an internal error. | | Developer-specified error text. | | | | [x] Send an error report to help fix this problem. | | | | [ Show Details ] [ Continue ] | +-----------------------------------------------------------------+ ''' self.app.report['ProblemType'] = 'RecoverableProblem' self.app.report['Package'] = 'apport 1.2.3~0ubuntu1' self.app.report['DialogBody'] = 'Some developer-specified error text.' with tempfile.NamedTemporaryFile() as fp: fp.write(b'''[Desktop Entry] Version=1.0 Name=Apport Type=Application''') fp.flush() self.app.report['DesktopFile'] = fp.name QTimer.singleShot(0, QCoreApplication.quit) self.app.ui_present_report_details(True) self.assertEqual(self.app.dialog.windowTitle(), self.distro.split()[0]) msg = 'The application Apport has experienced an internal error.' self.assertEqual(self.app.dialog.heading.text(), msg) msg = 'Some developer-specified error text.' self.assertEqual(self.app.dialog.text.text(), msg) self.assertTrue(self.app.dialog.text.isVisible()) self.assertTrue(self.app.dialog.send_error_report.isVisible()) self.assertTrue(self.app.dialog.send_error_report.isChecked()) self.assertTrue(self.app.dialog.details.isVisible()) self.assertTrue(self.app.dialog.continue_button.isVisible()) self.assertEqual(self.app.dialog.continue_button.text(), _('Continue')) self.assertFalse(self.app.dialog.closed_button.isVisible()) @patch.object(MainUserInterface, 'open_url') def test_1_crash_nodetails(self, *args): '''Crash report without showing details''' self.visible_progress = None def cont(*args): if self.app.dialog and self.app.dialog.continue_button.isVisible(): self.app.dialog.continue_button.click() QTimer.singleShot(200, check_progress) return # try again QTimer.singleShot(1000, cont) def check_progress(*args): self.visible_progress = (self.app.progress is not None) QTimer.singleShot(1000, cont) self.app.run_crash(self.app.report_file) # we should have reported one crash self.assertEqual(self.app.crashdb.latest_id(), 0) r = self.app.crashdb.download(0) self.assertEqual(r['ProblemType'], 'Crash') self.assertEqual(r['ExecutablePath'], '/bin/bash') # should show a progress bar for info collection self.assertEqual(self.visible_progress, True) # data was collected self.assertTrue(r['Package'].startswith('bash ')) self.assertTrue('libc' in r['Dependencies']) self.assertTrue('Stacktrace' in r) # URL was opened self.assertEqual(self.app.open_url.call_count, 1) @patch.object(MainUserInterface, 'open_url') def test_1_crash_details(self, *args): '''Crash report with showing details''' self.visible_progress = None def show_details(*args): if self.app.dialog and self.app.dialog.show_details.isVisible(): self.app.dialog.show_details.click() QTimer.singleShot(1000, cont) return # try again QTimer.singleShot(200, show_details) def cont(*args): # wait until data collection is done and tree filled details = self.app.dialog.findChild(QTreeWidget, 'details') if details.topLevelItemCount() == 0: QTimer.singleShot(200, cont) return if self.app.dialog and self.app.dialog.continue_button.isVisible(): self.app.dialog.continue_button.click() QTimer.singleShot(200, check_progress) return # try again QTimer.singleShot(200, cont) def check_progress(*args): self.visible_progress = (self.app.progress is not None) QTimer.singleShot(200, show_details) self.app.run_crash(self.app.report_file) # we should have reported one crash self.assertEqual(self.app.crashdb.latest_id(), 0) r = self.app.crashdb.download(0) self.assertEqual(r['ProblemType'], 'Crash') self.assertEqual(r['ExecutablePath'], '/bin/bash') # we already collected details, do not show the progress dialog again self.assertFalse(self.visible_progress) # data was collected self.assertTrue(r['Package'].startswith('bash ')) self.assertTrue('libc' in r['Dependencies']) self.assertTrue('Stacktrace' in r) # URL was opened self.assertEqual(self.app.open_url.call_count, 1) @patch.object(MainUserInterface, 'open_url') def test_1_crash_noaccept(self, *args): '''Crash report with non-accepting crash DB''' self.visible_progress = None def cont(*args): if self.app.dialog and self.app.dialog.continue_button.isVisible(): self.app.dialog.continue_button.click() QTimer.singleShot(200, check_progress) return # try again QTimer.singleShot(1000, cont) def check_progress(*args): self.visible_progress = (self.app.progress is not None) QTimer.singleShot(1000, cont) self.app.crashdb.options['problem_types'] = ['bug'] self.app.run_crash(self.app.report_file) # we should not have reported the crash self.assertEqual(self.app.crashdb.latest_id(), -1) self.assertEqual(self.app.open_url.call_count, 0) # no progress dialog for non-accepting DB self.assertNotEqual(self.visible_progress, True) # data was collected for whoopsie r = self.app.report self.assertEqual(r['ProblemType'], 'Crash') self.assertEqual(r['ExecutablePath'], '/bin/bash') self.assertTrue(r['Package'].startswith('bash ')) self.assertTrue('libc' in r['Dependencies']) self.assertTrue('Stacktrace' in r) def test_bug_report_installed_package(self): '''Bug report for installed package''' self.app.report_file = None self.app.options.package = 'bash' def c(*args): if self.app.dialog and self.app.dialog.cancel_button.isVisible(): self.app.dialog.cancel_button.click() return # try again QTimer.singleShot(1000, c) QTimer.singleShot(1000, c) self.app.run_report_bug() self.assertEqual(self.app.report['ProblemType'], 'Bug') self.assertEqual(self.app.report['SourcePackage'], 'bash') self.assertTrue(self.app.report['Package'].startswith('bash ')) self.assertNotEqual(self.app.report['Dependencies'], '') def test_bug_report_uninstalled_package(self): '''Bug report for uninstalled package''' pkg = apport.packaging.get_uninstalled_package() self.app.report_file = None self.app.options.package = pkg def c(*args): if self.app.dialog and self.app.dialog.cancel_button.isVisible(): self.app.dialog.cancel_button.click() return # try again QTimer.singleShot(1000, c) QTimer.singleShot(1000, c) self.app.run_report_bug() self.assertEqual(self.app.report['ProblemType'], 'Bug') self.assertEqual(self.app.report['SourcePackage'], apport.packaging.get_source(pkg)) self.assertEqual(self.app.report['Package'], '%s (not installed)' % pkg) @patch.object(MainUserInterface, 'open_url') def test_1_update_report(self, *args): '''Updating an existing report''' self.app.report_file = None def cont(*args): if self.app.dialog and self.app.dialog.continue_button.isVisible(): self.app.dialog.continue_button.click() return # try again QTimer.singleShot(200, cont) # upload empty report id = self.app.crashdb.upload({}) self.assertEqual(id, 0) self.app.options.update_report = 0 self.app.options.package = 'bash' QTimer.singleShot(200, cont) self.app.run_update_report() # no new bug reported self.assertEqual(self.app.crashdb.latest_id(), 0) # bug was updated r = self.app.crashdb.download(0) self.assertTrue(r['Package'].startswith('bash ')) self.assertTrue('libc' in r['Dependencies']) self.assertTrue('DistroRelease' in r) # No URL in this mode self.assertEqual(self.app.open_url.call_count, 0) @patch.object(MainUserInterface, 'open_url') def test_1_update_report_different_binary_source(self, *args): '''Updating an existing report on a source package which does not have a binary of the same name''' self.app.report_file = None def cont(*args): if self.app.dialog and self.app.dialog.continue_button.isVisible(): self.app.dialog.continue_button.click() return # try again QTimer.singleShot(200, cont) kernel_pkg = apport.packaging.get_kernel_package() kernel_src = apport.packaging.get_source(kernel_pkg) self.assertNotEqual(kernel_pkg, kernel_src, 'this test assumes that the kernel binary package != kernel source package') self.assertNotEqual(apport.packaging.get_version(kernel_pkg), '', 'this test assumes that the kernel binary package %s is installed' % kernel_pkg) # this test assumes that the kernel source package name is not an # installed binary package self.assertRaises(ValueError, apport.packaging.get_version, kernel_src) # create source package hook, as otherwise there is nothing to collect with open(os.path.join(self.hook_dir, 'source_%s.py' % kernel_src), 'w') as f: f.write('def add_info(r, ui):\n r["MachineType"]="Laptop"\n') # upload empty report id = self.app.crashdb.upload({}) self.assertEqual(id, 0) # run in update mode for that bug self.app.options.update_report = 0 self.app.options.package = kernel_src QTimer.singleShot(200, cont) self.app.run_update_report() # no new bug reported self.assertEqual(self.app.crashdb.latest_id(), 0) # bug was updated r = self.app.crashdb.download(0) self.assertTrue('ProcEnviron' in r) self.assertTrue('DistroRelease' in r) self.assertTrue('Uname' in r) self.assertEqual(r['MachineType'], 'Laptop') # No URL in this mode self.assertEqual(self.app.open_url.call_count, 0) def test_administrator_disabled_reporting(self): QTimer.singleShot(0, QCoreApplication.quit) self.app.ui_present_report_details(False) self.assertFalse(self.app.dialog.send_error_report.isVisible()) self.assertFalse(self.app.dialog.send_error_report.isChecked()) app = QApplication(sys.argv) app.applicationName = 'apport-kde' app.applicationDisplayName = _('Apport') app.windowIcon = QIcon.fromTheme('apport') unittest.main() ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/test/data/testclick/������������������������������������������������������������������0000755�0000000�0000000�00000000000�12677230222�015107� 5����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/test/data/testclick_0.1_all.click�����������������������������������������������������0000644�0000000�0000000�00000001744�12677230222�017332� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������!<arch> debian-binary 1412944817 0 0 100644 4 ` 2.0 _click-binary 1412944817 0 0 100644 4 ` 0.4 control.tar.gz 1412944817 0 0 100644 546 ` 7Tcontrol.tar�n09SzȥblU{!R{ٵ�Cmv[k $ݴ|2xf@0qNX0n3SBWd"GIN@o,�^ôCE!\vZHeeԃt^Zo[גW1^0аZ𗰺R nF ] OForp6V >ߥ{_o3?]'Ό?Y>ET8QZ^\Jˌ5sn5s)Yc6�O{?)#(5kķVWAA$ t񥩃W XC d65L*{^O/!o7srb a6Xiº 73{}V ~QH֪'蟷~?ɽ?Pjjsk<)'&,nM;ͷҺ @]+^9<F}vU$w;p-;;>jGQ#     c ;,�(��data.tar.gz 1412944817 0 0 100644 193 ` 7Tdata.tar�ұ0<E.&AB aЄ'4&r-wӉvɼNoS8g6ƸRH+`bK)ާs"WǥvB}ʿN uۍ^o]:؆̲:86ndbNW3�������������~ �(�� ����������������������������apport-2.20.1/test/data/testclick/CMakeLists.txt����������������������������������������������������0000644�0000000�0000000�00000000471�12677230222�017651� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������project(com.example.testclick) cmake_minimum_required(VERSION 2.8.9) # Standard install paths include(GNUInstallDirs) set(CMAKE_INSTALL_PREFIX /) set(CMAKE_INSTALL_BINDIR /) set(DATA_DIR /) install(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/bin/pycrash DESTINATION ${CMAKE_INSTALL_BINDIR}) add_subdirectory(click) �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/test/data/testclick/bin/��������������������������������������������������������������0000755�0000000�0000000�00000000000�12677230222�015657� 5����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/test/data/testclick/click/������������������������������������������������������������0000755�0000000�0000000�00000000000�12677230222�016174� 5����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/test/data/testclick/bin/pycrash�������������������������������������������������������0000755�0000000�0000000�00000000070�12677230222�017253� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/python3 def do_stuff(): 1/0 do_stuff() ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/test/data/testclick/click/CMakeLists.txt����������������������������������������������0000644�0000000�0000000�00000000254�12677230222�020735� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������configure_file(manifest.json.in ${CMAKE_CURRENT_BINARY_DIR}/manifest.json) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/manifest.json DESTINATION ${CMAKE_INSTALL_PREFIX}) ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/test/data/testclick/click/manifest.json.in��������������������������������������������0000644�0000000�0000000�00000000273�12677230222�021304� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{ "name": "testclick", "title": "apport test click app", "framework": "ubuntu-sdk-14.04-qml", "maintainer": "Martin Pitt <martin.pitt@ubuntu.com>", "version": "0.1" } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/udev/50-apport.rules������������������������������������������������������������������0000644�0000000�0000000�00000000245�12677230222�015001� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# firmware dumps from iwlmvm iwlwifi driver DRIVER=="iwlwifi", ACTION=="change", ENV{EVENT}=="error_dump", RUN+="/usr/share/apport/iwlwifi_error_dump $env{DEVPATH}" �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������apport-2.20.1/xdg-mime/apport.xml�������������������������������������������������������������������0000644�0000000�0000000�00000000636�12677230222�014775� 0����������������������������������������������������������������������������������������������������ustar �����������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'> <mime-type type="text/x-apport"> <sub-class-of type="text/plain"/> <comment>Apport crash file</comment> <glob pattern="*.crash"/> <magic priority="20"> <match value="ProblemType: " type="string" offset="0"/> </magic> </mime-type> </mime-info> ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������